If you have a Precision Piezo Z-Probe and want to connect it to your duet wifi/ethernet board here's how to do it. Tuning and other aspects of the probe's operation are dealt with in the manuals at http://www.precisionpiezo.co.uk/documents
The Piezo20 module or Universal Z-Probe Kit PCB comes with a standard DuPont 3 pin endstop cable attached with correct wiring at the piezo pcb. The other end has three wires red (VCC), black (GND) and green/blue (SIG/TRG). A 4 pin DuPont connector housing is supplied.
Insert the red wire at one end of this housing, ensure the crimp is inserted so the spring clip retains it in the housing. Leave a gap of one pin, then connect black, then green/blue. Insert the plug into the duet z probe connector with the red wire end facing toward the long expansion socket and the green/blue SIG wire facing towards the end of the duet board with the LEDs and sd card slot.
You need to define a probe there are two options:
This enables you to adjust the fine sensitivity of the probe on the fly, the coarse sensitivity is adjusted from the pcb. If using a Piezo20 module the signal must be NO (active high) and therefore use the I0 parameter. If using universal kit PCB you can set up the PCB with a NO - active high (I0) or NC - active low (I1) signal. It's your choice but NC -active low offers failsafe operation.
M558 P1 I0(or I1) R0.4 F300 X0 Y0 Z0
(analogue mode, NO/NC, delay, speed, not used as axis endstop)
G31 X0 Y0 Z-0.1 P600
(X, Y, Z offsets, sensitivity/threshold)
To reduce mechanical noise from the frame or axis vibration, the R parameter is the delay before probing in seconds, set a longer delay if the probe triggers before contacting the bed.
Probing speed F parameter (in mm/min). A value from 300-420 is recommended. Slower can give more accuracy but too slow may not trigger, as the probe generates a signal on a change (compression or flexing in the piezo disc.
The z probe analogue value is from 0 to 1000. If you get a lot of false triggering increase this value, a firmer bed contact will be needed to trigger. This value can be seen on Duet Web Control in the "z-probe" box. It is normal for this value to bounce around during head movement and printing moves, its only required for it to be stable just before and during probing dives.
which is simpler and works as it would on an 8 bit board.
M558 P5 I0( or I1) R0. 4 F300 X0 Y0 Z0
(digital mode, NO/NC, delay, speed, not used as axis endstop)
G31 X0 Y0 Z-0.1 P100
(X, Y, Z offsets, debounce interval)
The debounce interval in ms smoothes the signal.
Please note as of RRF version 1.20 you can use M558 P8 instead (other parameters are the same) which is a digital probe but without filtering or smoothing of the signal. This increases accuracy, as it takes less time to react to a trigger.
The Z offset accounts for the compliance in the sensor and is usually -0.1mm as effectively the trigger point is just below the bed (this is opposite with inductive/IR sensors which trigger above the bed). If you have to babystep your first layer lower by 0.1mm, for example, then reverse the sign and add it to your G31 offset or vice versa if you have to babystep higher subtract the value from G31. Example, G31 Z-0.1 is set in config.g, probe/level/home/calibrate then print, if you babystep up 0.1mm then subtract 0.1mm from G31 Z change the value in config.g, power cycle/reset the machine, when your print finishes and you are ready for consistent first layers from now on.