I have these small dc TAMIYA motors rated at 3v at around 2-3 amps. I also have a driver that I'm planning to use to drive the motor.


I could not find any other driver that has a very low minimum voltage at a high current.

As you can see the driver has a minimum input of 6.5v, I am aware that over voltage can reduce the lifespan of the motor, but I don't mind since there are a bunch of these motors here collecting dust.

At 6.5v motor does not spin (which is weird). Upon raising it to 7.5 it now spins, very very fast. So I lowered the PWM to 5% (I'm using an Arduino analogWrite with a value of 10) and slowly increased to more suitable RPM.

Now as am playing with the voltage I noticed that the motor loses torque as I increased its voltage.

Why is this happening ??

Also, while as I was playing with the PWM I also noticed that the torque also peaks at a certain PWM. Like at 10% the torque peaks, above and below values is just weaker.

Can anybody please help explain?


Another observation i have just noticed is that the driver gives out 7v, upon connecting to the motor the motor spins weakly. but upon upon connecting the motor to direct 7v it is much stronger in torque and speed

  • \$\begingroup\$ Is your motor a true parallel or series wound DC motor or a BLDC = asynchronous three phase AC + integrated DC to AC inverter? \$\endgroup\$
    – winny
    Feb 21, 2019 at 12:16

3 Answers 3


In a nutshell for a PMDC motor:

  • voltage = speed
  • current = torque

Note that for a given voltage there is a speed at which there is (almost) no current going through the rotor, because of back emf (the rotor is inside a magnetic field generating a counter-emf on the brush inputs). To get more torque at that speed you have to increase the voltage (and basically overdrive the motor, leading to early failure).

There are a whole bunch of other factors that can come into play such as mechanical resonances at certain speeds, etc.

Regarding the startup problem you had/have- is it repeatable or did it just happen the first time? It could have been a poor brush contact, etc.

Gory details:


  • 1
    \$\begingroup\$ Thank you for your insight.Yes the startup problem is repeatable, at 6.5 to about 7 volts the motor doesn't turn but instead produce a high pitch noise. \$\endgroup\$
    – Yrra Uy
    Oct 18, 2018 at 20:08

It's likely demagnetization. The permanent magnets of a DC motor field will tend to become demagnetized whenever a current flows in the motor armature. This effect is known as “armature reaction” and will have a negligible effect in normal use. Under high load conditions, however, when motor current may be high, the effect will cause a reduction in the torque constant of the motor and a consequent reduction in torque output. Above a certain level of armature current, the field magnets will become permanently demagnetized. Therefore, it is important not to exceed the maximum pulse current rating for the motor.

What has likely happened, as a result not of overvoltage, but overcurrent that was permitted by the controller, since it has a 13A limiter in it, is that the magnets are now substantially weaker than they started out as. That means more current is needed to generate enough torque to overcome the stiction of the brushes and bearings to get it running, and also that the emf generated by rotation is proportionally that much lower - so it has to spin really fast to get the same emf to balance the supply voltage. If you want to modify the controller - the shunt resistor is 2 milliohms, replacing that with a 7.5 or 8 milliohm will get you to a more reasonable current limit.

  • \$\begingroup\$ Thank you for your explanation. So by letting it get all the current it want, i have effectively weaken the motor? am i getting you right? \$\endgroup\$
    – Yrra Uy
    Oct 18, 2018 at 20:58
  • \$\begingroup\$ That's right. You need to have a current limiter that prevents the field generated by the windings from getting strong enough to demagnetize the magnets. With a 3V supply, the winding resistance alone probably prevents that from happening, but at higher supply voltages the inrush current will likely be too high. \$\endgroup\$
    – Phil G
    Oct 18, 2018 at 21:03
  • \$\begingroup\$ it just so happen that with the driver that i am using i can change the current limit. how do i know / calculate the appropriate current that i should limit the motor? \$\endgroup\$
    – Yrra Uy
    Oct 18, 2018 at 21:07
  • \$\begingroup\$ also ,as i mentioned in the edit. that when i directly connect the motor to the power supply at the same voltage as my driver is outputting, the motor is now more powerfull and faster than with the driver \$\endgroup\$
    – Yrra Uy
    Oct 18, 2018 at 21:10
  • \$\begingroup\$ I hadn't noticed that the Vref was brought out to a connector, that'll allow you to set it without hardware modification. If you don't have a datasheet for the motor with that maximum current stated, just start low - something just over the maximum steady current the motor draws. The current limiter will then operate during run-up, so it'll be a little slower, but there's no harm in letting it do so. I can't read the marking from the pics of the controller, but it looks like it's a ti.com/lit/ds/symlink/drv8701.pdf the datasheet has some explanation of the current limit operation. \$\endgroup\$
    – Phil G
    Oct 18, 2018 at 21:20

A DC motor produces the high pitched whine of its PWM frequency when the motor tries to start and the PWM duty-cycle is too low.

A DC motor's magnets can also be permanently de-magnetized if it is overloaded and gets too hot.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.