TIP: Importance of Motor Torque/Current Derating to Avoid Overheating

Hey all,

Just had a good learning experience and wanted to post here in a good searchable post. Hopefully I have enough keywords in the title :stuck_out_tongue:

It is clearly stated in the motor guide that the given performance (torque / max current) values are expected under active cooling ie fan etc. The motor guide also links to the Torque Derating Curve which illustrates how you should probably de-rate your expectations based on cooling (or not cooling).

If you missed this, like me, don’t beat yourself up about it. I would certainly +1 adding the derating curve to the getting started guide in the docs. I’ll post here for the un-initiated:

General rule of thumb appears to be 70% derating for no-cooling, 50% derating for some light airflow and only with forced airflow expecting something close to the max torque. More specifically we’re talking about current here. If you go above 30% of you max current specced on the motor without any cooling you will likely fry the motor. Please see figure A below as a very recent example of this using the ODrive D6374 150Kv motor. The fan used in this stress test is on the ODrive FET’s not the motor. Temp here is the fet temp and as you can see the Amps demanded increase because the motor itself is overheating and can’t overcome the drag motor (Drag Amps). You can see the test setup here.

In this case I was using a 30A drag current on a separate motor and the driving motor tried to compensate with 35A of drive current. For a motor rated at 70A ~ish, I was running at 50% max rated current with out a fan for close to 10 minutes before it melted.

What does this all mean?

  1. First and foremost, follow the torque derating curve when calculating your current limits, especially for those of us out there getting into performance applications.

  2. As is stated in other posts, but not as explicitly as maybe one would like, fet temps should not be your first focus when looking at performance, focus on motor temps, derate accordingly and apply cooling if needed. Many have stated ODrive FETs can withstand 40A continuous with just the heatsinks and for a high torque application like the D6374 you should probably derate to 20A so you’re likely fine.

  3. Get interested in multi-stage gearing for applications that can’t use forced air cooling. Derating by 70% is not as crazy as it sounds if you’re introducing gear reductions into your system. We currently have a 15:1 gear reduction, we could simply add another 3:1 stage in the powertrain to bump it up to our original expectations.

  4. Check your expectations! I will take full responsibility for trying to test everything at full bore right out the gate, I love testing and braking things. That said, after revisiting my calculations we really only need 10-20A in our rover application under heavy loads (ie 50-150kg) soooo, yeah don’t always start at 11 if you don’t have to.

Overall, really happy with the ODrive motors, I just ordered a few more to replace our burnouts and will be doing more testing under continuous loads at far lower currents. Hope this is helpful to folks.

7 Likes

Thanks for the great writeup, I’m sure it will help several others.

The motors we sell have a thermistor on them, and with a few external components you can hook it into the ODrive v3.6 to also monitor motor temperature and apply automatic thermal feedback current limiting. Some more instructions here.

1 Like

@madcowswe @Wetmelon referencing the last comment here, my understanding is that the ODrive 3.6 does not have thermistors for the motor temp reading and that those need to be provided on a separate circuit. Am I correct there?

Correct. We have analog inputs that can be used for motor thermistors, but you need to provide the voltage divider circuit. It’s in the docs https://docs.odriverobotics.com/thermistors