Thermistors

Over Temperature Current Limiting

There are two temperature sensitive currrent limiting modules on the ODrive Pro, <axis>.motor.fet_thermistor and <axis>.motor.motor_thermistor. The temperature reading (in Celcius) from each thermistor can be monitored from <thermistor>.temperature.

When enabled, either module will start limiting the motor current when the <thermistor>.config.temp_limit_lower threshold is exceeded. Once <thermistor>.config.temp_limit_upper is reached the ODrive will exit CLOSED_LOOP_CONTROL

and return either INVERTER_OVER_TEMP or MOTOR_OVER_TEMP, depending on which module reached the upper limit.

Warning

The lower and upper thresholds for <axis>.motor.fet_thermistor can be changed, but this is not recommended.

Connecting Motor Thermistors

Both the D5065 and D6374 motors come with a built in thermistor. For all other thermistors make sure they are an NTC type thermistor before use.

Note

For users migrating from ODrive v3.*, no external circuitry is required to use a motor thermistor. The ODrive Pro has a built in 1k ohm voltage divider.

Thermistor Coefficients

Every thermistor is different and thus it’s necessary to let the ODrive know how to relate voltage and temperature, this is done setting the polynomial coefficients poly_coefficient_[0-3]. The suggested method of setting these is to run

set_motor_thermistor_coeffs(axis, Rload=1000, R_25, Beta, Tmin=-10, Tmax=150, thermistor_bottom=True)

These parameters describe the thermistor characteristics and are defined as follows:

  • axis: Which axis to set the motor thermistor coefficients for (odrv0.axis0 or odrv0.axis1).

  • Rload: The Ohm value of the resistor used in the voltage divider circuit. (advanced users only)

  • R_25: The resistance of the thermistor when the temperature is 25 degrees celsius.

    • Can be found in the datasheet of your thermistor.

    • Can also be measured manually with a multimeter.

  • Beta: A constant specific to your thermistor.

    • Can be found in the datasheet of your thermistor.

  • Tmin and Tmax: The temperature range that is used to create the coefficients.

    • Make sure to set this range to be wider than what is expected during operation, for example -10 to 150.