Difference between revisions of "Troubleshooting Encoder Errors"
(Created page with "The encoder error (error code "ENC") can be caused by several reasons, this article helps you locate and solve the issue. In general the encoder erro...") |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
# Check whether the E-Stop is released. | # Check whether the E-Stop is released. | ||
# Also check whether it's cable is okay and well connected in the control cabinet. | # Also check whether it's cable is okay and well connected in the control cabinet. | ||
+ | |||
+ | = Try to move slower = | ||
+ | The encoder error can occur when the load of an axis prevents it from moving as fast as intended. To check if this is the case try to move the axis manually via the jog buttons at the bottom of iRC and lower the velocity override at the top until the error disappears. Also try this with your robot program. | ||
+ | |||
+ | If the robot works reliably at a lower velocity try to | ||
+ | * decrease the velocity of that motion | ||
+ | * decrease the load of the stalling axis | ||
+ | * [[Motor_Current_Parameter|increase the motor current]]. However, due to how stepper motors work they got [[Motor_Current_Parameter#Torque_Loss_at_High_Velocities|less torque available at high speeds]] and therefore are more likely to stall when the axis moves fast. | ||
= Make sure all cables are well connected = | = Make sure all cables are well connected = | ||
+ | A loose or swapped wire or plug can cause the encoder error. | ||
# Check the four plugs of each axis module in the control cabinet. Push them in tightly. | # Check the four plugs of each axis module in the control cabinet. Push them in tightly. | ||
# Check the screw plugs at the motor side | # Check the screw plugs at the motor side | ||
# If possible trace the cables from each motor into the control cabinet. Make sure they are connected to one module, not swapped with a different one. | # If possible trace the cables from each motor into the control cabinet. Make sure they are connected to one module, not swapped with a different one. | ||
− | = Check what axis causes the error = | + | = Check what axis causes the error and whether the encoder can be read = |
+ | Knowing whether one or all axes cause the issue lets you locate the fault more easily. | ||
+ | |||
# Connect iRC to the robot, click the Enable button. | # Connect iRC to the robot, click the Enable button. | ||
# Do NOT try to reference! | # Do NOT try to reference! | ||
Line 65: | Line 76: | ||
* The [[Log Files|log files]]. | * The [[Log Files|log files]]. | ||
* The [[Firmware_Parameter_Configuration|firmware parameter file]] | * The [[Firmware_Parameter_Configuration|firmware parameter file]] | ||
+ | |||
+ | [[Category:Support]] |
Latest revision as of 15:54, 27 June 2024
The encoder error (error code "ENC") can be caused by several reasons, this article helps you locate and solve the issue.
In general the encoder error means that the motor control electronics got a position reading from the encoder that differs from the expected motion. This can mean that the encoder or cables are defective, that the motor is blocked or can not follow the target position. Oftentimes a pushed emergency stop or blown fuse causes this error.
Important: Turn off the power to the robot before plugging or unplugging any cables or modules! Hot plugging can cause further damage.
Check the emergency stop
Please double check the E-Stop first, this is a common and easy to solve cause.
- Check whether the E-Stop is released.
- Also check whether it's cable is okay and well connected in the control cabinet.
Try to move slower
The encoder error can occur when the load of an axis prevents it from moving as fast as intended. To check if this is the case try to move the axis manually via the jog buttons at the bottom of iRC and lower the velocity override at the top until the error disappears. Also try this with your robot program.
If the robot works reliably at a lower velocity try to
- decrease the velocity of that motion
- decrease the load of the stalling axis
- increase the motor current. However, due to how stepper motors work they got less torque available at high speeds and therefore are more likely to stall when the axis moves fast.
Make sure all cables are well connected
A loose or swapped wire or plug can cause the encoder error.
- Check the four plugs of each axis module in the control cabinet. Push them in tightly.
- Check the screw plugs at the motor side
- If possible trace the cables from each motor into the control cabinet. Make sure they are connected to one module, not swapped with a different one.
Check what axis causes the error and whether the encoder can be read
Knowing whether one or all axes cause the issue lets you locate the fault more easily.
- Connect iRC to the robot, click the Enable button.
- Do NOT try to reference!
- Use the jog buttons in the jogging/motion tab at the bottom of iRC. Try to move each axis after each other.
- If one axis triggers the encoder error change to the "Information" tab next to the motion tab. The status box in it shows the error states of each axis, note which axis shows the error code "ENC" (more codes like "MNE_ENC" may be shown).
- Click "Enable" again and try the next axis.
This should show whether one or multiple axes cause the error and whether it happens right after enabling or only once you try to move.
If you got a gantry or delta robot you can also do the following test to check the encoders:
- Connect iRC to the robot, click the "Zero Torque" button.
- You should now be able to move some or all axes by hand. iRC should show this motion in the 3D view or in the axis position values in the information tab. Watch if the correct axis moves in the correct direction.
- If a different axis moves you got swapped cables. Turn off the robot control, in the cabinet unplug and swap the ENC-1 and ENC-2 plugs of the axis you tried to move and the axis that actually moved in iRC (you can push out the entire plug with a screwdriver). Then check whether the issue is solved.
- If no axis moves update iRC and try again.
- If the correct axis moves in the wrong direction a wire might be swapped or the configuration might be incorrect. Please contact our support (see last section).
All axes fail: Check the motor power
All axes failing is a symptom of missing motor power or multiple failures.
- Double check the E-Stop
- Check the fuses in the control cabinet, e.g. by measuring the voltage of both terminals of the fuse to GND. Depending on your robot control you should find 24V or 24V and 48V. Replace the fuse if necessary and test the motion again.
- Measure the voltage at the DIN rail (connectors under the motor electronic modules): Find the 5 pin plug at the rail. Measure between the outermost blue (24V) or violet (48V) cable and the blue-white (GND) cable next to it. If there is no voltage check the wiring and fuses between the power supplies and this connector.
If this does not solve the issue try the following steps.
At least one good axis: Do a cross check
If you got at least one axis that moves without issue you can use it to test the defective axes.
- Turn off the power of the robot.
- Swap all four plugs of the axis module of the good axis with those of a defective axis. The "good" axis module now controls the "potentially bad" motor and vice versa.
- Turn on the power, connect iRC and enable the motors
- Try to move the good axis and the axis that did not work.
- If the known good axis module fails to move the previously bad motor you either got a defective motor or cables to that motor. Please contact the robot manufacturer.
- If the known good axis module moves the previously bad motor without issues the other axis module is likely defective or configured incorrectly. Please contact our support (see last section).
- After testing turn off the power again and swap the cables back to their original modules.
Motor brake
Some robots got one or more motors with a brake. If this brake does not release, e.g. due to incorrect configuration, the encoder error may occur. You can recognize a motor with brake by it's three screw-in cables, one being connected to a relay in the control cabinet.
- Connect iRC to the robot
- Clicking "Enable" should enable the motors and release the brake, possibly with a short delay. Clicking "Disable" should lock the brake.
- The relay may have a light that shows it's state. In iRC open the brake configuration (File -> Configure Robot -> Brake) and check whether the brake is enabled and what DOut number is assigned (e.g. 21 for the first output of the first IO module). Then go back to the 3D view and open the "Input/Output" tab at the bottom. While enabling/disabling the motors watch whether the output in that tab enables accordingly.
- If the brake is disabled in the configuration enable it and enter the correct DOut number (check what DOut at the IO module is connected to the brake relay). The user guide explains the pin assignment of the DOut plugs.
Contact our support
If the steps above did solve the issue send a mail to our support. Please include the following information so we can help as fast as possible:
- Describe your findings of the steps above
- Photos of your control cabinet that show the plugs and wires of the motor modules.
- The log files.
- The firmware parameter file