Trying to Convert 5v PWM signal to 0-10v analog

So I am Trying to Convert a 5v PWM signal from an Arduino to a 0-10 v analog signal to drive a VFD.
the way i have come up with is simple i use two transistor (one to convert from 5 to 10v pwm and one to invert the inverted pwm) and a Linear Voltage Regulator to get 10v PWM and the an RC filter to convert pwm to analog.
Attached is the drawing of my circuit.

Now the problem is that it works great without the RC filter bt when I introduce the RC filter the voltage drops drastically and even at a 100% signal the max voltage I get is 2.6v.
I dont know why that is happening.
May be its because of the transistor m using is BC547.
or is it because of the RC filter design???

Double posting is being rude to us.


The design looks Ok, but are just just adding the RC filter?

If so, try a different capacitor.

If you are also connecting whatever this is going to drive, then the resistance of that may be messing it up.

You can simulate things with LTSpice, which is free from:

The attachment to this post is a simulation of your circuit with a 470-ohm load, showing the output will be about 2.5V max. (download LTSpice and open the PWM_cct.asc file to play with it).


LTSpice_PWM_cct…zip (200 KB)

A better solution is an RC filter between PWM output and +input of an opamp (LM358), with the opamp set to a gain of 2x. With a single 12volt (minimum) supply, you should get 0-10volt on the output of the opamp.
You could also use a 10volt supply, and a rail2rail opamp.

A better solution is an RC filter between PWM output and +input of an opamp (LM358)

Ah… another fan of LTSpice :slight_smile:

Yes, using an opamp also avoids the effects of load resistance that will plague the OP’s circuit.