Electronic – How to find stall current of servo motor

current measurementservotorque

I am using 18 of this hobby servos for a hexapod, that are going to run simultaneously. Now I need to decide the power source, and need to determine the current needed. I know that the maximum current that a motor draws is its stall current, and it should run with lower current than the stall current. But no datasheet mentions the stall current. All of them mentions the stall torque, 1.6kg-cm(at 4.8V) in this case. And I cannot find any equation that calculates the stall current from stall torque and applied voltage. Some people suggested to actually stall the servo and find the current with an ammeter, but I'd rather find it by calculation. So how can I find the stall current?

Best Answer

I cannot find any equation that calculates the stall current from stall torque and applied voltage.

There is an equation that calculates motor current from torque and voltage, but you also need the motor's torque constant (Kt) or velocity constant (Kv). Kv can be roughly derived from the servo's operating speed at a particular voltage, so you might think that the published servo specs are enough. Problem is these specs were not intended for calculating current, so their relevance is suspect (eg. torque rating may not be at stall, operating speed includes starting and stopping time) and being cheap Chinese servos their specs probably aren't accurate anyway.

The easiest safe way to calculate stall current is to take the bottom off the servo and measure the motor's resistance (Rm) with an ohmmeter. Then divide voltage by resistance to get current. However this will probably overestimate the stall current because:-

  1. The H bridge transistors have some loss, so the motor won't get the full supply voltage.

  2. The servo doesn't power the motor continuously, but with pulses whose width is proportional to the difference between commanded and actual positions. At normal frame rate (50Hz) there is always a gap between motor drive pulses, so even at stall the motor may only be on 70~80% of the time.

So if you want to find out how much current the servo really draws, you will just have to measure it. Measuring supply current while stalling the servo at one end of its travel and commanding it to go to other end will give you the worst-case average current at stall, but not the peak current. This test is also very hard on the servo. A better way is to put a current shunt in one supply lead and measure instantaneous current while the servo is operating.

The motor in the HXT900 I tested measured 4.1Ω. When the servo was powered with 5V the motor pulses were 3V high (2V drop in the H bridge and wiring!). This equates to 0.73A peak current. Here's a scope trace of supply current measured with a 0.1Ω shunt resistor, while the servo was making rapid small reversing movements.

enter image description here