|
HF-TMC9660 Driver 0.1.0-dev
Hardware Agnostic C++ Driver for the TMC9660
|
Subsystem for motor thermal overload protection via I²t integration. More...
#include <tmc9660.hpp>
Public Member Functions | |
| bool | configure (uint16_t timeConstant1_ms, float continuousCurrent1_A, uint16_t timeConstant2_ms, float continuousCurrent2_A) noexcept |
| Configure the two I²t monitoring windows. | |
| bool | resetIntegralState () noexcept |
| Reset both I²t accumulators to zero. | |
| bool | setThermalWindingTimeConstant1 (uint16_t ms) noexcept |
| Set the winding time constant for window 1. | |
| bool | getThermalWindingTimeConstant1 (uint16_t &ms) noexcept |
| Get the winding time constant for window 1. | |
| bool | setLimit1 (uint32_t limit) noexcept |
| Set the I²t limit for window 1. | |
| bool | getLimit1 (uint32_t &limit) noexcept |
| Get the I²t limit for window 1. | |
| bool | setThermalWindingTimeConstant2 (uint16_t ms) noexcept |
| Set the winding time constant for window 2. | |
| bool | getThermalWindingTimeConstant2 (uint16_t &ms) noexcept |
| Get the winding time constant for window 2. | |
| bool | setLimit2 (uint32_t limit) noexcept |
| Set the I²t limit for window 2. | |
| bool | getLimit2 (uint32_t &limit) noexcept |
| Get the I²t limit for window 2. | |
| bool | getActualTotalMotorCurrent (uint32_t ¤t, uint8_t motorIndex=0) noexcept |
| Read the total motor current (torque+flux). | |
| bool | getSum1 (uint32_t &sum) noexcept |
| Read the current integrated sum of window 1. | |
| bool | getSum2 (uint32_t &sum) noexcept |
| Read the current integrated sum of window 2. | |
Private Member Functions | |
| IIT (TMC9660 &parent) noexcept | |
Private Attributes | |
| TMC9660 & | driver |
Friends | |
| class | TMC9660 |
Subsystem for motor thermal overload protection via I²t integration.
Configures two independent I²t windows that monitor integrated current over time (in A²·ms) to detect thermal overloads. If either limit is exceeded, a fault is triggered.
IIT_1_EXCEEDED, IIT_2_EXCEEDED
|
inlineexplicitprivatenoexcept |
|
noexcept |
Configure the two I²t monitoring windows.
| timeConstant1_ms | Time constant for window 1 [ms] |
| continuousCurrent1_A | Current limit for window 1 [A] |
| timeConstant2_ms | Time constant for window 2 [ms] |
| continuousCurrent2_A | Current limit for window 2 [A] |
|
noexcept |
Read the total motor current (torque+flux).
|
noexcept |
Get the I²t limit for window 1.
|
noexcept |
Get the I²t limit for window 2.
|
noexcept |
Read the current integrated sum of window 1.
|
noexcept |
Read the current integrated sum of window 2.
|
noexcept |
Get the winding time constant for window 1.
|
noexcept |
Get the winding time constant for window 2.
|
noexcept |
Reset both I²t accumulators to zero.
|
noexcept |
Set the I²t limit for window 1.
|
noexcept |
Set the I²t limit for window 2.
|
noexcept |
Set the winding time constant for window 1.
|
noexcept |
Set the winding time constant for window 2.
|
private |