DC-Motor Controller


The obvious way to control the speed of a small DC motor is with a series rheostat. Although this has the advantage of simplicity, it is far from a satisfactory solution.  Motors “choke out” at low speeds because they lose torque as well as rotational velocity.


A much better way to control the speed of a small, permanent-magnet DC motor is with the pulse-width-modulator circuit in the accompanying schematic Oscillator IC1 operates at a constant rate of 100 Hz and periodically triggers monostable IC2. Once triggered, IC2 sends its output (pin 3) HIGH for a time interval determined by R5. With the components specified, IC2’s pulse duration can be set anywhere from 1 to 10 milliseconds. Transistors Q1 and Q2 couple IC2’s pulse output to the motor.


Since IC2 is being driven by a 100-Hz signal (with a period of 10 milliseconds), this means that the signal at IC2’s output will spend between 10% and 100% of its time HIGH. The lower this percentage is, the smaller the average current applied to the motor becomes.  Naturally, this results in less velocity, but adequate torque is still maintained to prevent stalling. Be sure to mount Q2 on a small heat sink.


Copyright by Bill Bytheway, K7TTY February 2012