What power supply/battery should I use?

Hi, I am trying to create a resistive machine using a motor (https://www.omc-stepperonline.com/48v-3000rpm-2-1nm-660w-17-10a-86x86x135mm-brushless-dc-motor-86bsa135-48-01) and gearbox (https://www.omc-stepperonline.com/eg-series-planetary-gearbox-gear-ratio-20-1-backlash-20-arc-min-for-nema-34-stepper-motor-eg34-g20) using the ODrive S1.

My goal is to essentially have a bicep curl machine where the user will lift their max lift, where the motor + gearbox act as the weights/resistivity.

I have a 36V 30A BMS battery (60A max, 5 sec), and I was wondering if that would work? My worry is that the 30A will decrease the torque too much. I want around 100 lbs of resistive force.

I’m very new to motors and motor controllers, so any help would be appreciated. Thank you.

Hi! Cool project!

One thing to note is that the motor current is typically greater than the power supply current – it’s only at the motor’s absolute maximum speed that they equal. Instead, the power supply current is the total motor power, divided by supply voltage. So instead, you can calculate the total mechanical power you need, increase by 25-50% to compensate for inefficiency in the motor, then pick a supply from there.

That being said, you say 100lbs of resistive force – do you know what spindle diameter you’re thinking of? Or the maximum speed at that force?

Thanks for the response. I still had a few questions.

By this, do you mean to find the power supply current, I should divide the motor’s rated power by the supply voltage of the power supply/battery?

I am also a bit confused here. Since my motor is rated for 660W, should I try to find a power supply rated for 1.25 to 1.5 times the rated motor power? If so, would this work?: https://www.vevor.com/batteries-c_14008/vevor-36v-electric-scooter-battery-16ah-ebike-lithium-battery-pack-with-30a-bms-p_010738789837

I have heard mixed reviews of buying from Vevor, but it seems to match the requirements, although I am a bit skeptical, since the max operating current is 48A but it says that it is compatible with a 2880W motor.

Lastly, the spool diameter is 5 in. I’m working with another person on this project (he is a MechE major, I am an EE major), and he hasn’t mentioned any speed that we are aiming for, which makes sense to me, since a resistive machine shouldn’t be fast, it should be a struggle to pull.

Sorry for the long winded response, but I would really appreciate any help. Thanks

Hi!

By this, do you mean to find the power supply current, I should divide the motor’s rated power by the supply voltage of the power supply/battery?

Rated power, especially on cheap/hobby motors, is a bit optimistic. But yes, you can get a first-order approximation just by dividing the rated power by supply voltage. So for a 1.5kW motor with a 48V supply, you can budget 1.5kW/48 = 31A, maybe 40-50A to compensate for motor (in)efficiency.

Since my motor is rated for 660W, should I try to find a power supply rated for 1.25 to 1.5 times the rated motor power? If so, would this work?:

Yep, that’s fine. I personally have a lot of vevor kit and it’s generally fine quality (for the money). But why use a battery? Usually just going off a power supply will be easier for testing/setup/etc, e.g. 48V 600W High Peak Power Supply – ODrive Robotics US (600W nominal, can peak to 1.2kW).

Lastly, the spool diameter is 5 in. I’m working with another person on this project (he is a MechE major, I am an EE major), and he hasn’t mentioned any speed that we are aiming for, which makes sense to me, since a resistive machine shouldn’t be fast, it should be a struggle to pull.

Well, if someone does a really fast curl, then the spindle will have to have an appreciable speed to keep up, which changes the drawn power. So it’s good to figure out the max speed needed so you can calculate the power figures.

To elaborate a bit more:
That NEMA34 motor has a speed constant (KV) of 72 RPM/V. The torque constant will be 8.27/KV = 8.27/72 = 0.115 Nm/A. So for a 1Nm output, the motor will need 1/0.115 = 8.7A of current.

The motor has a phase resistance of 0.12 ohm. So given resistive losses = I^2 * R, the motor’s loss at 1Nm output will be 8.7A^2 * 0.12ohm = 9W (we’ll call this 9W figure our loss power).

So from a 48V supply, if you’re at zero speed, to output 1Nm of torque the motor will draw 9W → 9/48 = 0.19A from the power supply.

However, if the motor is spinning at e.g. 2000 RPM while outputting 1Nm, the math changes a bit.

Mechanical power = speed (RPM) * torque (Nm) * pi/30
So here the mechanical power is 2000 * 1 * pi/30 = 209W
Drawn supply power will be mechanical power plus loss power, so 209W + 9W = 218W. So at 2000RPM / 1Nm, it’ll draw 218/48 = 4.5A from a 48V supply.

If we run this motor at its limit of 3000RPM / 2.1Nm, we can do this math again:
mech power = 3000 RPM * 2.1Nm * pi/30 = 659W
motor current = 2.1/0.115 = 18.26A
loss power = 18.26A^2 * 0.12ohm = 40W
total power = 659W + 40W = 699W
supply current draw @ 48V = 699/48 = 14.56A

So something like the power supply I linked should be more than fine for typical use, given the fact it can peak to 1.2kW when needed.

Thanks again.

I have a few concerns with the AC-to-DC power supply though. From my understanding, when the motor is resisting movement, like how it will in the project, it will essentially act as a generator when the user is pulling. Will this not push current back to the power source? AFAIK, an AC-to-DC power supply cannot absorb current, so wouldn’t that create major problems? I know the ODrive S1 comes with brake resistors, but will that be enough?

Also, in regards to the calculations, I think I should’ve been more clear about our project. The flow of the project will be as follows:

power supply/battery → midi fuseswitch → ODrive S1 → DC/DC converter → ESP32 → ODrive S1

We will also have a load cell and load cell amp to measure the force at which the user is pulling, which will then connect to the ESP32, which then communicates with the ODrive S1, and basically creating a loop.

Additionally, we don’t anticipate the user pulling on the cable too fast, since the objective is for the motor + gearbox to slightly underperform what the user is pulling so that the user is able to pull at their max lift. This is programmed through the ESP32. I hope that all made sense. If not, please feel free to ask me to clarify (also, the motor I linked was incorrect, it’s actually this, it’s 48V, 440W, 1.4Nm, 3000RPM)