Magnetic Z-axis Endstop for Makerbot
by Artbot, published
This uses a magnetic reed switch for a Z-max endstop on a Thing-o-matic Makerbot printer which allows Z-axis re-calibration before each print.
This modification allows a re-calibration of the Z-axis endstop before each print. It does not require any electrical connection between the print head and printing platform, nor does it need to have components near the print heads at all.
The circuit is very simple and is a variant of Makerbot's own endstop -
http://wiki.makerbot.com/thingomatic-doc:mechanical-endstop-1-2 and is connected to the Z-max input of the motherboard using a standard CDROM audio cable.
Here the mechanical switch of the Makerbot style endstop is replaced by a reed switch connected between the red signal line (4) in the makerbot circuit diagram to the black ground line (2 and/or 3). An led with current load resistor was also used between white positive connection (1) with a 10k resistor ( I used two 5k in series which were to hand) connected to white positive connection (1) and red signal line (4) to hold the signal line high when the reed switch is open circuit. The 10k resistance stops the motherboard burning out as it would otherwise act as a short. I recyled an old reed switch holder I had as a spare to save time implementing.
Be careful to work on this with the bot powered down to avoid shorting the white positive connection (1) to the black ground line (2 and/or 3) when wiring up as this is likely to daamge your motherboard even if it is a momentary short!
The magnets used to trigger the reed switch were taken from a used sonicare toothbrush head as these a nice strong magnets and an old blanking plate was cut and slipped over the side of the Z stage and fitted under the bolt head. This allowed the magnet to be moved up or down to fine tune the setting for the Z max position.
The calibration code below is similar to the excellent work by ScribbleJ in thing:7008. You will also need to disregard the warning about the reverse homing direction during Gcode checks just prior to printing.
( begin homing )
G162 Z F500 (home Z axis maximum)
G161 X Y F2500 (home XY axes minimum)
G92 X0 Y0 (set current position = 0)
G1 X60 Y60 (goto 60,60 Z test point)
G161 Z F500 (home z minimum)
G92 X60 Y60 Z0 ( Set Z axis minimum, compensate for x y displacement )
G1 Z40.0 F3300.0 (move to waiting position for z)
G1 X0 Y0 ( return to expected position for X Y )
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)
This works successfully on my Dualstrusion Thing-o-matic with the Titanium belt APB, which works especially well when used with the Avery Clear labels - Sticks like glue - prints only come off with a lot of effort!
Updated with profiles for RepligatorG 0040 Sailfish - December 2012
Arbot.xml Now with amended tool indexes for Sailfish A/B reversal.