Possible to have both BLTouch and backup Z min endstop



  • Is it possible to have an endstop switch as a backup to the BLTouch? While working on the printer I have on rare instances caused the probe to miss the bed and not stop the z carriage and crash into the bed. If I could have a secondary endstop set just beyond the expected probe point before hitting the bed it may help.



  • @davea said in Possible to have both BLTouch and backup Z min endstop:

    Is it possible to have an endstop switch as a backup to the BLTouch? While working on the printer I have on rare instances caused the probe to miss the bed and not stop the z carriage and crash into the bed. If I could have a secondary endstop set just beyond the expected probe point before hitting the bed it may help.

    Yup. That's exactly what I do (although I don't use a BL touch). What you do is connect a switch to spare E stop input. Then set up an external trigger using M581 to do an emergency stop (although you can take other actions). So for example, I have a normally closed micro-switch switch connected to E5 (I have a Duex 5 as well but you could use E1). Then in my config.g I have M581 E5 S1 T0 C0. More info on M581 is here https://duet3d.dozuki.com/Wiki/GCode#Section_M581_Configure_external_trigger



  • Thanks, I just set that up and it works as advertised. Except it doesn't interrupt a G30. I've been playing with this and have noticed if I put the probe in a abnormal position and then do a G30 I can see the axis come down, my endstop led trigger and then the nozzle crashes into the bed. After a bit the G30 errors out and I then get my trigger message and alarm tone.

    I assume interrupts are disabled during a G30 and maybe other probing operations so this may not do what I want.



  • You could take the same switch and wire it in parallel with the probe sense output. So if the probe failed to operate and the backup switch was hit it would read as probe triggered.

    The downside of course is that it wouldn't throw up an error as the controller would just think it was a probe working normally. But it would prevent a crash.

    Alternatively try using a smaller dive height for the probe itself. Maximum probing distance is 2x dive height so a lower dive height value will make the G30 stop and error out sooner (maybe before crashing), but this will require a precisely set probe and a bed which is already pretty level.



  • I just tried using T0 as the argument to M581 instead of T2 and trying to run a macro.
    With T0 the firmware will react as a real e-stop and shut down completely. This will work to prevent the nozzle from crashing into the bed. I was hoping to just disable all motors and not reboot but this will work.


  • Moderator

    It's also a good idea to reduce motor current during homing moves to the bare minimum so that the motor doesn't have enough force to damage anything. M913 will scale the current to a percentage.



  • Great idea! Something for first thing in the morning.
    Wonder how low I can go? There is a fair amount of drag with leadscrews on all axis and drylin bearings.


  • Moderator

    @davea you can also reduce acceleration to allow a more smooth ramp up of speed. Should help get lower speeds without binding.

    Don't forget to return values back to normal after homing.

    Oh one more thing that might be helpful. I use aacro to set the currents and speed and things like that. That way I can return to normal values by calling a macro and when I want to change values it's only changed in one place.



  • Thanks again. Coming from Marlin I'm still getting used to all this run time flexibility. I should have moved from Marlin long ago.


Log in to reply