I wanted to confirm if the current rating on the odrive should be set to 2 x (current drawn by motor )?
The supplier of the motor mentioned that if I wanted the motor to draw 8A for the required torque then I had to set the motor controller current limit at 16A, does that make sense?
Hi! That’s maybe an okay rule of thumb, but I think there’s definitely better methods. It all really depends on the duty cycle of your application – if your motor will continuously be outputting maximum power/torque, you want your current limit to be the maximum current of the motor before it incurs thermal damage. However, if your application is characterized by brief transients between periods of lower load, you can set the maximum current to 2-3x the motor continuous current, and just make sure it doesn’t get too hot. The absolute best solution is to use a motor with a thermistor in it, and connect that to the ODrive – that way, the ODrive can monitor the temperature of the motor, and reduce the current if it gets too hot.
It doesn’t seem like that motor has a thermistor, and 8A already seems very high for that size and resistance of motor, so I’d probably keep it to 8A just to be safe. You would have to take the motor shell off and add a thermistor inside it, which can be tricky and takes a lot of care.
Other than that, sounds like you would want position control in trapezoidal trajectory move – that provides for smooth point-to-point movements.
The ODrive and motor will both see the same current. When I’m looking at this motor’s datasheet, I’m seeing a very small but high resistance motor, that’s going to generate a lot of heat at 8A. The datasheet is also specifying 8A as the absolute maximum current, and there’s also no thermistor in the motor to monitor the temperature. So I’d start with a current limit of 8A, but monitor the ODrive’s output current and ensure that it doesn’t go above around 4-5A continuous during normal operation. If so, you may need to decrease your current limit or get a stronger motor.