I have a 250W dc brushed motor running off 24v. I controlled it with hbridge controllers rated for 40A, which should be enough... I thought. My reasoning being that 250W at 24v would limit it to 250W/24V=10.6A

This worked well enough, but when I prevented the motor from turning, the controllers blew. I then changed to building my own hbridge with 4 solid state relays rated at 80A, and when testing stalling the motor they died as well.

I measured about 1-2 Ohm resistance through the motor, when not connected, and with it being rated for 250W at 24v, that seemed reasonable enough, and should confirm the approximate maximal 10A current.

Obviously I am missing something here. Am I making too simplistic assumptions about the motor? I do not have any diodes connected to prevent back current, when motor is off, but spinning, and I did end all tests with letting it spin up to speed, so it could perhaps be the issue, but I was not expecting that to be greater than the stall current anyway.

My first large motor project, though, so I apparently need to understand something more...

  • \$\begingroup\$ Did you measure the DC resistance at various shaft (commutation) angles and take the lowest? \$\endgroup\$
    – Theodore
    Jun 13, 2023 at 20:15
  • \$\begingroup\$ No, only disconnected and not rotating, where I got the 1-2 ohm. Since that matched my expectation given the 250W and 24V, I left it there. When the current runs in the coils, with a stationary motor, should the resistance not be the same regardless of rotational position? \$\endgroup\$
    – JoeTaicoon
    Jun 13, 2023 at 20:20
  • \$\begingroup\$ See this previous question about measurement: electronics.stackexchange.com/questions/121436/… \$\endgroup\$
    – Theodore
    Jun 13, 2023 at 20:29
  • \$\begingroup\$ Looks like your resistance measurement not relevant. Measuring low resistance is complicated, could not be done properly by multimeter. DC motor may have 10-12 times start current. And make sure you provide enough heat dissipating to SSR. And slow start device may help. \$\endgroup\$
    – user263983
    Jun 13, 2023 at 22:10

2 Answers 2


The motor isn't going to limit its current, at least not in the way that you think.

A 240W, 24V motor means that if you run it at 24V at its rated torque, then it'll consume 10A (and 240W). It doesn't mean that if you ask for higher torque that it won't deliver it (and pull more current than it's rated for).

There's a very good chance that if you lock the rotor and apply 24V then you'll succeed in killing the motor, too. But maybe not, depending on the motor.

There's a lot of confounding factors, but in general you need to treat the motor right. Either through your motor driver or your mechanical design, you need to make sure that the motor doesn't suffer overload for more than whatever it's rated for*, and you need to make sure that whatever current the motor does pull doesn't burn up your electronics.

* Many, but not all, DC motors are rated for short-duration overloads.

  • \$\begingroup\$ That seems to be correct (unfortunately), but I don't quite understand how. If the resistance across the motor is 1 ohm or greater, how can it ever draw more than about the 10A given 24V? Also, how do I know what current a motor driver should be able to handle, if the motor will start slowly with great inertia, due to its load? \$\endgroup\$
    – JoeTaicoon
    Jun 13, 2023 at 19:50
  • \$\begingroup\$ Either measure the stall current (at reduced voltage if you want to exercise discretion) or if you have a datasheet for the motor -- look. \$\endgroup\$
    – TimWescott
    Jun 13, 2023 at 22:35
  • \$\begingroup\$ You could design the motor driver to sense and limit the current. \$\endgroup\$
    – TimWescott
    Jun 13, 2023 at 22:36
  • \$\begingroup\$ "If the resistance across the motor is 1 ohm or greater, how can it ever draw more than about the 10A given 24V?" By straight Ohms Law, I = V/R = 24A in your example. And since measuring "about 1 ohm" with an ordinary ohmmeter is very dubious, it's highly likely that that DC resistance actually in the circuit due to brushes and windings is less than 1 ohm, hence an even higher current. The more interesting question is why is the current every 10A or less. And that's attributable, under normal conditions, to the rotation of the rotor, and hence back EMF generated etc. \$\endgroup\$
    – gwideman
    Apr 14 at 0:39

I measured about 1-2 Ohm resistance through the motor, ...


Your indicated range of measurements has 100% variation. If this was measured with a DMM then

  • The leads, zero error, contact resistance and meter resolution all limit you to measuring 'something between 0 and a few ohms'
  • The brushes in a DC motor are non-linear, you will measure a different resistance at the mA of a DMM ohms measurement, and the amps of a running motor

The only way to measure the resistance of a motor properly is to lock the rotor, pass in the rated current, and measure the voltage drop.

Permanent magnet brushed DC motors are usually rated for a voltage. If you apply this voltage to a stationary motor, as you do every time you switch it on, the current it draws will not be sufficient to demagnetise the field magnets - quite an important consideration! That limit is in addition to the thermal limit of how much current you can pass for how long before the motor overheats.

The demagnetisation limit is usually fairly close, do not apply higher voltages to the motor without actively limiting the current with PWM on your H-bridge. It was quite common in the RobotWars community a few decades ago to run motors at a higher voltage for more speed (the life was going to be short anyway), but with a controlled current.

  • \$\begingroup\$ I did not consider the brushes, which I see was a mistake, and with a multimeter the measurement is quite inaccurate, but with it slightly greater than 1, it confirmed my assumptions, so there I stopped measuring. Confirmation bias... \$\endgroup\$
    – JoeTaicoon
    Jun 14, 2023 at 15:03

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.