Tool/software:
When I try to enable the brake function, the MCF8316D immediately reports a WATCHDOG_FAULT in the CONTROLLER_FAULT_STATUS register. What's going on?
I have enabled the watchdog timer with the following settings (all set at once in a single I2C register write operation):
- EXT_WDT_EN = 1 (enabled)
- EXT_WDT_INPUT_MODE = 0 (tickle over I2C)
- EXT_WDT_FAULT_MODE = 1 (latch MOSFETs in HI-Z)
- EXT_WDT_CONFIG = 1 (2 seconds)
The behavior is the same regardless of the value of EXT_WDT_FAULT_MODE or EXT_WDT_CONFIG. The WATCHDOG_FAULT triggers immediately upon activating the brake, regardless of the watchdog timeout or how recently the watchdog was tickled. The WATCHDOG_FAULT cannot be cleared until the brake is deactivated.
The behavior is the same regardless of whether I set BRAKE_INPUT to 0 (hardware pin) and toggle the BRAKE pin on or set BRAKE_INPUT to 1 (override hardware pin and brake).
The behavior is different if the motor is running fast enough to engage the soft stop function. In that case, when I activate the brake, the ALGORITHM_STATE transitions to SOFT_STOP and the motor gradually slows down. Once the motor speed is below the soft stop threshold, the ALGORITHM_STATE transitions to BRAKE_ON_STOP, the WATCHDOG_FAULT immediately triggers, and the motor does not brake.
I find this behavior very mysterious. I have been able to reproduce it with the EVM board and with my own PCB.
How do I use the brake together with a watchdog?
Jeff.