This is a relatively new problem as everything was working very well for many months. When homing, the endstops appear to do their job and stop everything but the machine hangs and has 1 command waiting. Any further commands don’t go through. Found out that one endstop (rarely the same one) needs to be triggered by sticking something small in there and manually clicking it. Then it continues as normal and all waiting commands go through.
I can’t check M119 for endstop status at that time because no commands go through. After I click the problem switch though I can check M119 and it will usually show 1 switch is not activated and should be or activated and should not be.
Basically, the switches are sending the correct signal but it seems its just a false trigger. Are these switches worn out? Is it signal noise? This machine hasn’t really had THAT much use so shouldn’t be worn out. And why would this problem manifest itself all of a sudden? Nearly every time it homes now.
Tried adding and removing debounce from the code but no effect.
One thought though… Immediately after touching off on the endstops, it wants to go to home (x0, y0, zmax) but this location requires small movements for at least 2 stepper motors on the Kossel because the endstops are not perfectly level. They have offsets. It may be the small offsets that are triggering an endstop and causing the hang. How can I check this?
I always appreciate when someone follows up on a problem as it has helped me when looking for answers so I’ll post what I have found that solved my problem.
Long story short: I increased the slow homing speed to power through a noisy area in the travel of one of the endstops.
I determined that the software is sophisticated enough to know when, and what type of endstop switch activation should happen during homing. For instance, when the carriages are moving up, it expects the switch to close and stay closed. One the way down, it doesn’t expect the switch to close ever. My problem was that on the way up during the slow homing (second slower endstop touch off), one switch would prematurely and momentarily send a closed signal. Because it was just momentary, it causes the machine to hang. By increasing the slow homing speed I was able to tune it such that this momentary closed signal is not activated and to goes on to the fully sustained and repeatable closed state every time.