Go Down

Topic: Trying to Convert 5v PWM signal to 0-10v analog (Read 397 times) previous topic - next topic

mustafa_Osarwala

Dec 06, 2017, 05:37 pm Last Edit: Dec 06, 2017, 05:42 pm by mustafa_Osarwala
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???

larryd

No technical PMs.
The last thing you did is where you should start looking.

TonyWilk

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:

http://www.linear.com/designtools/software/#LTspice

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).




Yours,
  TonyWilk

Wawa

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.
Leo..

TonyWilk

A better solution is an RC filter between PWM output and +input of an opamp (LM358)
*snip*
Ah... another fan of LTSpice :)

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

Yours,
  TonyWilk
   

Go Up