Let's Make Robots!

PWM not causing motor to turn until 50%

I built a Pulse Width Modulator to control the speed of a 12V DC motor, but the motor doesnt even turn until the potentiometer is at 50%. How can i fix this?


Let me give more background. I took apart a Skil 12VDC 1 Amp Drill and removed the motor, gearbox, transmission, and chuck all in a single unit, and wanted to control that motor much like the trigger on the drill did...slow to fast, at full torque.

So I built a PWM to do it...  I got it from here....http://www.bakatronics.com/shop/item.aspx?itemid=383

The PWM turns the motor but not until the pot resistance has been reduced by 50% or so...if I leave it at 50% the motor turns slowly at first then gains speed...this was not the control level I was looking for...

can anyone help me figure out what is going wrong? 

Comment viewing options

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

Well my meter is supposed to read up to 10 Amps, however every time I plug the lead into the 10 Amp fuse the meter continually beeps at me, its a Radioshack 22-812, and no one can explain why its beeping at me and doesnt give me a reading. I've replaced all the fuses and batteries.

I'm not sure where it is putting out osicllating current or not, but when I get home tonight I will check. 

Sounds like you are doing it right. from the manual, page 12:

Connecting the Test
The meter sounds a
warning tone when you set
it to measure anything
except current and you
connect a test lead to +10A
MAX. This reminds you not
to touch the circuit with the
test leads.

So it seems like I could measure the amperage at the load, while the motor is on, then remove the motor, and measure the voltage with a load under the 400mA fuse(( ( a 12v LED or some such) for measuring DC Voltage...So I'll have numbers in a few hours


PWM does supply full voltage and current, but only part of the time. A duty cycle of 10% means you only get voltage and current for 10% of the cycle. The frequency, while important, only describes how often the pulse happens per second.

So let's assume you have a frequency of 1000 hertz. That means there will be 1000 pulses per second. The duty cycle tells you how much of each pulse will be "on" and giving voltage/currrent to your motor. Each "pulse" is 1 millisecond. A 50% duty cycle will be on for 1/2 millisecond, then off for 1/2 millisecond.  A 30% duty cycle will be on for 0.3 milliseconds and off for 0.7 milliseconds.


Google for "PWM tutorial", there are websites that can explain it better than me.

Right. Operating under those assumptions, lets assume the at 0 resistance with the pot the motor is at 99% cycle, and at maximum speed. wouldnt the case hold true for being at 90% resistance of the pot, thus we have 9% cycle, the motor should still turn just at a much slower speed. However it doesnt, not until the pot is at about 50%, which leads me to assume that the voltage isnt sufficient at the load terminals to turn the motor.
"Perfect for making a hand held throttle for model railroad switch where extremly slow motion is required. With a little modification, it will fit into the FB02 box and make a great little hand held throttle. "  I pulled this quote off of the description for the product.  It may be salvagable if you get a pot with a max resistance that is slightly more than what you're getting at 50% on your current pot.  It seems that your current pot starts at too high of a resistance for your motor. Also make sure the minimum resistance on your new pot is low enough that you get plenty of power.

It sounds like the motor isnt gettign enough voltage. Use a multimeter to see what it is getting at various positions. You could add more voltage (could fry the motor at the highest setting), or let the microcontroller receive a value from the pot and control the motor depending on the setting.

Of course I can't tell you how to work out option 2, but I'm sure it can be done fairly easily with additional parts.