machinekit / machinekit-hal

Universal framework for machine control based on Hardware Abstraction Layer principle
https://www.machinekit.io
Other
109 stars 62 forks source link

Possible safety issue: temperature-reading lockup #65

Open ArcEye opened 6 years ago

ArcEye commented 6 years ago

Issue by brandonheller Mon Jul 7 01:31:31 2014 Originally opened as https://github.com/machinekit/machinekit/issues/242


When using a CRAMPS board with a mostly-stock config: https://github.com/brandonheller/machinekit/blob/delta/configs/ARM/BeagleBone/CRAMPS/CRAMPS.lineardelta.ini

... I experienced some intermittent stepper motor power cutouts, which I eventually tracked down to flaky screw terminal connections. At one point LCNC got into a state where it showed a temp of ~189C that no longer updated. Here the PID loop set the extruder to 100%, so the extruder just kept getting hotter and hotter, to where I noticed a foul smell and immediately unplugged the heater wires. Restarting LCNC didn't fix the stuck reading and there was nothing weird in the kernel or lcnc logs.

To clear this, I had to restart the whole board, and then it came back to normal. As you might guess, I no longer trust the setup to run unattended, especially overnight. Some questions:

ArcEye commented 6 years ago

Comment by justinledwards Mon Oct 6 22:12:43 2014


After several successful prints my temperature stopped updating today. I thought my thermistor was fried at first, and I replaced it, that didn't fix it, and I checked the old one with my multimeter and it was fine. I rebooted the board and the temperature updated one time and stopped working again. Tomorrow I'll try to check the ADC directly. That printer is out of commision until I figure that out.

ArcEye commented 6 years ago

Comment by machinekoder Tue Jan 13 08:22:59 2015


That is a general problem with temperature readigs. We should implement some kind of logic that checks temperature values for validity.

ArcEye commented 6 years ago

Comment by alessandrotorre Fri Jan 23 14:42:17 2015


I have the same problem. Tell us something when it will be fixed, please.

ArcEye commented 6 years ago

Comment by machinekoder Fri Jan 23 17:16:55 2015


You can do limit checking for a start https://github.com/thecooltool/Uni-print-3D/blob/testing/UNIPRINT-3D.hal#L677 I also implemented this component to check the temperature changes for validity: https://github.com/thecooltool/Uni-print-3D/blob/testing/thermistor_check.comp It is not the best solution and would much appreciate if someone has better idea.