I was recently researching some older Elektor articles on motor control and came across this project by Rolf Blijleven. It takes a straightforward approach to a technical problem: keeping a small DC motor running at low speeds without stalling when the load increases. The solution is an analog circuit that automatically adjusts the PWM duty cycle based on motor current, without needing a microcontroller.

The Circuit

As you can see in the diagram, at the heart of the circuit is an LM358 dual op-amp. One half, IC1A, generates the PWM signal using a 100-nF capacitor and a resistor network that forms a sawtooth oscillator with Schmitt-trigger switching. Its output drives an IRF3708 MOSFET, which switches the motor from a single 5-V supply.
 
PWM motor control diagram
Generator IC1A drives the motor via MOSFET T1, while IC1B in conjunction
with current sensor R5 assure a degree of positive feedback.
The key to the design is current feedback. A 1.8-Ω shunt resistor (R5) measures the motor current, while the second op-amp, IC1B, amplifies the resulting voltage. This signal feeds back into the PWM generator, increasing the duty cycle when the motor encounters greater resistance. At a nominal motor current of around 450 mA, the shunt develops approximately 0.8 V; under heavier load, the current can rise to around 700 mA.

"Using R5 (1.8 Ω) we measure the current through the motor (nominally around 450 mA). This yields a voltage Vs of 0.8 V at normal loading, rising to 1.2 V when the motor must work harder," Blijleven explains. "In that instance around 700 mA flows through R5. But because the voltage and current are pulsed, the power (I2R = 0.72 × 1.8 = 0.9 W) in the resistor is reduced by the duty cycle to around 20%. A 0.5-W resistor for R5 will not take any notice of this."
 
PCB designed by Elektor
PCB designed by Elektor.
The result is a compact, microcontroller-free controller that gives a small DC motor additional drive when needed. The circuit uses inexpensive, readily available components, and Elektor Labs designed a small PCB for experimentation, as you can see in the nearby image. Resistor values may need adjustment to suit the motor being used.

The PWM Motor Control Project

The original article, “PWM Motor Control: With Added Duty Cycle Boost,” appeared in Elektor March/April 2017. Check out the article.
Editor's Note: Because the article first appeared in a 2017 edition of Elektor, some of the parts and components might not be available. Still, we think you’ll find the article inspirational and informative.
 
Elektor Newsletter 42026 (1)