Multiple Door Switches

Multiple Door Switches

Sometimes when the routers are enclosed, multiple doors require multiple door / feed hold switches.

This can be managed by wiring all switches in series normally open configuration so that when every door is closed every switch is also closed and the signal gets through.

The door witches use the feed hold input on the control card, if you also wish to use a button for feed hold then it needs to be wired in series with the door switches.

GRBL will also need to have its feed hold signal inverted so that when it sees the feed hold pin switch to 0V it considers this an ‘all-clear’ not a ‘problem’ as it would in the default config.

This can be done by adding the following line to config.h and refreshing GRBL to the control card:

#define INVERT_CONTROL_PIN_MASK (1<<CONTROL_SAFETY_DOOR_BIT).   // Changes feed hold trigger to be active low instead of active high



It’s also handy to change the default feed hold behaviour to parking behaviour.  Parking behaviour will turn off the spindle (if you have code controlled spindle) and raise the Z-axis out of the workpiece, instead of simply pausing when you hit feed-hold or open a door.  Then once you close the doors and hit start again it will turn on the spindle, lower it back in and then continue the job.

This helps by clearing the spindle from the workpiece so that you can get in and inspect things, it’s also great for those without Gcode spindle control to be able to pause without the endmill engaged which burns up the timber and the endmill.

Parking can be enabled by:

Removing the “//” from the start of this line in config.h.   //#define PARKING_ENABLE

and refreshing GRBL to the control card.

Further refinement is also available in the following lines:

#define PARKING_AXIS Z_AXIS // Define which axis that performs the parking motion
#define PARKING_TARGET -5.0 // Parking axis target. In mm, as machine coordinate [-max_travel,0].
#define PARKING_RATE 500.0 // Parking fast rate after pull-out in mm/min.
#define PARKING_PULLOUT_RATE 100.0 // Pull-out/plunge slow feed rate in mm/min.
#define PARKING_PULLOUT_INCREMENT 5.0 // Spindle pull-out and plunge distance in mm. Incremental distance.

and refreshing GRBL to the control card:


Multiple Door switch schematic for AIO.


Multiple Door switch schematic for GRBL GECKO.