TABLE OF CONTENTS
- Overtemperature Fault
- Overvoltage Fault
- Undervoltage Fault
- Short Error Fault
- Emergency Stop
- Motor Sensor Error
- MOSfail
- DEFConfig
- STOfault
This guide provides troubleshooting information based on the fault flags triggered on the controller. It presents possible causes, along with suggestions for investigation and corrective actions. At the end of each fault flag table, a set of suggested stream commands for logging and troubleshooting will be provided. Users can record and plot the logs or forward them to Roboteq support engineers for further analysis.
Overtemperature Fault
The Overtemperature fault is triggered when the measured temperature (motor, MCU or heatsink) exceeds the user configured value. 5 degrees below the configured value, the motor power (provided PWM duty cycle) will start to decrease by 20% for every degree.
Trigger Condition | Action | Recover |
Motor, MCU or heatsink temperature is higher that the configured value. | Power stage is OFF. | The error clears once the temperature drops below the configured threshold. |
The troubleshooting table follows:
Heatsink Overtemperature | ||
Possible causes | Investigation | Corrective actions |
Wrong overtemperature limit. The controller temperature will vary on various factors, such as the current consumption, the environment temperature, and the cooling. | Check if the correct overtemperature limit has been configured based on the operating conditions. | Set the correct overtemperature limit |
Insufficient cooling. The ratings of continuous and peak current in the controller datasheet require proper cooling | Measure the temperature of the controller's cooling plate to confirm that the reported correspond to the real value. | Improve the cooling of the controller by using air cooling or increasing the heatsink dimensions |
Underrated controller. If, despite proper cooling, the controller is still heating up, it may indicate that the nominal current required is higher than the rated value, or that the peak current is being provided for a longer duration than the allowed time. | Compare the motor and controller specs | Use a higher-rated controller |
Possible failure in the temperature measurement circuit. Although this is a rare fault, it could occur under certain conditions. | Power off the system for sufficient time to cool down and compare the reading with ambient temperature | This kind of failure is not repairable, so the damaged controller should be replaced |
Damaged controller. An internal short can lead to increased temperature | If the controller temperature exceeds the ambient temperature by more than 10 degrees Celsius when the controller is idle, it may indicate possible damage | Replace the controller. |
A controller's input is supplied with more that 30 V. It has been observed that if more than 30 V are provided to any of the controller's inputs the analog input measurements of the other inputs can be affected. | Confirm that none of the controller inputs is supplied with more than 30 V. | Do not use more than 24 V in the controller inputs |
Miscalibrated Controller. If the controller is miscalibrated and the reported motor current is incorrect, the current limiting process will be affected. As a result, the temperature may increase without any apparent reason. | Measure the motor current by using a clamp meter and compate it with the reported current by the controller. | If the reported current is wrong contact Roboteq's technical support |
Motor overtemperature | ||
Possible causes | Investigation | Corrective actions |
Wrong overtemperature limit. The controller temperature will vary on various factors, such as the current consumption, the environment temperature and the cooling. | Check if the correct overtemperature limit has been configured based on the operating conditions. | Set the correct overtemperature limit |
Misconfigured temperature sensor. | Ensure that the thermistor used is a NTC type | Use the correct type of thermistor |
Insufficient cooling. | Measure the temperature of the motor' chassis to confirm that the reported correspond to the real value. | Check the motor mounting plate dimensions and compare it with datasheet. Consider improving it if necessary |
Underrated motor. The motor power might exceed the nominal values. | Confirm that the motor operates within the allowed limits. Ensure that the continuous and peak current values are respected and that the current is supplied for the permitted time | Enable the motor overtemperature detection. Note that enabling this protection will impact the provided power if the motor temperature approaches the temperature limit. Enable the I2T protection. I2T protection will start limiting the motor power if theenergy exceeds the configured limits. |
Failed thermistor circuitry. The required circuitrly consists of a NTC thermistor and a 10 KOhm pullup resistor | Ensure the circuitry is functional by checking the connections, measuring the pullup resistor and measuring the thermistor resistance and comparing it with the ambient temperature value. | Fix the external circuitry |
Failed controller input. If the external circuit is correct but the reported temperature is still wrong, then the controller might be damaged. | Power off the motor for sufficient time to cool down and compare the reading with ambient temperature | This kind of failure is not repairable, so the damaged controller should be replaced |
A controller's input is supplied with more that 30 V. It has been observed that if more than 30 V are provided to any of the controller's inputs the analog input measurements of the other inputs can be affected. | Confirm that none of the controller inputs is supplied with more than 30 V. | Do not use more than 24 V in the controller inputs |
Miscalibrated Controller. If the controller is miscalibrated and the reported motor current is incorrect, the current limiting process will be affected. As a result, the temperature may increase without any apparent reason. | Measure the motor current by using a clamp meter and compare it with the reported current by the controller. | If the reported current is wrong contact Roboteq's technical support |
The streams that can be sent for logging according to the sensor and the operating mode used follow:
Channel 1:
Open Loop | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 1_?BS 1_?F 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 1_?S_?F 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?S 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 1_?SS 1_?F 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?A 1_?T 1_?T 2_?T 3_# 1000 |
Channel 2:
Open Loop | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 2_?BS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 2_?BS 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 2_?F 2_?BS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 |
Encoder | # c_/?RMP 2_?S 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 2_?F 2_?P 2_?A 2_?T 2_?T 2_?T 3_# 1000 | # c_/?TR 1_?S_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 2_?F 2_?S 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 |
SSI | # c_/?RMP 2_?SS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 1_?SS 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 2_?F 2_?SS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 |
Channel 1 and 2:
Open Loop | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?RMP 2_?BS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?P 1_?RMP 1_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 1_?BS 1_?F 1_?P 1_?A 1_?TR 2_?BS 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?A 1_?RMP 2_?F 2_?BS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?RMP 2_?S 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?P 1_?A 1_?RMP 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 1_?S 1_?F 1_?P 1_?A 1_?TR 2_?S 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?S 1_?P 1_?A 1_?RMP 2_?F 2_?S 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?RMP 2_?SS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?P 1_?A 1_?RMP 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?TR 1_?SS 1_?F 1_?P 1_?A 1_?TR 2_?SS 2_?F 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?A 1_?RMP 2_?F 2_?SS 2_?P 2_?A 2_?T 1_?T 2_?T 3_# 1000 |
Overvoltage Fault
The Overvoltage fault is triggered when the measured voltage of the DC bus (battery voltage) exceeds the user configured value.
Trigger Condition | Action | Recover |
DC bus voltage is higher that the configured value. | Power stage is OFF. | The error clears once the voltage becomes lower than the configured value minus the overvoltage hysterisis value. |
The troubleshooting table follows:
Possible causes | Investigation | Corrective actions |
Configured overvoltage limit is set too low. Notice that The battery voltage will exceed the nominal value when the battery is fully charged. | Ensure that the configured voltage limit is higher than the maximum battery voltage. | Confirm that the correct voltage limits are set through Roborun+ Utility, |
Regeneration current has no path to return to the source. This can happen if a device connected between the battery and the controller prevents the curren flow | Ensure that the BMS used supports regeneration. | Never allow an open circuit between the battery and the controller while the motor rotates |
Battery cannot absorb the excessive regenerative energy. This can happen if the battery is fully charged, aged, or in poor health. | Check the battery's state of charge when the error occurs | Use a shunt regulator such as the Roboteq SR5K or |
| Verify in the PSU datasheet whether regeneration is supported or not. | If the PSU does not support regenerative energy consider using a shunt regulator such as the Roboteq SR5K or a breaking resistor. |
Damaged controller. A damaged controller can cause false positive overvoltage errors due to faults in the measuring circuit or MCU inputs. |
| Replace the controller. These kinds of failures are not repairable |
Transients can induce voltage on the DC bus, triggering the overvoltage error. | Use an oscilloscope and monitor the DC bus voltage when the error occurs | Ensure that induction loads (coils/solenoids) have flyback diodes |
A controller's input is supplied with more that 30 V. It has been observed that if more than 30 V are provided to any of the controller's inputs the analog input measurements of the other inputs can be affected. | Confirm that none of the controller inputs is supplied with more than 30 V. | Do not use more than 24 V in the controller inputs |
The streams that can be sent for logging according to the sensor and the operating mode used follow:
Channel 1:
Open Loop | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?V 2_# 10 | # c_/?TR 1_?BS 1_?F 1_?P 1_?A 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?A 1_?V 2_# 10 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?V 2_# 10 | # c_/?TR 1_?S_?F 1_?P 1_?A 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?S 1_?P 1_?A 1_?V 2_# 10 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?V 2_# 10 | # c_/?TR 1_?SS 1_?F 1_?P 1_?A 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?A 1_?V 2_# 10 |
Channel 2:
Open Loop | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 2_?BS 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?TR 2_?BS 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 2_?F 2_?BS 2_?P 2_?A 2_?V 2_# 10 |
Encoder | # c_/?RMP 2_?S 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?TR 2_?S 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 2_?F 2_?S 2_?P 2_?A 2_?V 2_# 10 |
SSI | # c_/?RMP 2_?SS 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?TR 2_?SS 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 2_?F 2_?SS 2_?P 2_?A 2_?V 2_# 10 |
Channel 1 and 2:
Open Loop | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?RMP 2_?BS 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?RMP 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?TR 1_?BS 1_?F 1_?P 1_?A 1_?TR 2_?BS 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?A 1_?RMP 2_?F 2_?BS 2_?P 2_?A 2_?V 2_# 10 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?RMP 2_?S 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?RMP 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?TR 1_?S_?F 1_?P 1_?A 1_?TR 2_?S 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 2_?F 2_?S 2_?P 2_?A 2_?RMP 1_?F 1_?S 1_?P 1_?A 1_?V 2_# 10 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?RMP 2_?SS 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?RMP 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?TR 1_?SS 1_?F 1_?P 1_?A 1_?TR 2_?SS 2_?F 2_?P 2_?A 2_?V 2_# 10 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?A 1_?RMP 2_?F 2_?SS 2_?P 2_?A 2_?V 2_# 10 |
Undervoltage Fault
The Undervoltage fault is triggered when the measured voltage of the DC bus (battery voltage) drops beow the user configured value.
Trigger Condition | Action | Recover |
DC bus voltage is lower that the configured value. | Power stage is OFF. | The error clears once the voltage becomes higher than the configured value. |
The troubleshooting table follows:
Undervoltage from Battery Volts | ||
Possible causes | Investigation | Corrective actions |
Configured undervoltage limit too high. | Confirm that the undervoltage threshold is below the battery's nominal voltage. Be aware that the battery voltage may decrease when a high current is drawn. | In Roborun+ utility change the undervoltage levels. |
Vmot supply is missing. The controller's logic can be powered either from pwr ctrl or Vmot, but the power stage is powered only from Vmot. The battery volts measurement takes place in the Vmot voltage | Confirm that the controller is properly powered through Vmot | Add the appropriate voltage in the Vmot connector. |
Short in the harness. A short could occur on either the battery or the motor side. A short in the harness could result in a connection between the battery poles, causing a decrease in battery voltage and the development of excessive current. | Check the harness for any shorts by utilizing a continuity tester. | If a short exists in the harness, the harness should be fixed. |
Shorted controller. A short in one or more of the controller's internal components could result in a connection between the battery poles, causing a decrease in battery voltage and the development of excessive current | Check the controller alone by using a power supply unit with current limitation, to see if it is shorted. |
|
Weak or discharged battery. | Investigate whether the undervoltage occurs when the motor draws high currents, typically during acceleration, deceleration, or when under a high load. | Use a battery of higher capacity |
Damaged battery measurement circuit. A damage in the battery measurement circuit could create a false positive alarm | Check the battery harness | Replace the controller. These kind of faults are not repairable. |
Undervoltage from controller volts | ||
Possible causes | Investigation | Corrective actions |
STO jumper is removed and not both STO inputs are high. If the STO jumper is removed or not connected, both STO inputs should be high. When STO functionality is not required, the STO jumper should be connected; otherwise, the MOSFET drivers will be deprived of voltage, triggering an undervoltage error. If you intend to use STO, both STO inputs must be high for the controller to function properly. | Check if the STO jumper is placed in the STO pins | If STO is intended to be used, then both STO inputs should be high for normal operation. If there is no intention to use STO, then the STO jumper should be added. In controllers that do not have a jumper connection for the STO, having both STO inputs high is mandatory. |
Hardware damage. A damage in the controller could affect the MOSFET drivers voltage (controller volts) | Ensure that the STO inputs are properly powered or that the jumper is connected. | If the controller is damaged then it should be replaced. |
A controller's input is supplied with more that 30 V. It has been observed that if more than 30 V are provided to any of the controller's inputs the analog input measurements of the other inputs can be affected. | Confirm that none of the controller inputs is supplied with more than 30 V. | Do not use more than 24 V in the controller inputs |
Investigation
An undervoltage error can originate either from the battery voltage (Vmot) or from the measured voltage of the DC/DC converter that powers the MOSFET drivers (controller volts). The STO circuitry directly controls the voltage provided to the MOSFET drivers, so damage to it could result in an undervoltage error. To determine the cause of the error, both battery volts (?V2) and controller volts (?V1) should be streamed.
The streams that can be sent for logging according to the sensor and the operating mode used, follow:
Channel 1:
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?TR 1_?BS 1_?F 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?A 1_?V 1_?V 2_# 10 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?TR 1_?S 1_?F 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?S 1_?P 1_?A 1_?V 1_?V 2_# 10 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?TR 1_?SS_?F 1_?P 1_?A 1_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?A 1_?V 1_?V 2_# 10 |
Channel 2:
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 2_?BS 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?RMP 2_?F 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?TR 2_?BS 2_?F 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?RMP 2_?F 2_?BS 2_?P 2_?A 2_?V1 _?V 2_# 10 |
Encoder | # c_/?RMP 2_?S 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?RMP 2_?F 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?TR 2_?S 2_?F 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?RMP 2_?F 2_?S 2_?P 2_?A 2_?V1 _?V 2_# 10 |
SSI | # c_/?RMP 2_?SS 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?RMP 2_?F 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?TR 2_?SS 2_?F 2_?P 2_?A 2_?V1 _?V 2_# 10 | # c_/?RMP 2_?F 2_?SS 2_?P 2_?A 2_?V1 _?V 2_# 10 |
Channel 1 and 2:
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?RMP 2_?BS 2_?P 2_?A 2_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?RMP 2_?F 2_?P 2_?A 2_?V 1_?V 2_# 10 | # c_/?TR 1_?BS 1_?F 1_?P 1_?A 1_?TR 2_?BS 2_?F 2_?P 2_?A 2_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?A 1_?RMP 2_?F 2_?BS 2_?P 2_?A 2_?V 1_?V 2_# 10 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?RMP 2_?S 2_?P 2_?A 2_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_?RMP 2_?F 2_?P 2_?A 2_?V1 _?V 2 _# 10 | # c_/?TR 1_?S 1_?F 1_?P 1_?A 1_?TR 2_?S 2_?F 2_?P 2_?A 2_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?S 1_?P 1_?A 1_?RMP 2_?F 2_?S 2_?P 2_?A 2_?V 1_?V 2_# 10 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?RMP 2_?SS 2_?P 2_?A 2_?V1 _?V 2__?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?P 1_?A 1_? RMP 2_?F 2_?P 2_?A 2_?V1 _?V 2 _# 10 | # c_/?TR 1_?SS_?F 1_?P 1_?A 1_?TR 2_?SS 2_?F 2_?P 2_?A 2_?V 1_?V 2_# 10 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?A 1_?RMP 2_?F 2_?SS 2_?P 2_?A 2_?V 1_?V 2_# 10 |
Short Circuit Fault
The Short circuit fault is triggered when the measured motor current (rms value) is higher than 120% of the controller's peak current.
In controllers equipped with firmware version 2.1a or later, the float recovery option is available. According to this setting, a short error will not be triggered immediately after the first detection of high current. Instead, the controller will temporarily disable the power stage and attempt to recover after 5 milliseconds, provided that the high current event is cleared. For more information about the float recovery mechanism, refer to the Roboteq Controller's User Manual.
Trigger Condition | Action | Recover |
Phase current exceeds 120% of the controller's peak current | Power stage is OFF. | The error clears once an idle motor command is given. In Open Loop, Speed or Torque mode this corresponds to a 0 motor command. In Position mode, the motor command should be equal to the feedback counter. |
The troubleshooting table follows:
Unsupported Specs | ||
Possible causes | Investigation | Corrective actions |
Incompatible R-L values | Confirm that the resistance and inductance of the motor are within the supported range by referring to the controller's datasheet | If the motor's inductance is too low, you may need to add an external coil to the motor phases to match the supported values. Keep in mind that adding external inductance will decrease the performance of the motor. |
Unsupported sensor resolution or speed. The maximum sensor resolution that the controller can support depends on the maximum frequency of sensor input and the rotor's speed | Consult the controller's datasheet to determine the maximum supported frequency for the sensor input. If using quadrature encoders, you can calculate the maximum supported motor speed by considering the maximum frequency of the sensor input and the sensor's resolution as follows: | If a sensor with unsupported resolution is already used, consider running the motor at lower speeds where the sensor resolution is supported. |
Unsupported electrical frequency. The frequency of the electrical field required to drive a motor is proportional to the number of motor pole pairs and the rotor speed. For motors with a high number of pole pairs or those running at high speeds, the required electrical frequency may exceed the supported range of the controller | Consult the controller's datasheet to determine whether the maximum electrical frequency required to drive the motor is below the maximum electrical frequency supported by the controller. The maximum operating rotor speed can be calculated by dividing the maximum operating electrical speed of the controller by the number of motor pole pairs. The parameter values can be found in the controller's and motor's datasheets. | The maximum electrical speed will vary depending on the generation of the product. If the desired speed is not supported, consider switching to another product or do not exceeding the maximum supported speed. |
Wrong controller rating. The peak current rating of the controller should be equal to or higher than the peak current specified by the application | Investigate if the current required to accelerate the motor at the desired rate is lower that the peak current of the controller. | Use a higher rated controller |
Incompatible sensor. There are many parameters that can make a sensor incompatible, including insufficient signal amplitude, nonlinearity, sensor's time response and more. If the sensor signal is improper, it can affect the motor angle calculation and feedback, which can lead to an increase in motor current which eventually will trigger the Short Circuit error. | Check the sensor signals by using an oscilloscope. Examine them for deviations from the original values. Check the amplitude, frequency, response time and pattern. | Enable the sensor error detection. If it triggers, there is a problem with the sensors |
Damaged components | ||
Possible causes | Investigation | Corrective actions |
One or more MOSFETs of the controller are shorted. | Measure the MOSFETs body diode by using a multimeter in diode mode. More information about this test method can be found in the appendix. | Controllers with damaged MOSFETs are not repairable, so the controller should be replaced. |
Shorted motor phases. | Check the motor harness for shorts | Replace the motor or fix the bad harness |
Faulty sensor. A permanent or temporary sensor malfunction can affect the motor angle or motor feedback calculation and result in high motor current that can eventually trigger the Short Circuit error. | Check the sensor signals by using an oscilloscope. Examine them for deviations from the original values. Check the amplitude, frequency response time and pattern. | Enable the sensor error detection. If it triggers, there is a problem with the sensors |
Misconfiguration | ||
Possible causes | Investigation | Corrective actions |
High motor acceleration/deceleration values. High motor acceleration/deceleration values can result in a significant increase in the motor current, which may trigger the short error. | Log the motor phase amps (?PHA) and the motor amps (?A) until the error occurs. Because the phase amps are not RMS, they should be multiplied by 0.707 to compare them with the maximum current of the controller. If the calculated value exceeds the 120% of the controller's peak current the short error will trigger. Please note that sampling frequency of the controller is limited to 1KHz, so a current spike with less duration than that will not be noticable. | Decrease the motor acceleration/deceleration parameters |
Aggreessive PID values. A significant increase in the motor current caused by aggressive PID tuning can trigger the short error. | Log the motor phase amps (_PHA) until the error occurs. Because the phase amps are not RMS, they should be multiplied by 0.707 to compare them with the maximum current of the controller. If the calculated value exceeds the 120% of the controller's peak current the short error will trigger. Please note that sampling frequency of the controller is limited to 1KHz, so a current spike with less duration than that will not be noticeable | Decrease the PID loop bandwidth (Both P and I). Lower speed or position PID gains will result in a smoother increase of the motor current |
Wrong Encoder/SSI resolution configuration. If the sensor resolution is set incorrectly, it can affect the calculation of the sensor angle and motor feedback. This can cause an increase in motor current that may eventually trigger a short error | Refer to the sensor datasheet to confirm the correct resolution. | After setting the correct resolution of the encoder run again motor/sensor setup |
Wrong pole pairs configuration. If the pole pairs parameter is configured incorrectly, the motor's commutation and feedback will be affected, and the motor current may increase, which could eventually trigger a short error. | Check the motor datasheet to confirm the correct pole pairs parameter. The pole pairs value is the number of motor pole pairs divided by 2. | After setting the correct pole pairs parameter run again motor/sensor setup |
Electrical Noise | ||
Possible causes | Investigation | Corrective actions |
Noise in the motor sensors. Electrical noise in the sensors can lead to incorrect rotor angle and feedback calculation which in turn can create current spikes. | Use an oscilloscope to ckeck wether the sensor signals are clean of electrical noise. Voltage spikes that have an amplitude higher than 2.5 V can affect the readings | Enable the sensor error detection to check for any issues with the sensor signals |
Other reasons | ||
Possible causes | Investigation | Corrective actions |
The controller operates at the voltage limit. If the voltage provided to the motor becomes saturated, the controller will not be able to adjust the PWM duty cycle sufficiently to control the motor and regulate its current. This situation can cause an increase in motor current. | Log the Motor Power parameter (P) of the controller which corresponds to the amount of PWM voltage supplied to the motor and the motor current (A). Check if the Motor Power is close to 1000 when the short error occurs. | Avoid running the motor at conditions were the motor power is saturated. Consult the motor's Speed - Torque curve to confirm that the motor runs under the operating limits |
The streams that can be sent for logging according to the sensor, operating mode and the suspected cause follow:
Channel 1 Feedback Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?FF 1_# 2 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?FF 1_# 2 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?FF 1_# 2 |
Channel 2 Feedback Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 |
Encoder | # c_/?RMP 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 |
SSI | # c_/?RMP 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 |
Channel 1 and 2 Feedback Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?RMP 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?TR 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CB 1_?RMP 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CB 2_?FF 1_# 2 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?RMP 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?TR 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?RMP 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?FF 1_# 2 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?RMP 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?TR 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?FF 1_?RMP 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?FF 1_# 2 |
Channel 1 Angle Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?FF 1_# 2 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?FF 1_# 2 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?FF 1_# 2 |
Channel 2 Angle Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 2_?BS 2_?P 2_?PHA 1_?PHA 2_?PHA 3_?HS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?HS 2_?ANG 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?HS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?HS 2_?ANG 2_?FF 1_# 2 |
Encoder | # c_/?RMP 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 |
SSI | # c_/?RMP 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 |
Channel 1 and 2 Angle Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?RMP 2_?BS 2_?P 2_?PHA 1_?PHA 2_?PHA 3_?HS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?HS 2_?ANG 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?TR 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?HS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?HS 1_?ANG 1_?RMP 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?HS 2_?ANG 2_?FF 1_# 2 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?RMP 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?TR 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?C 1_?ANG 1_?RMP 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?C 2_?ANG 2_?FF 1_# 2 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?RMP 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?TR 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?CSS 1_?ANG 1_?RMP 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?CSS 2_?ANG 2_?FF 1_# 2 |
Channel 1 FOC Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?TR 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 | # c_/?RMP 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?FF 1_# 2 |
Channel 2 FOC Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 |
Encoder | # c_/?RMP 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 |
SSI | # c_/?RMP 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?TR 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 |
Channel 1 and 2 FOC Error
Open | Speed | Position | Torque | |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?TR 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?BS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?F 2_?BS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?TR 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?S 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?F 2_?S 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 1_?F 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?RMP 2_?F 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?TR 1_?F 1_?SS 1_?P 1_?PHA 1_?PHA 2_?PHA 3_?MA 1_?MA 2_?FC 1_?TR 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 | # c_/?RMP 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?RMP 2_?F 2_?SS 2_?P 2_?PHA 4_?PHA 5_?PHA 6_?MA 3_?MA 4_?FC 2_?FF 1_# 2 |
Emergency Stop
The emergency stop is triggered either exclusively by the user or by configuring it as an action in the controller settings. In some cases, the emergency stop can be an action resulting from the implementation of the FSA (Finite State Automation) of the DS402 standard.
Possible causes | Investigation | Corrective actions |
Emergency stop is pressed in Roborun+. The Emergency Stop button in RoboRun+ sends an Emergency Stop command to the controller. The Emergency Stop can be released by clicking the Emergency Stop button again. The button can also be interacted with by using the 'Escape' key. | Check if the emergency stop is enabled in Roborun+ Utility | Release the emergency stop by clicking at it ,pressing the escape button or sending MG command. |
Emergency stop is configured to be triggered on the controller. Roboteq controller's firmware allows to set the emergency stop as an action triggered by specific conditions such as inputs activation, firmware limits exceedance etc | Check if the emergency stop is configured to be triggered in the following cases: |
|
An emergency stop command is sent through another device to the controller | Investigate if any of the connected devices sends an emergency stop command (!EX) to the controller. This command can be received through all supported communication modes, such as RS232, RS485, CANbus, Modbus etc. | Investigate the reason why the external device sends the Emergency Stop command. Modify the program's logic accordingly |
Emergency stop is triggered through script | If a script is used, check if there are any conditions that can trigger Emergency Stop | Investigate the reason why the emergency stop conditions are met. Focus on the primary conditions that trigger the error. |
Emergency stop comes from DS402 implementation. When DS402 is used, some of the Finit State Automation functions are being implemented on the Roboteq Controller by applying Emergency Stop. These functions are the following:
| Read the status word to get the FSA state | Use the appropriate FSA state |
Motor Sensor Error
The Motor Sensor Error is triggered when an error is detected in the sensor signals. The drive performs various checks depending on the sensor used. The detection level can be adjusted using the SED configuration parameter, and error debugging information can be accessed through the SEC parameter. More information about this error can be found in the Roboteq Controllers User Manual.
Trigger Condition | Action | Recover |
The number of sensor errors or signal quality exceed the threshold value. | Power stage is OFF. | Zero motor command is given in Open Loop, Speed and Torque modes. Position mode requires a motor command equal to the feedback counter. |
The troubleshooting tabe follows:
Possible causes | Investigation | Corrective actions |
Electrical noise. The presence of electrical noise in the sensor signals can create a wrong rotor angle calculation that can trigger the Sensor Error. | Use an oscilloscope to check the amount of noise in the sensor signals | Keep the maximum possible distance between power and control cables |
Faulty or unsupported sensor. A faulty sensor that has distorted or missing signals will trigger the Sensor Error. Signals with unsupported voltage level will trigger the sensor error detection as well. | Check the signal pattern in diagnostics tab of Roboun. More information about using the VPM comamnd and checking the sensor signals can be found on the appendix | Replace the sensor if is found to be damaged or has unsupported specs. |
Loose sensor connection. If the sesor error occurs radnomly it might be triggering by a loose sensor connection | Check the sensor connections | Fix the connections |
Sensor Error Detection is not disabled on unused channels. By default, Sensor Error Detection is enabled on both channels of the controller. If only one of the two channels is in use and there is no sensor present, an error will be triggered. | Check if the sensor error detection is enabled on the unued channels | Turn the Sensor error detection off if a channel is not used |
Motor has high vibrations. If there are high vibrations in the motor, the sensor error might be triggered because it will detect an unexpected sensor pattern | Check the Sensor Error Counter (SEC) and the motor speed when the error occurs. | If the error is related to motor vibrations, consider limiting these vibrations. To achieve that, the PID or FOC gains can be reduced. If the vibrations cannot be reduced, consider lowering the detection sensitivity |
The streams that can be sent for logging according to the sensor and operating mode follow:
Channel 1
| Open | Speed | Position | Torque |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_# 1 | # c_/?VDV 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_# 1 | # c_/?TR 1_?VDV 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_# 1 | # c_/?RMP 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_# 1 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?C 1_# 1 | # c_/?VDV 1_?S 1_?P 1_?A 1_?C 1_# 1 | # c_/?TR 1_?VDV 1_?S 1_?P 1_?A 1_?C 1_# 1 | # c_/?RMP 1_?S 1_?P 1_?A 1_?C 1_?SEC 1_# 1 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?CSS 1_?ASI 1_?ASI 2_# 1 | # c_/?VDV 1_?SS 1_?P 1_?A 1_?CSS 1_?ASI 1_?ASI 2_# 1 | # c_/?TR 1_?VDV 1_?SS 1_?P 1_?A 1_?CSS 1_?ASI 1_?ASI 2_# 1 | # c_/?RMP 1_?SS 1_?P 1_?A 1_?CSS 1_?ASI 1_?ASI 2_# 1 |
Channel 2
| Open | Speed | Position | Torque |
Hall-Sin/Cos or Resolver | # c_/?RMP 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 | # c_/?VDV 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 | # c_/?TR 2_?VDV 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 | # c_/?RMP 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 |
Encoder | # c_/?RMP 2_?S 2_?P 2_?A 2_?C 2_# 1 | # c_/?VDV 2_?S 2_?P 2_?A 2_?C 2_# 1 | # c_/?TR 2_?VDV 2_?S 2_?P 2_?A 2_?C 2_# 1 | # c_/?RMP 2_?S 2_?P 2_?A 2_?C 2_?SEC 2_# 1 |
SSI | # c_/?RMP 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 | # c_/?VDV 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 | # c_/?TR 2_?VDV 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 | # c_/?RMP 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 |
Channel 1 and Channel 2
| Open | Speed | Position | Torque |
Hall-Sin/Cos or Resolver | # c_/?RMP 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_?RMP 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 | # c_/?VDV 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_?VDV 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 | # c_/?TR 1_?VDV 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_?TR 2_?VDV 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 | # c_/?RMP 1_?BS 1_?P 1_?A 1_?HS 1_?SEC 1_?RMP 2_?BS 2_?P 2_?A 2_?HS 2_?SEC 2_# 1 |
Encoder | # c_/?RMP 1_?S 1_?P 1_?A 1_?C 1_?RMP 2_?S 2_?P 2_?A 2_?C 2_# 1 | # c_/?VDV 1_?S 1_?P 1_?A 1_?C 1_?VDV 2_?S 2_?P 2_?A 2_?C 2_# 1 | # c_/?TR 1_?VDV 1_?S 1_?P 1_?A 1_?C 1_?TR 2_?VDV 2_?S 2_?P 2_?A 2_?C 2_# 1 | # c_/?RMP 1_?S 1_?P 1_?A 1_?C 1_?SEC 1_?RMP 2_?S 2_?P 2_?A 2_?C 2_?SEC 2_# 1 |
SSI | # c_/?RMP 1_?SS 1_?P 1_?A 1_?CSS 1_?ASI 1_?ASI 2_?RMP 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 | # c_/?VDV 1_?SS 1_?P 1_?A 1_?CSS 1_?ASI 1_?ASI 2_?VDV 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 | # c_/?TR 1_?VDV 1_?SS 1_?P 1_?A 1_?CSS 1_?ASI 1_?ASI 2_?TR 2_?VDV 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 | # c_/?RMP 2_?SS 2_?P 2_?A 2_?CSS 1_?ASI 3_?ASI 4_?RMP 2_?SS 2_?P 2_?A 2_?CSS 2_?ASI 3_?ASI 4_# 1 |
MOSfail
The drive checks for failed MOSFETs every time it powers on, when the STO is triggered, or when the STT command is sent. The test is performed by disabling the power stage and measuring the phase voltage. If the phase voltage is close to the battery voltage or ground (GND), then a MOSFET is assumed to be shorted.
Trigger Condition | Action | Recover |
Phase voltage is out of accepter range when the test is performed. | Power stage is OFF. | Test runs again and the voltage is between the accepted limits. |
The troubleshooting table follows:
Possible causes | Investigation | Corrective actions |
A MOSFETS is damaged. The controller will check the MOSFETs health every time is powers on, when the STO is triggered, or every time !STT command is sent. If the alarm is triggered by a real MOSFET failure, the MOSfail alarm should not clear when the test runs again. | Check if the controller MOSFETs are damaged by using a multimeter, following the method described on the appendix. | If the controller is damaged, replace it. The controller MOSFETs are not repairable |
The controller is miscalibrated. If the voltage measurement gains are not set properly, then the controller might trigger a false positive MOSfail error. | Check if the occurrence of the error is consistent. If the error corresponds to a real MOSFET damage, it should not clear at all. | The controller cannot be calibrated by the user. Contact Roboteq technical support |
Noise in phase readings. The controller uses the phase voltage readings to determine the MOSFETs health. If there is a high precence of electrical noise there, the controller might trigger a false positive MOSfail. | Check if the occurrence of the error is consistent. If the error corresponds to a real MOSFET damage, it should not clear at all. | If the MOSFail it triggered because of EMI, try to eliminate the source of noise. The noise might be sourced from another switchning device that operates the time that the MOSfail test is being performed. |
One way to check the health of the MOSFETs is to trigger an Emergency Stop on the drive and stream the motor phase voltage values. These voltages will be reported in mV. The expected value should be around 2 to 6 V, depending on the controller version. If one voltage value is close to zero or approximates the battery voltage, the top or bottom MOSFET of that phase may be damaged. The following presents the Stream command to log the phase voltages. Ensure to trigger the Emergency Stop prior to the test; otherwise, the voltage values will differ.
Single channel
# c_/?SNS 1_?SNS 2_?SNS 3_# 1
Dual channel
# c_/?SNS 1_?SNS 2_?SNS 3_?SNS 4_?SNS 5_?SNS 6_# 1
DEFConfig
Every time during startup the drive checks the MCU flash memory to determine any changes in the application. The alarm appears everytime a firmware update is performed, or in case that the MCU is corrupted.
Trigger Condition | Action | Recover |
New firmware update or damaged MCU | This is just an indication. | Reset the controller. If the MCU is not damaged the error shouldbe cleared. |
The troubleshooting table follows:
Possible causes | Investigation | Corrective actions |
A firmware update has been peformed. After firmware update, the DefConfig error will appear until the controller is reset. | Reset the controller once. After resetting, the error should clear. | Reset the controller |
Controller's flash memory is corrupted. This protection will detect that the default configuration is loaded on startup. If the error does not clear after reset, then the controller might be damaged. | Check if the error clears after resetting the controller | If the error does not clear contact Roboteq's technical support |
STOfault
To properly enable/disable the STO, both STO inputs should be high or low. The STO fault will trigger if the STO is not properly enabled or if any of the STO circuitry MOSFETs are damaged.
Trigger Condition | Action | Recover |
Improper use of the STO or STO circuitry malfunction | Power stage is disabled | The STO circuitry is functional and both STO inputs transition from low to high. |
The troubleshooting table follows:
Possible causes | Investigation | Corrective actions |
The two STO inputs have different states. For regular operation of the STO, both inputs must be OFF or ON simultaneously. | Confirm that the signals do not have a delay. A delay of a few milliseconds is acceptable, but higher values (approximately more than 100 ms) will trigger a fault. | If the signals are generated by a controller, ensure that both outputs are enabled simultaneously. |
One or both STO inputs are damaged. The STO self test runs everytime the STO is triggered. If an input fails to change state, the STO fault will be triggered. | Check if the STO inputs state is changing using Roborun+ utility | Replace the controller if found to be damaged. |
| Check the STO signals by using an oscilloscope | Fix the voltage source |
STO voltage is out of range. STO inputs work with voltage values between 6 to 30 V. Lower voltages may not enable the STO properly and higher voltages will damage the STO inputs | Check if the voltage is within the supported range | Apply the correct voltage |
If the STO is not responding as expected, the STO circuitry or the controller inputs may be damaged. The following stream command can be used to log the STO inputs. For the command to work, enable the analog inputs shared with the STO inputs in the Roborun+ utility. The stream is as follows:
# c_/?AI 1_?AI 2_?AI 3_?AI 4_?V 1_?FF 1_# 1