Maximum input current

Hi,

Does someone know what is the maximum input current i can feed the ODrive with if it has two motors connected?

Thank you very much!

1 Like

Er, the ODrive needs to be “fed” with a voltage between 10-50V. It will then draw as much current power as it needs, to move the two motors according to whatever commands you give it. The higher your supply voltage, the less current you need to deliver the same power.

Unless the motors are spinning at full speed and producing full torque at the same time (which is very rare in a servo application - you only see this in a traction application), ODrive will draw significantly less current than it supplies to the motors. For example, if the motors are stationary but sustaining 30A, the ODrive might draw between 1-3A from the supply, depending on the resistance of the motors.
To work out the “stall power”, simply multiply the square of the current in the motor by the resistance of the motor (i.e. P=I^2 R). Then to get an estimate of the supply current, divide that power by your supply voltage i.e. I=P/V
Of course, if the motor is spinning fast, the power draw will be higher because you are producing mechanical power. Multiply the torque in N.m by the speed in radians/sec to get the mechanical power in Watts, add that to the electrical power you just calculated, and multiply the total by 1.1 (because ODrive is about 90% efficient). Again, input current I=P/V

That said, I would be uncomfortable using the ODrive at more than about 50A DC-bus current, unless I had active cooling, because of the thickness of the copper tracks on the board. But most applications will not get anywhere near that.

What is your application?

Thanks for your fast reply, Towen.

I’m using the driver in order to control two eX8108 105 KV Brushless Motors (https://shop.iflight-rc.com/index.php?route=product/product&product_id=959).
I wanted to know what would be the maximum current that i could “feed” the Odrive in order to obtain the motor’s maximum torque.
Being that said, my doubt is: which is the maximum current i can feed the oDrive (from a power source) without damaging it and getting full torque?

That motor has a max current of 24A, well within ODrive’s capabilities. It has a resistance of 0.186 Ohms, so at stall (max torque, zero speed), it will take 107 Watts. That means from a 48V supply ODrive will draw about 2.3 amps, or from a 24V supply it will draw 4.5A. Double that for two motors.

The ODrive itself is a current regulator. It controls the current in the motor, so as long as you set the motor.config.max_current to 24, you will not damage the motor. (provided you can keep the motor cool)

There is no upper limit on the current rating of your power source, only the voltage. For example, you can connect ODrive directly to a battery, which has a very high maximum current in the thousands of amps, as long as its voltage is less than 56V, or less than 24V if you have the 24V version.
I would advise to use a fuse with any battery, though. If you have two 750W motors and a 48V battery, then a 30A fuse should be sufficient.

1 Like

Thank you very much Owen, your answer has been very helpful!

Jan Calduch :slight_smile:

Can you please explain how ODrives regulate current? I am unclear on how a motor sustaining 30A only needs1-3A current. Also what is the difference between the max rated power and stall power (the number difference is significant)?


I am trying to figure out the current I need to supply to my ODrive to reach maximum power for this motor.

Right, this is a pretty common question, kind of needs a wiki page or something.

A motor is an inductor - it is impossible to change the current in the motor instantaneously - in fact the rate of change of current is proportional to the voltage that we can put across the inductor. (V = L*dI/dt)

A MOSFET is like a switch and a diode in parallel. When the switch is on, there is a voltage (from the supply) across the inductor, and current starts to flow (from the supply) through the inductor.
When the switch is off, current continues to flow through the inductor, but it does not come from the supply - it recirculates through the diode, and continues to flow through the inductor. But the inductor is not a superconductor, so it also has a resistance, which produces a voltage proportional to the current (V = IR) in addition to the voltage drop across the diode and the EMF voltage produced by the motor itself as it moves - these voltages add up to produce the dI/dt so that the current decays towards zero when the switch is off. The controller (ODrive) regulates the on/off time ratio (duty cycle) of the MOSFET to keep the average current at whatever it needs to be.

If the switch is on all of the time, then the current drawn from the power supply would be 100% of the current in the motor. But if the motor has a low resistance and the EMF is low (or zero because it is not turning), then we only need a small pulse of supply voltage every few microseconds to keep quite a high current flowing through the motor, which produces torque.

From a first-principles point of view, it is just conservation of energy.
P_in = P_m + P_e + P_q
Where P_in is the input power, P_m is the mechanical output power, P_e is the power lost due to electrical resistance (including the resistance of the ODrive’s MOSFETs and any cabling between ODrive and motor), and P_q is the ‘quiescent power’ consumed by the electronics (CPU, etc.)
P_q is about 0.2W and can be safely ignored for this calculation.

Mechanical power goes as wT where w is velocity in radians/sec and T is Torque in Newton metres, you get power in Watts. If the motor is stalled (w = 0) then mechanical power is zero. But the electrical power lost in the winding resistance (0.5 Ohm) of the motor still goes as I^2 R. So if you put 10A through your 0.5 Ohm motor, you will burn 50W by heating up its coils, without any mechanical energy transferred to the load.
That means you need to draw 50W from the supply. If you have a 50V supply then that is only 1A, even though the motor has 10A flowing through it. This is because the duty-cycle of the MOSFETs is 10%.

But as soon as the motor starts turning, then there is mechanical power coming out of it into the load, and because it is turning, it also generates an EMF voltage, so that duty cycle has to increase.
At the top speed, the duty cycle will be closer to 100% so the current from the power supply will more closely match the current in the motor.

2 Likes

Thank you! This helped. I also found this link somewhere in the documentation that helps select an appropriate power source.

2 Likes