Many potential projects involve the speed control of DC motors. For example, the control of drill-bit speed in the DIY drill press. There are a number of methods for speed control of a DC motor such as flux control, armature control or voltage control. Voltage control by using pulse width modulation (PWM) is perhaps the commonest method, particularly with small DC motors. While pulse width modulation can be produced a number of ways (dedicated IC's or via microcontrollers for example) the ubiquitous and inexpensive 555 Timer IC can provide a convenient PWM signal to control DC motors.
Pulse width modulation is explained on numerous sites (1) so I will not go into detail here. Suffice to say, PWM relies upon the fact that the average value of voltage (and hence current) fed to a load can be controlled by turning a switch between the supply and the load on and off at a fast rate. The longer the switch is on compared to the off periods, the higher the total power supplied to the load. Instead of having a physical switch, a transistor or similar is used with generally a fixed frequency signal, and varying the pulse width of this signal controls the on/off time of the transistor, and hence the effective average voltage feed to the load.
While a microcontroller can easily produce a PWM signal, unless digital control is required (e.g. feedback control via a sensor) enabling control of DC motor speed can be easily accomplished with a simple 555 Timer circuit producing pulses, the width of which (or more correctly the duty cycle) in turn being controlled by a simple potentiometer.
There are a large number of examples of such circuits on numerous sites (2), (3) and a typical circuit is used here. The Circuit Details and Schematic Diagram Sections below set out the specifics, while the Testing/Experimental Results Section demonstrates the use of the 555 timer circuit to control a small DC motor salvaged from a disused printer.