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.

Nicads were awesome back in the day and still are. the newer type cells nimh and li-ion have better charging and less memory issues but cost more. You can pull quite a few amps from the nicads...I know some of the folks were pulling something wickid 30+Ah or so for the rc drag cars...I think 18 sub C cells around 24 volts and a 9 turn motor....ahh the days...  :)

seems a bit much for a robot though....

So it seems to me as I have few options: I would like opinions since I'm fairly new at this. Keep in mind what i'm after is speed control at max torque without that initial jump in speed due to the stall current. My bot is about 5 lbs or so and only has the one drive motor (designed that way) and I would like my rpm range to be 20-80.

I can either wire up a battery pack with some serious amps with a power controller, or use a PC 300W power supply to power my drill motor and use a heavy duty PWM to control the speed.

Or I can use a different Motor all together, much like this one http://www.robotmarketplace.com/products/0-BPK51.html and use a smaller power supply and still use the PWM.

I'm sure there are more options and i would love to hear them. Can anyone recommend some good literature on this type of work?

As a side note it doesnt matter if the system is tethered or not. 

Guess it depends on the application of the robot. The PK51 motor at Robot Marketplace is for Battlebots, where the device is supposed have enough extra speed and torque to run into and push around another robot of similar size. If your robot is travelling on a flat area (hard floor) then you'd only need a motor to have a torque of maybe a tenth of the weight times the radius of the wheel being used. So a 5 pound robot with 4 inch wheels would need 0.5 x 2 = 1 pound-in or 16 oz-in to move. Motors show stall torque as a figure, so the motor with 16 oz-in would stall trying to move a 5 lb robot, but one with 17 oz-in would just get it to move, slowly. One with 32 oz-in stall torque would get the robot to move near half the no-load or free-run speed. I guess what it boils down to is that a lot less motor can be used to move your robot than either the drill motor or the PK51. Unless you are building a Battlebot. There are some motors at Jameco for around $22 that might work too, for moving. Is the motor supposed to reverse too, or just control speed in one direction?

just  move the one direction. But I did some calculation and the negative force applied to the wheel, which has a radius of 3 inches is ~5 lbs, so multiply that by the radius and it has to overcome 1.25 ftlbs and with a max RPM of 90 

Ρ= ( (90rpm)x(2∏)x(1.25 ft/lb))/33000 = .021 hp

the PK51 motor stalls with 12VDC stalls at  396 oz-in convert that into ft-lbs

396 * .005208333 =  2.0624 ftlbs at stall.

So you can see that either the PK51 or the drill motor are pretty much what I need.

Question is how to power it. 


I suppose I could switch to use an AC motor 

Here's a possible driver, if you have a method of generating the PWM Note, this will invert the PWM signal, so 100% will have the motor off, 0% duty will be full on. Probably a bad design issue.


Parts list :

Vishay Schottky Rectifier, 20 A 20TQ045PBF  $1.59

IRF N-chan MOSFET 60 v 50 A IRFZ44PBF  $1.30

On Semi GP transitor 75 v 600 mA P2N2222ARLG 0.27

Vishay Power resistor 39 ohm 3 watt 0.46

Xicon resistor 330 ohm 1/4 watt  0.10

Shipping might be more than the parts, and I haven't tried this, I have seen the IRFZ44 in a variable speed drill, and I think this might be an adequate digital interface circuit. Hopefully some folks can check this out, and if you feel comfortable soldering something together, give it a shot.  Have a fire extinguisher nearb=, just in case. :)


IRFZ44 already has builtin flyback diode. On principle, though, this circuit WILL work. It's what we eventually came up with here.
.. unless it's around the motor, giving a path for the motor coil current to go. That's why I added the schottky diode around the motor since the diode in the FET won't help the motor lose it's stored energy.
Of course. My application has a worm drive, so it doesn't need that type of brake. D'uh.