Motor drawing almost no power

#1

Hi

I’m running my motor in closed loop control and if I try to stop the motor from Turing by pushing on the ball screw nut, the motor spits out and error:
ERROR_CURRENT_SENSE_SATURATION

At that point it only draws 200 watts from the supply even tho the current limit is set to 50A and the supply voltage is 48V. I know that the amps from the motor and the amps from the supply are not the same, but I’m pretty sure there is something else going on.

Does anyone know what’s going on?

Cheers

Carelsbergh Stijn

#2

What is the motors kV and how fast was the motor spinning at the time. Last I checked the saturation current was 75A. Assuming your input power measurement is accurate at around 200W, and the saturation current of 75A would suggest you have around 3V or less on the motor phases. I am taking guess here, but the kV of the motor is probably around 500 - 1000 RPM/V and given you are driving ball screw the RPM is probably pretty low meaning the phase voltage on the motor is very low. This would mean that the ODrive is working as it should and you are indeed saturating the current sensors. With out more info on the motor, it is hard to say.

Hope that helps

#3

Hi

The motor is a keda 63-64 motor with a Kv rating of 190. So this is normal? Is it even possible to diliver 2000w then? And how? Or why not?

Cheers

Carelsbergh Stijn

#4

What RPM where you running at when you tried this?

#5

Vel limit was 40000 with a 1600cpr encoder

#6

ok, but how fast is the motor actually spinning when you tried this?

Try to think of it like this:
Input power: supply voltage (48) * supply current (measure it)
motor voltage ~= RPM / Kv
motor current ~= input power / motor voltage

so in your case:
input power is 200W
motor voltage = 3V (assuming you are actually saturating the current sensor, 200W/75A ~= 3V)
this would mean your motor is spinning around 570RPM or lower. If this is correct, then what you are seeing seems pretty reasonable.

You can get full power out of the ODrive if you speed the motor up, this would increase the voltage on the motor and therefor a higher saturation power (75A)

If you wanted 2000W out then:
input power = 2000W
motor voltage = 2000W/75A = ~27V
motor speed = 190 * 27 = 5130 RPM
motor current = 2000W / 27V = 74A
That should give the minimum speed (5130RPM) to achieve full 2000W output.

1 Like
#7

First of all thanks for replying

  • where does your 75A come from?

  • what does the saturation point mean?

  • the motor was Running at about 1500RPM

Cheers

Carelsbergh Stijn

#8

The control method the ODrive uses, needs to measure the current on each phase of the motor. On the ODrive this is done my measuring the voltage drop across a resistor (R27 and R28 in the schematic). The voltage across the resistor is amplified (there are a few gains to choose from, I think they are 20, 40 and 80. These are internal to the DRV8301 gate driver IC) and conditioned such that the output signal that gets to the MCU’s ADC is in the ADC’s measurable range (0-3.3V). In the current hardware and firmware configuration, the current that causes 3.3V to appear at the ADC input is 75A (or it used to be at least) and any current higher than this 75A is not measurable.

Link to firmware where current sensor gains can be selected. I am not sure what the default is anymore

Back to your case:
1500RPM gives about 8V at the motor
Which means at 200W input (if you are reading that off of the power supply display, expect it to be reading low. The ODrive should error out faster than the PSU display updates. The PSU will also be showing somewhat of an average and no the peak power, which is what we are interested in here) you have ~25A (average) going through the motor. This seems low, but based on the info provided I can see how a peak to 75A could be reached relatively easily

1 Like
#9

So this means I’m getting the maximum power from the motor? Do I need to increase or decrease the speed to get more power?

Thanks a lot

#10

Right now you are not getting full power out of the motor because you are not spinning fast enough.
The faster the motor spins, the higher the voltage on the motor, the maximum current that can flow through the motor is limited by the measurement hardware.

Low speed, high current = low power
high speed, high current = high power

2 Likes
#11

Don’t you have to take line to line and fase voltage and current into account?

#12

If you want anything more than a back of the envelope calculation, then yes sure. But for now, this shows that the error message you are getting is reasonable, and your ODrive is functioning correctly.

#13

If I use more then 27V the force of the actuator will decrease again?

#14

No!
You must always conserve power. Higher voltage lower current. The minimum voltage to reach 2000W when you have a 75A current limit is 27V. You can increase the voltage beyond this point, and the current will be reduced, whilst maintaining the same 2000W

#15

Yes but the force of the actuator is determined by torque and torque is determined by current, If I increase the voltage, the current will drop so the actuator will move faster but with less force

Also I don’t get why the motor current would be 75A if I set a max current of 60A?

#16

Ok, yes. The torque will decrease. If you have set a current limit of 60A, its possible that the current control loop gains are not optimal. When you suddenly apply a load, the current exceeds the 60A set point before settling at 60A. The current sensor saturation error should immediately halt the controller as you can’t control the current any longer.
I suggest you have a look at how the current sensor saturation error and the current limit is implemented.

#17

For your specific motor the peak power at base speed is only 1.6 kW (value pulled from Oskars Motor Guide, which uses a lower peak current value of 50A for the KEDA 63-64 motor). So to answer your question, unless you have proven that you can reliably exceed 50A, it won’t be possible achieve 2 kW of power at the motor shaft.

With good cooling, you should be able to achieve up to roughly 2 Nm at the motor shaft without exceeding current limits. Because the shaft is buried inside your actuator it may actually be easier to measure how much force you get through the actuator by incorporating whatever your gear ratio is between the motor shaft and the end of your actuator. You can then hang weights off of your actuator to see if you achieve the expected forces given a peak torque capability of 2 Nm and some torque to force conversion ratio that can be calculated from the ball screw spec sheet.