Skip to content

Diagnostic Monitoring

The controller performs both start-up and continuous monitoring of various conditions. A condition that is outside a normal range may cause the controller to automatically take mitigating action (e.g. cut back output power) or trigger a fault.

For clarity, the term condition refers to a specific status indication. A low battery voltage is an example of a condition. The term fault refers to a condition that causes the controller to inhibit motion, and requires a keyswitch cycle to clear.

So, for example, a throttle deadband check can result in a condition that inhibits motion, but it is not a fault. When the condition clears (throttle moved back to neutral) the condition clears and motion is allowed.

Conditions

The following conditions are monitored and reported as status. Conditions are not exclusive (more than one abnormal condition can be reported at a time)

Controller Temperature

An onboard sensor measures the temperature of the controller near the drive electronics. As the temperature rises near the limit, the controller will indicate a high temperature condition and automatically reduce power. When the temperature decreases, output power will be restored and the high temperature indication will clear.

Motor Temperature

When wired to a temperature sensor in the motor, the controller monitors the sensor. There are two temperature thresholds that the controller looks at. The first one causes the motor current to be cut in half. The second higher limit will cause the motor to stop and a fault will be generated and a key switch cycle will be required.

Under Voltage

The controller monitors the input voltage and compares it to two values: a threshold for displaying a low battery indication (Undervoltage), and a second threshold (Severe Undervoltage) that reduces the output power in order to extend battery life and potentially allow the vehicle to return to a charging point before stopping completely. When the voltage drops below the severe undervoltage threshold by a few volts, the controller switches off. Cycling keyswitch will turn the unit back on if the system voltage has increased above the severe undervoltage limit.

To troubleshoot an under-voltage condition, check for

  • Depleted batteries
  • Correct wiring between the battery and motor controller
  • Correct configuration of the low-voltage limit.

Over Voltage

The system High Voltage Limit is configurable. If the system voltage increases toward this limit, the controller will report an overvoltage condition and will begin to limit the output power. When the over-voltage condition clears, power will be restored. A common situation that can lead to an overvoltage condition is heavy regenerative braking with a fully charged battery.

If the voltage continues to rise above the high-voltage limit, the controller will stop to protect the hardware from damage. The controller will resume operation when the over-voltage condition clears and (if Deadband Check is enabled) the throttle returns to a neutral position.

Current Limiting

If the output current to the motor exceeds the preset limit, the controller limits its output to prevent damage to the system.

Throttle Deadband Check

If configured to do so, the controller will not allow movement after power on, until the throttle has been detected to be in the neutral position. This is intended to prevent unexpected movement when the controller is switched on, and the throttle is not in neutral. Moving the throttle to the neutral position will clear the condition.

Other things to check:
- Correct configuration of the Throttle Deadband
- Correct configuration of the Throttle Neutral
Correct configuration of the No Deadband Start setting.

Quickstop Active

The Quickstop input allows the external system to inhibit motion. The Quickstop signal is configurable; for example, whether it is active high or low, how quickly the motor decelerates when the condition occurs, and whether the keyswitch must be cycled in order to restore motion.

Typically this condition means that a safety sensing device such as a seat switch, proximity sensor, emergency stop button has been activated. Check for
- A device connected to the Quickstop input indicating a stop condition
- Loose or broken connection to the Quickstop input
- Incorrect configuration of the Quickstop input

Motor Stall

A stall condition was detected using the motor position sensors. Check for

  • Obstacles preventing movement
  • Correct wiring to the motor and motor sensors.
  • Correct configuration of the motor sensor(s)

The controller will continue to provide power to the motor during a stall condition.

CAN Communication

If CANBUS equipped, and CAN is being used to provide control inputs, a loss of CANBUS communication (too many missed messages or bus off condition) will cause the controller to inhibit motion. Re-establishing the CAN connection will restore operation. Note: if the Deadband Check feature is enabled, the throttle must first be moved to the neutral position before motion is allowed.

Motor State

The controller provides a motor state output byte that is useful for monitoring the drive state of the controller. Its value is one of the following. See System Status Message for more information.

