Current limiting on ODrive

Hi ODrive team,

I’ve been running into a problem with my system lately. We just started using a new iteration of actuators in our system. A problem I’ve been running into with this system is a static friction that is quite a lot higher than on the previous system. This leads my drives to trigger the over current limiter. Now I realize I could just increase the current limit or margin but I am not sure that would be smart in my case. My system may, at times, run at high current for an extended amount of time so just increasing the limits seems like a good way to burn out my motors. I am looking into ways to mitigate the issue and have found either checking whether the value stays high works and a method called I2t limiting. I was wondering if you have looked into limiting in this way, or if this problem has ever come up before? And if so, if a method of implementation is available. I am not too confident in editing the firmware of the current controller myself so I thought checking in might be smart.

Any help would be appreciated, thanks.

Hi! I^2t limiting is definitely a common approach – not something we have in the firmware yet, but definitely something for the future.

My advice - does your motor have a thermistor?

Hi,

Good to hear you agree with my method. Sadly our motor does not have a thermistor on the motor. I thought maybe we could use the fet temperature from the ODrive but I think those are unrelated.

Thanks for the response, I am going to look further into the i2t protection.

Ah makes sense. You could keep track of the I^2t on your motion controller. What motors though? Sometimes you can add a thermistor.

We use motors from T-motors, these:U8Ⅱ Lite Efficiency Type UAV Motor KV100_U Efficiency Type_U Type_Motors_UAV Power_T-MOTOR Official Store - UAV Power System, Robot Power System, Model Power System .

I have succesfully implemented an I2t protection in the firmware, just bellow the current_limit_violation check. It works but from what I can tell it will only really trigger after a very long time at my regular usage. I did feel save enough to increase my current margin in the config. I now get a different error though: ERROR_CURRENT_SENSE_SATURATION. I investigated a bit further but it seems to have something to do with the voltage limit of some of the sensors. On my firmware they are set to low limit: 0.3V and upper limit 3.3V. I am wondering if its a good idea to increase these limits? I don’t want to burn out my hardware but I do want to get past this issue.
I am also wondering if there is an upper limit to which I can increase the current limit margin before stuff starts to break on the ODrives themselves. As I said before in my original post the current spikes are only present in short periods when the actuators have to move from standstill to high speeds.

Thanks for the help.