Engineer Pits a 555 Timer Against a Microcontroller in This Circuit Design Challenge
A DC motor controller that addresses the age-old saying, "Just use a 555 instead of a microcontroller!"
Engineers use the revered 555 timer IC so often that some will ask, " Why didn't you just use a 555?" when presented with an arbitrary circuit. Thomas Goff decided to run a contest: a 555 versus a microcontroller (PIC12) for DC motor control to find out which solution was best! Goff designed circuits and a printed circuit board (PCB) for each contender.
The microcontroller was an eight-bit Microchip PIC12F1840 (PIC12). Goff chose this chip to keep the fight as fair as possible since it comes in a through-hole DIP-8 package — like the 555. To reduce components, the MCU uses its internal oscillator. The other components on the board are a 5V regulator, a transistor (to drive the motor), and passive components.
Goff utilized several peripherals built into the PIC12. For example, the ADC senses an incoming voltage to adjust the duty cycle of a PWM generator. Goff wrote the code using Microchip's MPLAB IDE and the PIC's native C library. However, you could repeat this experiment using the Arduino framework.
The 555 circuit has two distinct stages. The first stage uses the timer IC to generate a sawtooth waveform, which connects to the second stage. This stage features a comparator that compares the sawtooth waveform to the (divided) input voltage. The output of the comparator goes into an op-amp, which in turn drives a MOSFET that controls the motor.
The result is two circuits that change a DC motor's speed back on an input voltage. But does it answer which approach is best? Well, Goff has an opinion on the matter.
This step-by-step write-up of the microcontroller vs. 555 showdown includes the schematics, example videos, and (most importantly) results!
Article artwork generously provided by an upcoming artist.