Jump to: navigation, search

Connecting a Z probe

The Duet 0.8.5 and Duet WiFi provide a dedicated 4-pin connector for connecting a Z probe. The Duet 0.6 does not have the Z-probe connector, but you can use some pins on the expansion connector for the same purpose. Once you have the probe connected, see Setting up automatic probing of the print bed.

These are the pins provided on the 4-pin connector, and the corresponding pins on the Duet 0.6 expansion connector:

Duet WiFi pin marking Duet 0.8.5 pin marking Duet 0.6 expansion connector pin Purpose
IN AD12 39 (AD12) Input from Z probe
GND GND 2 (or use the GND pin on E0 endstop connector) Ground
MOD PC10 41 (AD14) Control signal for some types of Z probe
3.3V 3.3V 3 (or use the 3V3 pin on E0 endstop connector) Power to Z probe

You can use a Z probe with either an analog or a digital output. The advantage of an analog output is that the firmware will slow down the probe speed when it is getting close to trigger height. Some types of Z probe with digital output should be connected to the E0 endstop connector instead of ot the Z probe connector.

To configure the firmware to recognise the output mode of the Z probe you are using and which pin it is connected to, use the P parameter of the the M558 command in config.g. For example, M558 P1 selects Z probe mode 1.

Z probe modes selectable in firmware

Mode 1

This is a probe with an analog output connected to the Z probe connector. The probe output must rise as it gets closer to the bed, unless you use parameter I1 in the M558 command to indicate that the probe output falls as it gets closer to the bed (the I1 parameter is supported in firmware 1.16 and later). The control signal is driven HIGH.

Mode 2

This is a probe with an analog output that requires the Duet to provide modulation signal and demodulate the returned signal. The probe output rises as it gets closer to the bed. The Duet drives the control signal with a 500Hz square wave. The firmware extracts that part of the analog signal received on the IN pin that is in phase with the modulation.

Mode 3

As mode 1 except that the control signal is driven LOW.

Mode 4

The trigger signal is read from the E0 endstop circuit. You can choose whether the signal is high or low when triggered. In firmware 1.15 and earlier this is done by using M574 E0 S1 to select active high, or M574 E0 S0 to select active low. In firmware 1.16 and later, use I1 in the M558 command to select active low, otherwise it defaults to active high.The device connected to the E0 STP pin must be able to sink 1.5mA for the Duet WiFi, or 2.1mA for the Duet 0.6 or 0.8.5.

Mode 5

A switch or digital output device connected between the IN and GND terminals of the Z probe connector. Similar to mode 4 except that the Z probe connector is used. The input must be active high when triggered, or in firmware 1.16 and later you can use the I1 parameter in the M558 command to select active low. The only pullup resistor is the 100K nominal pullup in the microcontroller so the sink current requirement is tiny.

Mode 6

Similar to mode 4 except that the E1 endstop input is used.

Connecting different types of Z probe

Mini differential IR sensor by dc42

Connect the VCC, GND and OUT pins of the sensor to 3.3V, GND and IN respectively on the Z probe connector, and select mode 1 in the M558 command. See also this document for more on setting up this probe.

RepRapPro 3-wire IR sensor (as shipped with Ormerod 1)

Connect as shown in the RepRapPro Ormerod 1 wiring instructions, using the table above to translate between expansion connector pins and Z probe connector pins if necessary, and select mode 1.

RepRapPro 4-wire IR sensor (as shipped with Ormerod 2, Huxley Duo and Mendel)

Connect as shown in the RepRapPro Ormerod 2/.Huxley Duo/Mendel wiring instructions, using the table above to translate between expansion connector pins and Z probe connector pins if necessary, and select mode 2.

Force sensitive resistor(s)

If not using JohnSL's trinket board: Connect the FSR(s) in parallel, between +3.3V and the IN pin of the Z-probe connector, and connect a fixed resistor between the IN pin and the GND pin. Select mode 1. Choose the value of the fixed resistor to give reliable triggering. With firmware 1.16 and later it is possible to connect the FSRs between IN and ground instead, and the fixed resistor between IN and +3.3V, if you use the I1 parameter in the M558 command.

If using JohnSL's trinket board: Connect its Vcc, Output and Ground pins to 3V3, STP and GND respectively on the E0 endstop connector, and select mode 4. Alternatively, connect them to 3.3V, IN and GND on the Z-probe connector and select mode 5.

