Hi,
I've use these and they work well.
http://nz.element14.com/omron-industrial-automation/z-15gq22b/microswitch-z-roller-plunger-spdt/dp/1181279The prices are NZD. I got some equally good Honeywell units for $13USD. Pretty good value. With a ramp actuator I get 0.02mm repeatability.
With any snap action switch you get hysteresis. When pushing downwards to cause the switch to activate, call it z=0, but as you release it upwards it will go past
the point where the switch made, say z=.05mm. Hysteresis is not critical, all it really does is place a larger gap between where the switch makes and where
Mach backs up and the switch unmakes.
One spec which you should think about is 'overun'. It is the distance the button or plunger can travel after the switch activation without banging into an internal
stop and damaging itself. You may notice that the roller plunger types I have used (they are commonly and widely used by OEMs and CNCers) will not be
damaged if the axis overruns, the ramp will at worst depress the roller a couple of mm even with a runaway axis and the switch has a 5mm overrun tolerance.
I can stop a job on my machine, de-power and come back tomorrow, rehome the machine and continue from where I left off within 0.02mm. I now use Mach4 which
has index homing support for even closer homing but I've found I don't really need it, these switches are goo enough on their own.
Craig