I am, as you might know, using the Arduinoclub board that has got one X, Y and Z port, so connecting dual endstops is not going to work in the classical sense. I now thought about whether it would be possible to put two endstops in series that trigger as soon as both endstops hit the end.
This should in principle be possible with a firmware change, but normal dual-endstop assumes that it knows which side is triggering.
With both endstops NC and wired in series, a modified approach could move both steppers in tandem until either one triggers, but it wouldnāt know which. Then by backing off and moving each one individually, it could locate the points where each one triggers. But Iām pretty sure this is not how the dual endstop firmware works.
Thanks. I was thinking more along the simple solution, stop if one triggers. I am not even sure I need it or if it would make things easier for me. I have been getting along pretty well but was considering adding an endstop. I could also try to put one on the core to trigger if it hits the truck, just as a failsafe.
Thanks again!
The non-dual-endstop series-wired configuration will work like that, if you use two NC endstops wired in series. You wonāt get squaring (which you wouldnāt anyway), but it is nice and simple.
Or even a single endstop will be enough, if your machine is not too far out of square. In fact this is what I do. I have one endstop on the ābackā of the machine, and a mark in the front so I can manually square the machine after homing. Itās not this machine but itās the same approach: Regular end stops (not dual) - #16 by jamiek
Ah, nice. Thanks for the link. I did print the endstops for the rails and just use them as manual endstops now. So I just might add one for each axis as well. Those mm thingies are really smart!
One more question if you donāt mind, since you use it the way I thought about: what do you do with the endstop then? Just to drive to 0? Is it worth it upgrading?
Iām not sure what you mean, what I do with the endstops.
Normally I donāt care about absolute coordinates, since Iāll reset coordinates (G92) at the workpiece, but I home and adjust anyway so that I can get the machine close to square. (And so the LCD stops blinking question marks.) Then I jog the machine to the workpiece (thanks to joystick) instead of physically dragging, so it maintains square. I donāt have anything in place to prevent crashes because crashes are not that bad. In other words, soft stops and āENDSTOPS_ALWAYS_ON_DEFAULTā are both disabled, which is the default for a series-wired configuration.
Iām not sure about the software side of things, but you can in principle get the dual end stop homing with only 2 pins, you just have to home X and Y separately. So endstops X1 and Y1 share the same pin (connected in series NC) and same for the other ones. But youāre forced to only home X then Y or Y then X and not both together. But it should be able to square automatically.
You could go even further if the firmware is written for it. You could move toward zero until you sense a triggered endstop. Then move away, move one motor until it triggers, move away, and then move the other in. I think the grbl_esp does that.
I just read down through this thread, and I have concerns about your proposal. If you set the switches up like you describe so that both need to be triggered to stop homing, and if there is any angle to an axis, one end of that axis will be pushed past the trigger point, smashing the switch against the stop. If you wire your system so that the first switch that fires stops the homing, then if the angle changes, you potentially will get an inconsistent home position.
I suggest just one switch per axis on the end of the axis near the origin of your machine. This does not square the machine, but it does give you a repeatable home position for certain operations.