Doubling pwm output voltage.

I understand the pwm output on the arduinos is 0-5V. Is there a way i could make this voltage go from 0-10V?

Would a king of voltage doubler circuit work on the end of the output. Similar to a voltage divider, but a multiplier instead???


See if this playground article is what you’re after:

I was looking at keeping things something simple. So would something like this work:

this voltage doubler would work for something that is on or off for long periods of time, cause it takes some time for the caps to charge. Therefore you will never get a full resolution pwm to work with this circuit.

You are better off working with active components like transistors or op amps? but you need a source of 10+V. Do you have that source available?

Getting the +10v source is not a problem. Just figuring out a way to control the pwm linearly is the problem!

You need a transistor driver like the following:

This will give you up to 500mA at 10VDC (minus about .7v drop of the transistor)


i cant see any diagram and it asks me for a password everytime i open up the page.


Ugg! Sorry, I do that all the time. ::slight_smile: Fixed now.

im trying to dim a flourescent light driver that has pwm and 0v pin, so how would i attach it to that circuit???

Is there a way to have just the doubled voltage outputted?


I know that circuit you showed would work for a fan etc, but how would i connect the ballast?

In that case, the load resistor in my diagram becomes a pull-up resistor and the connection to your ballast input comes off of the circuit between the pull-up resistor and transistor.

This will invert the PWM signal, so you’ll have to account for that in software. When the PWM signal is high, the transistor will conduct to ground and put a low on the ballast input. When the PWM is low, the transistor will be off and the pull-up resistor will put a high on the ballast input.

The values of the resistors can be higher in this case too. You could probably use 10k resistors for both, depending on how the ballast reacts. You may need to test with different values to find the best setup.

EDIT: I modified and reuploaded the diagram, which I realized is not the best thing to do right after doing it. I should have put up a new image instead. Oh well… :stuck_out_tongue:

You mean like this:

Then arduino pwm 0 - 259 will dim from on to off ( 100% - 0% brightness) and vice versa, if im reading you correct???

Yep, that’s it. I am a slightly concerned about tying the Arduino ground to the ballast 0V input. Be sure that’s an OK thing to do before doing it. It should be explained in the ballast documentation.

This is the kind of thing im looking at:

Just scroll down a little to the diagrams and let me know what you think.


Man, there just isn’t very much information on what the “Mark 7 0-10v” signal should look like. A few docs I found through Google all said something like “supports 0-10v dimming” but none of them spec’d the actual signal.

So I’m not sure what you’re going to get when you hit it with a PWM signal.

Yeah i know what you mean. I know you can hit it with a POT. looks like more research is involved, but at least now i now how to get the pwm signal to it.

Thanks for all your help.


I’m pretty sure that kind of 0-10vdc control voltage won’t work with plain PWM. You are most likely going to need to follow up the PWM voltage amplifier with a either active low pass or passive low pass filter.


Total rewrite: I should have done more test points in the simulator. The PWM to 0-10V conversion circuit I posted and removed does not work and I haven’t come up with one that does yet. :’(

I’m going to try to solve this, but someone else may have a better idea. Maybe there is something pre-built?

The PWM to 0-10V conversion circuit I posted and removed does not work

Why not, it looks OK to me. What is the problem?

The output at 0%, 50% and 100% PWM was good, but values in between those are really unstable and non-linear. It looks like the problem is that when the transistor switches on, the low-pass filter cap discharges (very/too) quickly. It’s erratic and the base current fluctuates a lot. So the collector voltage fluctuates accordingly, causing the output signal to bounce all over the place.

Last night I played with different resistor/capacitor values and tried biasing the transistor a couple different ways, but so far I haven’t found the right setup. This is one of those problems that I now MUST solve for my own sanity, even if no one was ever going to use the circuit. :wink: If I have time this weekend I’ll bread board it and see what the real-world behavior is like.

I can think of other possible solutions using either an Op Amp or an LM317, but depending on the OP’s electronics skills, that may be a little overly complicated.

(Hmmm, if I can solve this, maybe I’ll wrap it up into a PWM-analog conversion shield. I’ve been looking for a reason to try and design a shield. :sunglasses: )

the low-pass filter cap discharges (very/too) quickly

Didn’t see a low pass filter on what you posted maybe you are simulating something else?

If the capacitor is straight on the collector then there will be trouble but you should have a series resistor first. Then the charge is the series resistor plus the collector resistor and the discharge is just the series resistor. For a proper filter you have to consider both the input and output impedance, as I am sure you know. I would suggest reducing the base resistor as a start.

Best of luck.