State Condition Description
0 Powering Up/Down A temporary state while the controller completes its power-up or power-down processing
1 Idle The controller is ready but is not driving the motor
2 Idle Hold The controller is ready but is not driving the motor, and is in a regenerative braking mode that resists motion.
8 Overvoltage Protect The controller is limiting output power due to a high input voltage condition
9 Diagnostic Fault Motion is inhibited due to a fault condition
10 Operating Fault Decel The motor is stopping due to an abnormal condition
11 Operating Fault Zero PWM The motor is stopped due to an abnormal condition
14 Reverse Limited The controller is driving reverse, but a power-limiting condition is active. Refer to PWM Diagnostics for details.
15 Forward Limited The controller is driving forward, but a power-limiting condition is active. Refer to PWM Diagnostics for details.
16 Reverse Idle The controller is ready to drive in reverse. The throttle is in a neutral position
17 Forward Idle The controller is ready to drive forward. The throttle is in a neutral position
24 Reverse The controller is driving in Reverse
25 Forward The controller is driving in Forward

System State

The controller provides a status output that signals conditions in an abnormal range. It is possible for multiple conditions to be reported as out-of-range at the same time. See System Status Message for more information.

Bit Mask Condition Description
0x01 Overtemperature The on-board sensor is indicating a temperature approaching the limit
0x02 Stall The controller has detected that the motor is not moving (stalled). This condition applies to BLDC motor types.
0x04 Undervoltage The controller has detected that the input voltage is near or below the undervoltage threshold.
0x08 Overvoltage The controller has detected that the input voltage is near or above the high voltage threshold.
0x10 Sensor_Fault Set when invalid motor sensor pattern detected
0x20 Over Volt Protect Set when High Volt Protect active
0x40 Throttle Fail Set when throttle has entered fail band
0x80 Quickstop Active Set when quick stop active

PWM Diagnostics

The controller provides a status message that contains information about what could be causing no PWM or limited PWM to occur. Multiple bits can be set. See System Status Message for more information.

Bit Mask Condition Description
0x01 Accel Drive PWM is set to zero due to acceleration drive
0x02 Hard Stop PWM is set to zero due to hard stop
0x04 Limited PWM is being limited by unspecified source
0x08 Max PWM PWM is being limited by max_pwm setting
0x10 Low Battery PWM limiting w/in range of Low Battery Voltage
0x20 High Voltage PWM limiting w/in range of High Battery Voltage
0x40 High Temperature PWM limiting w/in range of High FET Temperature
0x80 High Motor Temperature PWM limiting w/in range of High Motor Temperature

Stop Diagnostics

The controller provides a status message that contains information about what caused the motor to stop. This is an enumerated value. Bits 0-3 contain the value. See System Status Message for more information.

Value Condition
0 No stop condition
1 Drive time exceeded
2 Forward/Reverse inhibits active
3 Digital stop active
4 Qstop pin active
5 Seat stop active
6 Charging active
7 Deadband start fault
8 Key off active
9 Throttle failure active
10 Sensor failure active
11 ANIN stop active
12 Waiting for deadband start
15 Latched Failure

Miscellaneous Diagnostics

The controller provides a status message that contains miscellaneous information about what could be causing certain faults or conditions. See System Status Message for more information.

Bit Mask Condition Description
0x01 Reserved
0x02 Reserved
0x04 Reserved
0x08 Reserved
0x10 Reserved
0x20 Sensor Error Hall Effect Sensor error active
0x40 ANIN Limit Motor temperature is above software limit. Throttle input range is being affected.
0x80 Seat Stop Active Seat Stop request active

Charge Mode

The charge mode status byte indicates the status of the connected battery charger (applies to compatible chargers only). If no status bits are set, the controller is not in charging mode.

Bit Mask Description
0x01 Pre-Charge
0x02 Bulk Charge
0x04 Balancing
0x08 Float

Logs

The controller maintains the following statistics in non-volatile memory.

Item Description
Hour Meter Displays the number of hours the controller has operated.
Low Batt Displays the number of hours the controller has operated with the battery voltage input below the low voltage threshold.
Overtemp Display the number of over temperature faults that have occurred.
Tht Faults Display the number of throttle faults that have occurred.
Chg NoFloat Displays the number of times the charge cycle did not complete (integrated charging only).
Fault Log Contains the last 16 diagnostic fault codes.

Identification

Item Description
Serial # The controller’s factory-assigned serial number.
Motor SW Version Indicates the version of software (major.minor.patch) contained in the motor control microprocessor
Comm SW Version Indicates the version of software (major.minor.patch) contained in the CANBUS microprocessor (for CANBUS-equipped controllers)
Controller Type Indicates the type of motor controller (e.g. Brushed DC Traction Controller, BLDC Traction Controller, BLDC Chore Controller, etc)