Advice for motor power supply

Hi all, I am currently doing a project to make a jumping robot leg with 2 motors, one at the knee and another at the hip. I have been searching around the web for appropriate drivers to control and power the motors.

The motor runs at 48VDC and requires momentary peak currents of 163A to achieve the motor’s rated peak torque. (AlliedMotion’s Megaflux MF0127020-A00)

I see that the ODrive is able to output 48V and 100A per motor. If I were to only use 1 ODrive for 1 motor will the peak current be higher?

I am also not sure about the 48VDC because I have 5V encoders to power as well, so does that mean I need a 53VDC driver?

Also other drivers in the market cost around USD$1k and up howcome this is so cheap? Are there any drawbacks? I just need a driver and controller to control the motor’s position, velocity and acceleration. I assume the other drivers have more functions then that and that’s why they are so expensive (e.g. the Double Gold Solo Twitter from ELMO)

Thanks in advance.

48V @ 163A is getting to 8 kW, which is a pretty serious bench supply. The motor power will depend on the combination of speed and torque, of which a jumping robot tells me you are going to need both. Another thing to consider is that a large power supply will not accept regenerative power, so all of that will have to be shed with the shunt resistor to prevent overvoltage.

Your project will likely be best served by a nice lithium polymer battery (don’t go fall for the cheap ones) and a nice charger/balancer for it rather than a big power supply like that. Make sure you are aware of the hazards associated with lithium batteries before setting it up in your lab. Ultracapacitors are another good option for very high power pulses in/out but don’t score as high on power or energy/dollar if you are cost sensitive. They are much safer than lithium batteries.

The 5V supply for your encoders will be referenced to ground, not on top of the 48V. You’ll want an independent 5V source for the encoders, like the one conveniently provided on the encoder connector on the ODrive. See the ‘Docs’ link above for the documentation.

It’s so cheap because Oskar is a hero. There isn’t a reason why there couldn’t be a highly capable servo drive that’s open source for projects exactly like yours, and it’s open source so if it doesn’t do what you want, you can make it so. I wish it existed when I was in grad school… One recent idea for higher current capability that sounds like great fun is to use both motor channels on a single motor, doubling the current capability of the drive.

Elmo make some pretty impressive products, but you pay for it… Good luck! Make sure to post updates, I love a good jumping robot.

1 Like

Hi Jon, thanks so much for the advice.

However, I do have another newbie question to ask.

The 48V ODrive says it can drive 2 motors at 100A
But I need it to drive 2x 48V motors. So my guess is that I would need to buy 2x ODrives and power each of my motor separately with a 48V ODrive right?

Thanks in advance

The ODrive has two motor outputs that’s both run off the same up to 48V input and is capable of a peak output of 100A or so to each motor channel, which could be at the same time as long as you have a capable enough DC supply. Your duty cycle will start to matter as the MOSFETs and board heats up faster at higher power levels. A handful of seconds will be fine, a minute will probably not and will require current derating and/or improved cooling. There is a thread with some good thermal data from a while back.

Something to keep in mind is that the motor current can be much higher than the power supply current, especially at low speed and high torque.

My advice would be to start playing with a small hobby motor, something like the motor ODrive sells is a good one to play with and start learning. Make a small stand so it’s mounted to the bench and mount the encoder, You can run it on a standard bench supply that can current limit. You will learn a lot.

Good luck!

Hi Jon, you mentioned about have an independent 5V source for the encoder, do you mean I connect it into the 5V and GND ports of the ODrive encoder ports as shown in the connector image in the DOCs tab?

I keep seeing that “motor current can be higher than power supply current.” Could you explain how this can be the case? Does this mean if I calculate a required current at my selected voltage for a required torque at motor, the current at the power supply can be lower than this? For instance, if power required at the motor at stall torque is P = VI = 48V*110A = 5280W, does that mean input power could be less than this? Is that just due to gearing configs?

When sizing your motor for an application, you want to think in terms of required motor speed and torque. Those multiplied together are your mechanical power. If you assume a reasonable efficiency, you can get a motor electrical power input to support that. The phase current and voltage required to drive that can be calculated using the motor constants if you have a candidate motor to drive your application.

The next part gets to your question… how can I have higher motor current than power supply current? The motor behaves like a buck converter when controlling current in the phase. The voltage requirement at the phase is lower than the power supply voltage, and the motor behaves as the inductor in a buck converter.