1. When the Sensor Error occurs
Sensor Error can occur in two cases:
- When the controller is first powered ON
- During controller Operation
2. Sensor Error when Powering ON
If the error is shown at power ON of the controller, that means that one of the configured sensors is not used or is not working properly. To fix that, do the following:
- Disable the Sensor Error detection on the unused channels
- If Hall Sensors are used, check that all three signals are present when rotating the motor. The Hall status parameter at diagnostics tab should have values from 1 to 6.
- In case of Resolver or Sin/Cos sensor, check that both Sin and Cos signals are present when the motor rotates.
3. Sensor Error during Motor’s Operation
If the error occurs during the operation of the motor, this can happen mostly due to the below reasons:
- There is a lose sensor connection
- There is electrical noise captured in the sensors
- The motor is vibrating
- The Hall sensors are not well aligned
3.1 Identifying the Error
Depending on the sensor used, the Roboteq controller uses different techniques to identify a sensor error. For example, when Hall sensors are used, the controller is checking if the next Hall signal is the expected, depending on the direction of the motor. When Sin/Cos or resolver is used, the controller is checking if Sin^2 + Cos^2 = 1. The sensor fault will rise if there is a disturbance in that signal.
An oscilloscope can be used to check if there is electrical noise in the sensors. For Hall and encoders, noise spikes that have the same amplitude as the signal can create problems. On Sin/Cos and resolvers, noise spikes can lead to wrong feedback and rotor angle calculation. In case that the appearance of electrical noise in the sensor signals is verified, please contact Roboteq to guide you through the next steps.
Another tool to identify the erroneous signals is ?SEC query. When HALL or HALL&Encoder is used, SEC (Sensor Error Counter) will return the number of wrong states that have been measured. When Sin/Cos or Resolver is used, ?SEC will return a percentage showing how clean the signal is (0~100).
Finally, Sensor Error can occur from misaligned Hall sensors. The quickest way to have an insight of how good the Hall sensors are aligned, is to run the motor in open loop, without load in both directions. Speed and current should be symmetrical.
A second way to check the Hall alignment is by running the motor/sensor setup and getting the Hall angle table. The angle table data can be provided to Roboteq for further evaluation. A big misalignment can also be visible from the diagnostics tab, when running the motor/sensor setup. Each Hall status when performing motor/sensor setup should have the same duration.
3.2 Corrective actions
The most common reason for the appearance of noise on the sensors is that power and sensor cables are close to each other. Another common reason is ground loops or the lack of grounding on the system chassis and motor earth. To avoid connecting directly the system chassis to battery -, we suggest the use of the below capacitor between the motor earth and controller GND. The capacitor should be connected as close to the controller as possible.
- Film Capacitor 0.1 uH, 400 VDC
- Suggested component: B32522E6104K189, EPCOS / TDK
If Sin/Cos or resolver is used, the use of ceramic capacitors 10nF~100nF from Sin/Cos and excitation pins to ground might help.
If the Sensor Error detection is triggered rarely, then the detection level can be lowered from “strict” to “tolerant”.
Please note that disabling the Sensor Error detection is not suggested. Even if the motor is able to rotate by disabling the protection, the feedback values will be distorted and this will lead to a bad performance. The cause of noise should be found and eliminated.
Sensor Error can also occur due to motor vibrations. This is usually happening due to bad PID tuning, mostly when high proportional or differential gain is used. Although motor/sensor error should not directly be related to motor vibrations, it is a good detection method to be used for such an erroneous behavior.