Close

Automatic Crash Detection

A project log for Delta 3D Printer

A custom scratch built delta printer of my own design.

jasonJason 03/31/2017 at 13:240 Comments

After upgrading to zero-backlash magnetic ball links I found that occasional print crashes were now a major problem. With the old fixed ball links the printer would generally crash and keep printing in the air just above the object. When a magnetic ball lets go the end-effector is hanging limp and continues to be dragged through the print and across the heated bed. This can cause some serious damage.

A friend of mine suggested using a small IMU chip to detect a sudden rotational (GYRO) change. I dug through my junk box and found an old NanoWii Multirotor Flight Controller. I modified the Arduino code and added a status LED with arming button. I was able to use the 5V, GND and a GPIO pin to provide an identical interface to the printer as a normal endstop. It was then simple to modify the printer configuration to perform a pause/suspend when the signal wire pulsed high. The arming button allows the sensor to be easily disabled for maintenance or enabled after a crash. An added bonus of using only the gyroscope is that the NanoWii can be positioned in any convenient orientation on the end-effector - we are only looking at spikes in rotation.

Test mounting position

Test mounting position

New mounting position

New mounting position

This video shows me first arming the NanoWii then triggering a "crash". I have some “on pause” G-Code to lift up the end-effector and turn off the heaters.

With this system, I am able to resume most prints that have a crash, provided that the stepper motors didn’t skip steps. Due to the magnetic balls, it is more likely that they let go before steps are skipped, resulting in a high recovery rate. As of writing, Smoothieware only allows jogging and filament change while in the suspended state. If a home command is issued to fix any skipped steps, the print cannot be resumed.

I am really happy with how effective this solution is. There are no mechanical parts required and the IMU only needs a spare endstop input to function.

Discussions