All endstop behaviour inverted.
-
Hello!
I'm having a heck of a time getting my duet working on my printer.
No matter what I do, weather I select Active High, or Active low, my endstops are inverted. By inverted I mean that when nothing is touching them they show as active:
# All switches untouched, M574 sets S0: M119 Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: at min stop
But! When I push them in manually or move the gantrys to hit them they show as inactive:
# Gantry moved so X and Y endstops are being pressed, M574 sets S0: M119 Endstops - X: not stopped, Y: not stopped, Z: at min stop, Z probe: at min stop
I've confirmed that when I push the switch in, the LED on the board lights up for all of them, and also according to the documentation on these switches they should be active low, but just in case I've tried selecting both active low and active high switches to test. I tried selecting both in the web configurator and I've manually changed the config.g M574 from S0 to S1 and vice-versa. I've tried to add I1 to the M574 command since someone said that inverts it, but no matter what I did, nothing changed. Exact same behavior, as shown here:
# All switches untouched, M574 sets S1: M119 Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: at min stop
and
# Gantry moved so X and Y endstops are being pressed, M574 sets S1: M119 Endstops - X: not stopped, Y: not stopped, Z: at min stop, Z probe: at min stop
I'm using Makerbot Mechanical switches, I've triple checked wiring using the official guide here
I'm also using a new BLTouch-Smart v3.1 for the Z-probe, following the wiring directions here
When I go to setting > Machine-Specific, under endstops I see:
Endstops
0 Yes
1 Yes
2 Yes
3 NoThese also react the inverse of expected regardless of settings.
Board Info:
Board: Duet WiFi 1.02 or later
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.0 (2020-01-03b3)
Duet WiFi Server Version: 1.23Configured using the reprap web configurator.
relevant endstop part of config.g:
; Endstops M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop M574 Y1 S0 P"ystop" ; configure active-low endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid
-
From wiki : Endstop type S0 (active low switch) is no longer supported in M574 commands. Instead, use type S1 and invert the input by prefixing the pin name with '!'.
More about endstops in RRF3 : https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3 -
@aidar Thanks!!
Doing this seems to have worked for X and Y,
Z is still showing as:
Z: at min stop, Z probe: at min stop
Even though I'm using a BLTouch, not a switch. Would these issue be related or do you think this is a different issue? All of this was done in the web configurator, I guess that need to have the firmware 3 section updated, lol.
-
Make sure you are enabling the pullup resistor in the Z probe input, by specifying the pin name as C"^zprobe.in" in your M558 command.
-
I've added the "^" and tried a few manual edits as well but no matter what I do I'm showing
Z: at min stop, Z probe: at min stop
Here is what I currently have:
M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P25 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid
-
SOLVED:
BLTouch issue was cause by a bad crimp on the white wire. When all else fails, plug it in I suppose!