Why does Klipper report errors? I lost my print!
Klipper has been engineered to automatically workaround many transient problems. For example, it automatically detects communication errors and will retransmit; it schedules actions in advance and buffers commands at multiple layers to enable precise timing even with intermittent interference. However, should the software detect an error that it can not recover from, if it is commanded to take an invalid action, or if it detects it is hopelessly unable to perform its commanded task, then Klipper will report an error. In these situations there is a high risk of producing a low-quality print (or worse). It is hoped that alerting the user will empower them to fix the underlying issue and improve the overall quality of their prints.
There are some related questions: Why doesn't Klipper pause the print instead? Report a warning instead? Check for errors before the print? Ignore errors in user typed commands? etc? Currently Klipper reads commands using the G-Code protocol, and unfortunately the G-Code command protocol is not flexible enough to make these alternatives practical today. There is developer interest in improving the user experience during abnormal events, but it is expected that will require notable infrastructure work (including a shift away from G-Code)
‘Lost communication with MCU’ Error
This is commonly caused by hardware errors on the USB connection between the host machine and the mainboard. It’s possible that overtime, the connectors come loose due to vibrations of the machine. While the printer is off, unplug/replug the USB cable going from the Raspberry Pi to the mainboard.
‘Max31856 over/under voltage/Thermocouple out of range/Thermocouple reader fault’ Error
These errors can occur for a few reasons, but all relate to the thermocouples. Thermocouple out of range indicates that the thermocouples are connected, but giving radical readings. A thermocouple reader fault means that the machine does not recognize the thermocouple as being connected. Most of the time, we believe these errors are caused by either static buildup in the connectors, wiring/grounding issues, or a faulty thermocouple. Typically the steps below will resolve the issue.
- Turn off the machine.
- Unplug the yellow thermocouple connectors.
- Turn the machine back on.
- Press ‘Restart’ on the touchscreen when booted up.
- Plug the yellow thermocouple connectors back in.
- Press ‘Firmware_Restart’ on the touchscreen.
If the above did not fix the issue, some further troubleshooting steps:
- Copy the extruders and bed heater sections from /build/fff_heaters.cfg and paste them into the standalone. Change the min and max temp values to -273.15 and 999999 so that you can get past the error message and see which thermocouple is faulting (will only work with the ‘thermocouple out of range’ error.)
- Check the wires inside the yellow thermocouple connector located on the back side of the toolhead. You’ll need a precision screwdriver to open them. If only a few strands remain on the wire, strip and expose more of the wire for the terminal connection.
‘Serial’ Error
This occurs when the host machine (raspberry pi) can not detect the unique serial ID of the mainboard. A serial ID is given to the mainboard after the firmware flashing process and is read in on each boot sequence. Either the host cannot communicate with the mainboard or the serial was not read in. Typically only a reboot of the machine is required. If this issue persists, contact support.
- Restart the raspberry pi by selecting ‘Reboot’ in host control in the power section.
- Check USB connection from raspberry pi to Archimajor board.
‘Shutdown Due to Webhooks Request’ Error
This error is only caused by the operator pressing the software emergency stop button. Press ‘Firmware_Restart’ to get back to normal operation.
‘Move Out of Range’ Error
This error is caused by going out of the min and max range of the gantry/extruder. On the console, it should indicate a set of coordinates in the format (X, Y, Z, E). Typically, the error is thrown for either X or Y during a print. This is because the axis is in relative mode instead of absolute mode which can ask the gantry to go out of bounds.
Gantry coordinates: (10, 10)
Relative mode: G1 X10 - X will move positive 10 according to the last position. (20, 10)
Absolute mode: G1 X10 - X will go to the absolute coordinate 10. (10, 10)
- Adding a G90 to your start gcode before move commands start will put the gantry in absolute mode and clear the error.
‘Move Exceeds Maximum Extrusion’ Error
Typically, this error is due to a slicing error. This is raised when the extruder is asked to extrude a massive amount of material, and is a safety check put into place to prevent hardware damage.
- Make sure to have a G92 E0 command in your start gcode before any extrusion.
- Check the flow settings in your slicer.
- If you continue to have this issue, you can change the safety value by going into the configuration file /build/fff_extruders.cfg and copy the entire file contents, paste into the standalone.cfg and change the max_extrude_cross_section and max_extrude_only_distance to a higher value. Save and restart to make changes take effect.
If you are still experiencing issues, please contact support through email: support@re3d.org
0 Comments