This is kind of a overkill circuit for a simple pulse width modulation circuit. I used the Exar 2206 Function Generator IC to generate a good triangular waveform. For a full explanation on the Exar IC and its use as a function generator consult my Function Generator Project. The triangular or ramp waveform is generated at pin 2 and goes to the LM339 comparator pin 7. The compare(-) input at pin 6 is set via the resistor network to some value between 8.84 Volts and 3.38 Volts. This trips the comparator at the specific point on the ramp and voila you have a pulse generated with a specific interval.

The LM339 is open collector so I put a PNP transistor on the pullup to turn it on or off, just so I could enable or disable the pulses.

It did a pretty good job and I had pulses with a width that varied from 99% to 1%. I couldn't do that with a 555 timer IC.

The picture on the left shows one of my typical hardwired circuits that is destined for the scrap bin. Ounce you "solder up " a circuit you can't reuse very many of the components. I naturally always use IC sockets so I can at least reuse the IC's . Thus there is value in putting the project circuit into a nice box . That way you don't throw away your work that easy. In this case I checked out the circuit on the breadboard, 4 hours worth of work, and soldered the components from the breadboard unto the perfboard, for another 2 hours of work. That's 6 hours of hard thinking and soldering and cutting and searching that one has to toss away. After a few months go by you forget about all that hard work and it makes for an easy toss. Thus one of the main reasons for these circuit pages is to record my proven work for posterity and possible reuse in the future.
Revised 2013 by Larry Gentleman