Test and calibrate a Z probe
Static test of the Z probe ¶
Static test using the web interface ¶
- Apply power to the printer.
- Connect to the printer from a browser.
- With the Z probe not close enough to the bed to trigger it, check that the Z probe reading in Duet Web Control is zero or close to zero.
- If your Z probe is of a type that produces a continuous output when triggered (for example IR, inductive, capacitive and switch-type probes), hold a surface below the Z probe to cause it to trigger (or jog the nozzle towards the bed until it is close enough to trigger). Check that the Z probe reading in DWC is correct (about 537 for the Mini Differential IR probe, and about 1000 for most other types).
- If your Z probe produces a short pulse when it triggers (e.g. Smart Effector, Precision Piezo, FSRs with John SL board, BLTouch) then the pulse will probably be too short for you to see. Proceed to the dynamic test.
Static test using Panel Due or a USB connection ¶
As above, but either monitor the Z probe reading in PanelDue if you have one, or send G31 via USB every time you want to read it.
Dynamic test ¶
- Apply power to the printer.
- Connect to the printer from a browser or via USB.
- If your printer is Cartesian or CoreXY, home X and Y. If it is a Delta, home all.
- Position the print head well above the bed.
- Send command G30 to do a single Z probe. This will start the head descending, or the bed rising.
- Hold a suitable surface below the print head to trigger the Z probe. The probe should trigger and the Z movement should stop.
- If the Z movement doesn't stop, turn off power to the printer before the head crashes into the bed.
Calibrate the Z probe trigger height ¶
- Make sure the dynamic test is successful (Z probe stops when it senses the bed) before doing this.
- Ensure that the Z offset in G31 in config.g is set to 0, these steps will be used to measure this actual offset. (send G31 Z0 to set it to 0).
- Use the X and Y jog buttons to position the nozzle over the centre of the bed
- Jog the nozzle down until it is just touching the bed or just gripping a sheet of paper.
- Send command G92 Z0 to tell the firmware that the head is at Z=0
- Jog the head up by 5 to 10mm
- If the Z probe needs to be deployed, deploy it
- Send command G30 S-1. The nozzle will descend or the bed rise until the probe triggers and the Z height at which the probe stopped will be reported. If you are using a nozzle-contact Z probe, the trigger height will be slightly negative. For any other type of Z probe where the probe triggers before the nozzle contacts the bed, it will be positive.
- Repeat from step 5 two or three times to make sure that the trigger height is consistent.
- In Duet Web Control, go to Settings -> System Editor and edit the config.g file. Set the Z parameter in the G31 command to the trigger height that was reported. Save the file.
More information on Z Probes ¶
BL Touch ¶
BeTrue3d.dk Has a very detailed tutorial on using a BL touch, including how to setup bed leveling an bed compensation here: