digital sine wave synthesis

For the most part we live in an analog world and when using a microcontroller, it is often necessary to be able to convert a digital value into its analog equivalent (or, for that matter, an analog value to a digital value but that`s not what this post is about). Many of the low end and low cost microcontrollers available today do not implemen
digital sine wave synthesis - schematic

t a built in hardware digital to analog converter (DAC). However, most do contain an 8 bit or 16 bit timer that is capable of producing Pulse Width Modulation (PWM). Pulse Width Modulation is primarily used to control power to a load such as a motor or a lamp by varying the pulse width (duty cycle) of a fixed frequency square wave. The load responds to the average voltage that represents the duty cycle of the waveform. Increasing the pulse width will result in an increase in the average voltage level to the load along with a corresponding increase in the motors speed or the lamps intensity. However, Pulse Width Modulation, in conjunction with a simple resistor and capacitor (RC) filter, can also be used to generate specific DC voltage levels or various analog waveforms such as sine or triangle waves (also referred to as Direct Digital Synthesis or DDS). As an example, to produce a DC voltage that is 50% of the MCU`s supply voltage, it is only necessary to output a waveform that has a 50% duty cycle and filter it with a simple RC filter. In a similar manner, to produce an output voltage that is either 25% or 75% of the supply voltage, the duty cycle is changed to either 25% or 75%. It should be noted that the PWM frequency used should be as high as possible in order to keep the values of the RC components small. Accurate sine waves can be created by using Pulse Width Modulation, an RC filter and a look-up table with the...

Leave Comment

characters left:

New Circuits