What is the max eRPM of the ODrive Pro? Is there a limit?

I’m using the ODrive Pro for a research project on assisted knee braces.

While, I only need to high current and torque at low RPMs when the knee brace is in active support, in the knee brace “following” mode, the motor needs to be able to keep up with the human knee, which travels at up 200 RPM, to prevent knee resistance from trying to back-drive the motor.

The problem is that the gear box is a 1:64 gear box reduction. So the motor needs to run close to 14000 RPM to aid in back drivability. We found an encoder that works at those RPMs fine, that work with the ODrive (from the spreadsheet). However we know that the ODrive 3.6 maxed out at 35000 eRPM, which for a 14 pole motor, means 35000/14 = 2500 RPM.

We’re running the 270 kv motor (off the store page) at 56 V to be able to get to that RPM, (note that this under no load back drivability assistance, so we don’t expect the higher voltage to do any damage).

Does the ODrive Pro have an eRPM limit? I couldn’t find it in the docs. And does the 75% rule still apply? Is there any way around it?

Here is the motor we are using:
Dual Shaft Motor - D5065 270kv — ODrive (odriverobotics.com)

And here is the encoder:
AS5047P-ATSM ams OSRAM | Sensors, Transducers | DigiKey

image

We’re really excited for this project, just stuck on this last crucial design detail. I appreciate any assistance.

Yes, the ODrive Pro has an eRPM limit, which is a software-defined maximum speed limit for the motor. The exact limit depends on the specific version of the ODrive and the configuration settings, but it is typically in the range of 50,000 to 120,000 eRPM.

The 75% rule refers to a guideline for setting the maximum motor speed in relation to the motor’s maximum rated electrical RPM (eRPM). The idea behind the rule is to limit the maximum motor speed to 75% of the maximum rated eRPM to ensure safe and reliable operation of the motor and drive system.

Whether the 75% rule still applies depends on the specific motor and drive system being used, as well as the application and operating conditions. Some motors and drive systems may be able to safely operate at higher speeds, while others may require a lower speed limit.

There is no one-size-fits-all answer to whether the 75% rule still applies or not, as it depends on the specific components and system being used. If you are unsure about the maximum safe speed for your system.

You could try to message Oskar, or one of the pro helpers if they are around! :slight_smile:

Hello! A very interesting project you have there. One hurdle is that maximum eRPM limit to ensure you have good position feedback and enough controls loop cycles per electrical cycle of the motor. Seems like that may be ok, but you are pushing it pretty high.

This brings up a comment, though this is likely a piece of what is interesting about the project. With gear reduction in an actuator, make sure to consider the output acceleration as well as speed. Look at the reflected moment of inertia of the motor’s rotor to the output, which goes as GearRatio^2. This is effectively the moment of inertia you have to accelerate if backdriven from the output. Put a different way, what is the motor torque required to follow the desired knee acceleration capability in following mode? The motor may have to work very hard or not be able to achieve this acceleration based on it’s performance limit, before the smarts of the following mode is implemented. If it can’t, generally you want to decrease gear ratio and upsize the motor to improve bandwidth.

Good luck on your project! Make sure to post some updates and and any papers you write that you can share!

@jxb176 Messaged me in a conversation the following:

180,000 eRPM is very high. That is 3000 Hz fundamental frequency on commutation. The spec listed is 800 Hz max electrical frequency for odrive pro. It seems that may improve at some point but I wouldn’t count on it. 1000Hz is a limit I often use for design of aerospace motors, but lower is preferred for robustness. My advice is you need to drop your max electrical rpm by at least that factor of 3.5 with a lower pole count motor or reducing the gear ratio.

I miscalculated, the motors I were looking at had 14 poles, but 7 pole pairs. In order to run a 190 KV motor at 56 V up to top speed, I only need to hit 74480 eRPM. However, the ODrive Pro specification is only listed as being able to reach 800 Hz, or 48000 eRPM for the 7 pole pair motors.

You stated:

Yes, the ODrive Pro has an eRPM limit, which is a software-defined maximum speed limit for the motor. The exact limit depends on the specific version of the ODrive and the configuration settings, but it is typically in the range of 50,000 to 120,000 eRPM.

Can I ask where you were able to find this? We seriously want to be able to reach around 75,000 eRPM in order to make full use of the motor without gearing down.

So the Pro has 3 shunts, which allows us to go up to 100% modulation depth (i.e. you will actually get Vbus * Kv instead of 70% of Vbus * Kv). That is independent of the controls firmware, which runs at 8kHz, and by default does not include feedforward terms. This will be the most limiting part for now (we plan to increase the controls loop rate and automatically enable FF terms when possible)

If you set the torque_constant correctly (and pm_flux_linkage), you can enable the feedforward terms, which should allow much higher speeds:

  • wL_FF_enable
  • bEMF_FF_enable
  • ff_pm_flux_linkage
  • ff_pm_flux_linkage_valid

See ODrive Reference — ODrive Pro Documentation 0.6.5 documentation for explanations