Let's Make Robots!

Circuit or Method for controlling RPMs of DC Motor

Hi...  I'm looking for a way to control (vary) the speed of a small toy DC motor.

I started off trying the simple method of just adding a 5K potentiometer to 

the circuit but that does not provide much adjustment.  I'm using 3 or 4.5 volts

and just looking for a simple circuit that will allow me to regulate the speed from

0 up to full throttle. 

thank you in advance for any suggestions or directions to follow.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Thanks all for the suggestions.  I found a You Tube video which helped me stumble through.  After a few (well, more than a few) builds of the circuit, finally got the thing to work.  Fried a half dozen 555 timer chips... but learned a lot in the process.  I'll post the link to the fellows video.  Someone else may find it useful.  Thanks again.... oddbot, I'll read over the literature you posted. thanks.

http://www.youtube.com/watch?v=Cal0sDwYB_w

I found a circuit I've been trying to get to work, but no success yet.

I've attached an image showing 3 areas I need a bit of help with.

Are the diodes I have placed correctly, orientated correctly?

Not sure if I have the pot set up correctly... I've got one wire from the #3 pin on the

555 timer going to the middle contact on the pot and the 2 diodes, one going to the left and 

one to the right leg on the pot, is this correct?

and really not sure how to hook up the transistor... need a bit of help with that, where the 3 legs get connected to.

Thank you for the assistance and suggestions.

 

http://i248.photobucket.com/albums/gg198/bocode/pwm-motor-controller_zps6c0c56cc.jpg

Start by downloading the datasheet. I Googled "IRF520 Datasheet" and immediately found this:
http://www.datasheetcatalog.org/datasheet/fairchild/IRF520.pdf

Even without reading all the technical details, the basic information at the top tells you most of what you need to know. There are many different FET's you could use so if this FET is not available locally then look for another that can handle the currnt load of your motor.

If your motor is small (draws less than 800mA) then a transistor such as a BC337, PN100 or 2N2222 would also work well.

Another method that is suitable for small motors that draww less than 1 amp is to use an LM317T or LM350K variable voltage regulator. This is a linear regulator and will need a heatsink but offers one nice advantage over normal PWM methods.

It will compensate for the load!
This means that the motor will tend to stay at the same speed even if the load changes. The impedance of small DC motors will decrease as the load increases. The linear regulator then decreases it's internal impedance to compensate as it attempts to maintain a set voltage on the output.

The result is that the motor tends to maintain a a relatively stable speed as the load changes. Naturally there are limits depending on the input voltage and current available but this can be useful in some situations.

I originaly used this method to control the speed of a model electric train. regardless of how many carriages you added, the trains speed and acceleration was pretty much the same.

for fun I searched for 555 pwm circuit. This is what I got. http://tinyurl.com/alwefya Trust me it is safe. I just didn't want to post the whole google url here. The first few circuits I saw there will only drive the motor in one direction, so, if you were to need forward, and, reverse, you would likely want a motor driver. Even then, adding a motor driver to one of the posted 555 circuits would be fairly simple. Instead of feeding the 555 output to a transistor, you would feed it to the Enable pin and then add a NOT gate, and a switch to allow for forward, and, reverse.

Hi ...

thanks for the help.

I've been reading a bit on the interweb and yes... I keep coming up with PWM... although i'm not 

knowledgeable about that...but will read up on it.  There's nothing fancy about what I'm looking to do....

i've got a small eccentric weight mounted on the output shaft of a small DC motor and just need to 

vary the speed..  using either 3 or 4.5 volts.... to get a variety of vibrating effects.

Have a look at this link for a good example circuit:

http://www.pcbheaven.com/circuitpages/PWM_Fan_controller_using_a_555/

PWM (Pulse Width Modulation) is the technique you are looking for. There are many examples of how to control a small DC motor with PWM, which method you use will depend on a few key points:

• Do you need to control the speed precisely? (To match 2 or more motors together for example).
• Do you need to rotate in both directions or forward only?
• What will be controlling the motor speed? A microcontroller? A person with a dial? Remote control?