Microswitch

Connect it between the STP and GND pins of the E0 connector and select mode 4. If it is a normally-closed microswitch, then with version 1.15 or earlier firmware use M574 E0 S1 to select active high trigger level. For normally-open contacts (not recommended), send M574 E0 S0 instead. With 1.16 or later firmware, include parameter I1 in the M558 command if you are using a normally-open switch.

NPN output normally-open inductive or capacitive sensor

Connect its output wire to the cathode of a diode, and the anode of the diode to the E0 STP pin. Connect the sensor ground wire to a ground pin on the Duet, and the sensor's + power wire to a suitable voltage (typically to VIN because these sensors usually need between 6 and 30V power).

The diode should preferably be a small-signal Schottky diode such as BAT43 or BAT85, but a small signal silicon diode such as 1N4148 works for some people.

Select mode 4 in the M558 command. If using firmware 1.15e or earlier, include M574 E0 S0 in config.g to select active low logic level for the Z probe. If using firmware 1.16 or later, include parameter I1 in the M558 command instead.

PNP output normally-open inductive or capacitive sensor

Connect the sensor output wire to one end of a resistor (call this R1), and connect one end of another resistor (call this R2) to GND on the Z-probe connector. Connect the free ends of R1 and R2 together and to the IN pin of the Z-probe connector. Also connect the sensor ground wire to Duet ground, and the sensor's + power wire to a suitable voltage (typically to VIN because these sensors usually need between 6 and 30V).

The values of R1 and R2 should be chosen so that about +3V appears at their junction when triggered. If R2 is 10K, then suitable values of R1 are 30K if the sensor is powered from +12V, and 68K if it is powered from +24V.

Select mode 5 in the M558 command.

BLTouch

These instructions are provisional because I don't have a BLTouch so I can't check them for accuracy. For more information, see this thread https://www.duet3d.com/forum/thread.php?id=459.

If you don't have a DueX2 or DueX5 expansion board

Connect the BLTouch as follows:

Duet ZProbe connector pin Duet expansion connector pin BLTouch pin Colour
GND GND Brown
IN Out  ??
+5V (pin 1) +5V Orange
Heater3 (pin 8) Control Yellow

If you have the older BLTouch, also connect the 240 ohm resistor between Probe GND and Probe IN. On the newer BLTouch, cut the PCB trace on the BLTouch to reduce the output to 3.3V as described in the BLTouch instructions.

Put this command in your config.g file to disable heater 3, which makes it available for use to control the BLTouch:

M307 H3 A-1 C-1 D-1

Your deployprobe.g file (in the /sys folder of the SD card) should contain just this command:

M280 P3 S10 I1

Your retractprobe.g file (in the /sys folder of the SD card) should contain just this command:

M280 P3 S90 I1

If you do have a DueX2 or DueX5 expansion board

First you need to allocate an unused heater expansion channel to reconfigure as the servo control for the BLTouch. If you don't have a DueX2 or DueX5 connected, use heater 3/PWM1. If you have a DueX2 or DueX5, you can use heater 3 again if you do not have anything connected to the E2Heat terminals on the heater terminal block. If you do, then allocate the first free heater. For example, if the E3Heat output is unused, you can use heater 4/PWM2.

Connect the BLTouch as follows:

Duet ZProbe connector pin DueXn PWM connector pin BLTouch pin Colour
Z probe GND GND Brown
Z probe IN Out  ??
+5V +5V Orange
PWM Control Yellow

Put this command in your config.g file to disable the heater, where # is the heater number (this makes it available for use to control the BLTouch):

M307 H# A-1 C-1 D-1

Your deployprobe.g file (in the /sys folder of the SD card) should contain just this command:

M280 P# S10 I1

Your retractprobe.g file (in the /sys folder of the SD card) should contain just this command:

M280 P# S90 I1

In both cases

Select probe type 5 (the P parameter in your M558 command), Set the G31 P parameter to a low value such as 50 or 100, because the BLTouch produces only a short output pulse, which may be filtered out of you use a higher threshold.

Retrieved from "https://duet3d.com/w2/index.php?title=Connecting_a_Z_probe&oldid=2631"
button