Author Options:

How to control DC motor off and on cycles. Answered

I need to control the speed at which a pager motor is on or off. I don't need to control the motor speed, just the timing of off and on. What would be the easiest way to accomplish this? (I have some 555 timers and an Arduino Uno so either of these would be preferred methods).

I've tried but failed with the 555 timer and a pot to do this.  Eventually I would like to have two pager motors cycling between off and on (pulsating effect).

Thank you,



Best Answer 8 years ago

Using a 555 timer there are 2 important factors you need to consider when making an astable (pulsed) circuit:

The frequency of the pulses, and how long they last (or duty cycle when considering the pulse train's average on-ness)

...There are plenty of timer circuits you can choose from for a 555 -- a simple search here on ibles will show you them, again you're looking for ASTABLE or MULTIVIBRATOR mode -- and there are calculators (or calculations) to choose what parts (generally you swap out a resistor and capacitor to change the values).

Remember to check if your pager motor draws more current than the 555 can provide. If so, consider using a transistor to switch the low-current pulses from the 555 into a switched circuit.

Lastly, whenever switching a motor on and off, consider adding a reverse biased diode across the motor to prevent a magnetic pulse from kicking back out of the motor when it switches off and blowing up your circuit.


Answer 8 years ago

My first attempt at the ASTABLE mode left the LED light on constantly. I was able to get the LED to flash by switching out resistor values. I was able to use an NPN transistor to power the pager motor. I was unable to use a pot to manually control the speed of off and on. I'm happy that this is going in the right direction (and that I didn't start any small fires...ha ha ha).

Thanks again.


Answer 8 years ago

Great news!

Just use a calculator like http://www.csgnetwork.com/ne555timer2calc.html to adjust the values :)