datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com   UBM Tech
UBM Tech

Product How-to: Simple solutions for a single-device PWM waveform generator

September 25, 2013

Pulse-width modulation (PWM) generators are integrated in nearly every switching power device. This article shows two methods for implementing a stand-alone analog PWM waveform generator. These designs can also be modified to make a dual-device PWM generator.

There are two ways to implement a single-device PWM waveform generator. One method uses an ICM7555 timer, while the other uses a MAX998 low-power comparator. We will look at each.

Method 1: Use a Low-Power Timer as a PWM Generator

In this method an ICM7555 timer is configured as in Figure 1.

Figure 1: A PWM generator and timer for a single device.


In Figure 1 the pulse width of the output at Pin 3 is modulated by the control voltage (VCONTROL) applied at Pin 5. Lab tests were done on the design with the power supply set at 5V. Figures 2 through 5 show the PWM output at three different control voltages, 1V, 2V, and 4V. C1 is charged to VCONTROL by the supply voltage (VSUPPLY) and discharged from VCONTROL/2 to ground. When no external control voltage is applied, VCONTROL is at 2/3 of VSUPPLY.

Figure 2: PWM output with control voltage = 1V


Figure 3: PWM output with control voltage = 2V


Figure 4: PWM output with no control voltage


Figure 5: PWM output with control voltage = 4V


The data illustrate how the control voltage applied at Pin 5 changes the threshold voltage of the two internal comparators. Without the applied control voltage (Figure 4), the device sets the charging and discharging of C1 at 1/3 and 2/3 of the supply voltage. This is equidistant from the supply voltage and ground, thus effecting a 50% duty cycle. The different control voltages change the charging time for C1 to reach VCONTROL and the discharging time for C1 to discharge to VCONTROL/2. This process alters the pulse width of the output waveform.

The charging time is expressed as:

-t/RC = ln [1 – (VCONTROL/(2VSUPPLY - VCONTROL))]

The discharging time is expressed as:

-t/RC = ln 0.5

Where R = R1 and C =C1.


Loading comments...

Write a Comment

To comment please Log In

DesignCon App
FEATURED RESOURCES