When using a microcontroller and want to drive motor control or controlled intensity, you can use DAC to generate an analog output voltage. But there is an easier way of doing this. You can use a digital output to reach the same results. This technique is known as PWM -Pulse Width Modulation.

In this picture, you can see a 50% duty cycle square waveform. The width of ‘0’ is equal to the ‘1’ level. This means if the signal amplitude is 5V, then the average voltage over one cycle is 2.5V. It is as though of hawing constant 2.5V voltage.

If you have 10% duty cycle, then your average voltage would be 0.5V.

You should use low pass filter to convert pulses to analog voltage:

This is like digital to analog converter without DAC.

You can use PWM to drive LED to change light intensities. Also, it can be used to generate audio by changing the frequency of the duty cycle. DC motors can also be controlled effectively by PWM.

I am hoping to use this idea for a project. I want to send a PWM signal from a microprocessor, and, through the duty cycle, create a corresponding analog voltage. This is straight out of the article. The problem is, this analog voltage has to be a constant voltage, it cannot be varying (ie from your example of a 50% duty cycle and a 5V amplitude we would see an average 2.5V analog voltage, but i need this 2.5V to be effectively constant instead of just averaged). I dont know if the low pass filters can effectively achieve this or what. Any help would be greatly appreciated!

You may try to look at so called

Buck-Converter

And of course Wikipedia

I hope this gives some idea…

Hi,

if i want to generate analogue waveform (sin of frequency f) then what is the value of C and R required to get undistorted output.

You can calculate the cut-off frequency (fc) of the filter (the frequency at which the power halves or the voltage is reduced to about 70%) from

fc =1/(2PI*R*C) (where PI is 3.14)

The higher frequency will be rolled off at 6dB/octave Every time you double the frequency, the power will be attenuated by a factor of four or the voltage attenuated by a factor of two.

If you pick a value of C , and you transpose the formula , you can work out R

R = 1/(2PI*C*fc)

To get better attenuation of noise & harmonics you can go for a Sallen-Key low pass filter, which uses two caps , two resistors & an OP AMP

and an attenuation of 12 dB/octave

Lee