Z Endstop not used



  • I have a working optical endstop that is lighting the LED on the DuetWifi and shows the correct state in the web gui. I believe that it setup correctly in the config (shown below) but when i attempt a print i get this;

    efd01534-45eb-4410-9f4b-f64eaaa5267e-image.png

    and when I adjust the nozzle to the bed again it either dives into the bed or is way too far. shouldn't it use the X endstop that is setup?

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.5 on Sat Jan 11 2020 13:39:57 GMT-0800 (Pacific Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"3dPrinter" ; set printer name

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes REVERSE THIS IS X
    M569 P1 S1 ; Drive 1 goes forwards THIS IS Y
    M569 P2 S1 ; Drive 2 goes forwards THIS IS Z
    M569 P3 S1 ; Drive 3 goes forwards THIS IS EXTRUDER
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E466.00 ; set steps per mm z changed from 4000
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1200 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X230 Y230 Z250 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S1
    M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop - UMMEL ADD THE ! TO INVERT THE CONDITION
    M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
    M574 Z1 S1 P"zstop" ; configure active-low endstop for low end on Z via pin ystop
    ;M558 P5 H5 F500 T4000 X0 Y0 Z1 ; UMMEL set z probe type mode 5, not on x and y but on z
    ;G31 P25 X0 Y-25.3 Z0.0 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment

    ; Z-Probe CANT GET THE DAMN THING TO WORK
    ;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
    ;M558 P1 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds - THIS LINE WAS MY ORIGINAL, ABOVE IS FROM THE CONFIGURATOR
    ;G31 P500 X0 Y0 Z0.5 ; set Z probe trigger value, offset and trigger height
    ;M557 X15:215 Y15:195 S20 ; define mesh grid
    ;M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board - UMMEL ADDED NEXT 3 LINES FOR BLTOUCH
    ;M574 X1 Y2 S1 ; X home to min. Y home to max. Normally Closed limit switches. THIS IS ENDSTOPS - SEND IT ABOVE - UMMEL
    ;M574 Z1 S2 ; Define Z to use Probe. Home to Min
    ;M558 P5 H5 F500 T4000 X0 Y0 Z1 ; Set Z probe type/mode 5. H=Dive Height. F=Speed the bed moves
    ;G31 P25 X0 Y-25.3 Z0.0 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp -
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M307 H0 A106.7 C796.4 D2.6 V24.3 B0 ; Parameters set after the M303 tuning for the bed
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    M307 H1 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit
    M307 H1 A599.6 C218.6 D5.8 V24.3 B0 ; Parameters after nozzle tune
    ;M557 X5:205 Y5:165 S20 ; Define mesh grid * ALL THE CHANGES HERE CAME FROM https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/
    ;M307 H3 A-1 C-1 D-1 ; Disable the 3th Heater to free up on the Duex board for BLTOUCH - UMMEL ADDED

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency - layer fan THIS NEEDS TO BE 100% HOW TO DO?
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency - hot end
    M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
    M563 P1 S0 R0
    G10 P1 S0 R0
    ; Custom settings are not defined



  • Remove the endstop definition and define it as a probe instead. It will also act as an endstop.



  • @soreloser said in Z Endstop not used:

    M574 Z1 S1 P"zstop" ;

    so;
    M574 Z1 S0 P"zstop" ; ?



  • I read to make it like this;
    M574 Z0 S0 P"zstop" but that's not right



  • I reused the calibrator and it came up with; but now using the z probe input? the unit never dropped to sense the endpoint and gave me the same manual option in the gui.

    ; Endstops
    ;M574 X1 Y1 Z1 S1
    M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
    M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
    ;M574 Z1 S1 P"zstop" ; configure active-low endstop for low end on Z via pin ystop.

    ; Z-Probe
    M558 P5 H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
    G31 P500 X0 Y0 Z1.5 ; set Z probe trigger value, offset and trigger height
    M557 X20:200 Y20:200 S40 ; define mesh grid



  • @soreloser said in Z Endstop not used:

    M574 Z1 S0 P"zstop" ; ?

    no like
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z


  • administrators

    @Veti said in Z Endstop not used:

    @soreloser said in Z Endstop not used:

    M574 Z1 S0 P"zstop" ; ?

    no like
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z

    The S2 option of M574 is intended for use only when axes other than Z are using the Z probe for homing. The only printers I know of that do this are the RepRapPro Ormerod, Huxley Duo, and Mendel Tricolour machines that use Duet electronics.

    When using the Z probe to home Z, M574 Z0 should be used.

    @soreloser, you need to get the Z probe working. See https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Software_setup_RepRapFirmware_Num_3.



  • @dc42 said in Z Endstop not used:

    The S2 option of M574 is intended for use only when axes other than Z are using the Z probe for homing.

    then this ought to be changed in the configurator as it is always generating
    M574 Z1 S2
    when a probe is selected


  • administrators

    @Veti said in Z Endstop not used:

    @dc42 said in Z Endstop not used:

    The S2 option of M574 is intended for use only when axes other than Z are using the Z probe for homing.

    then this ought to be changed in the configurator as it is always generating
    M574 Z1 S2
    when a probe is selected

    Thanks for point this out. We'll get it changed.



  • @dc42 said in Z Endstop not used:

    https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Software_setup_RepRapFirmware_Num_3

    The same condition with these changes, it still asks what the probe hight is and will not lower to check;
    M574 Z0
    M574 Z0 S1 P"zstop"



  • So I purchased an inductive probe as I believed that the unit might have failed because it was not deploying the probe.
    I followed the tutorial from here and the unit is powered and senses aluminum if I get it close to the tip of it;
    https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Connecting_different_types_of_Z_probe
    The tutorial starts discussing the BLtouch so I moved on to this tutorial for testing;
    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
    which says to send the G30 command to begin the calibration. once I do that I am presented with the same web GUI to manually adjust the gap until it is just touching. What am I missing here?

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.5 on Sat Jan 11 2020 13:39:57 GMT-0800 (Pacific Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"3dPrinter" ; set printer name

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes REVERSE THIS IS X
    M569 P1 S1 ; Drive 1 goes forwards THIS IS Y
    M569 P2 S1 ; Drive 2 goes forwards THIS IS Z
    M569 P3 S1 ; Drive 3 goes forwards THIS IS EXTRUDER
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E466.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1200 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X230 Y230 Z250 S0 ; set axis maxima

    ; Endstops
    ;M574 X1 Y1 Z1 S1
    M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
    M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
    M558 P5 I1 ; Inductive sensor z

    ; Z-Probe
    ;M307 H3 A-1 C-1 D-1 ; FOR BLTOUCH? no change to the probing
    ;M558 P9 H5 F100 T2000
    ;G31 X0 Y0 Z0 P25

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp -
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M307 H0 A106.7 C796.4 D2.6 V24.3 B0 ; Parameters set after the M303 tuning for the bed
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    M307 H1 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit
    M307 H1 A304.5 C107.3 D3.3 V24.2 B0 ; Parameters after nozzle tune

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency - commented out for gcode to control it
    M106 P0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency - hot end
    M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F2 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
    ;M563 P1 S0 R0
    ;G10 P1 S0 R0
    ; Custom settings are not defined



  • @soreloser said in Z Endstop not used:

    M558 P5 I1 ; Inductive sensor z

    you have not defined which pin to be used. this is required in rrf3



  • In my endstop section it is listed there as P5. In the 'connecting z probe' doc it says;
    5 Digital probe connected to Z Probe input HIGH during probing, LOW at other times
    This is how it is connected to the board



  • you might want to adjust that. because i believe in 3.01 it will not work anymore, as the default config is changed.

    also you are missing the
    G31
    command



  • ok,
    I searched out what may be the 'new' way and input the below with no difference;

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.5 on Sat Jan 11 2020 13:39:57 GMT-0800 (Pacific Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"3dPrinter" ; set printer name

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes REVERSE THIS IS X
    M569 P1 S1 ; Drive 1 goes forwards THIS IS Y
    M569 P2 S1 ; Drive 2 goes forwards THIS IS Z
    M569 P3 S1 ; Drive 3 goes forwards THIS IS EXTRUDER
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E466.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1200 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X230 Y230 Z250 S0 ; set axis maxima

    ; Endstops
    ;M574 X1 Y1 Z1 S1
    M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
    M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
    ;M558 P5 I1 ; Inductive sensor z

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M558 P5 H5 F600 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X-40 Y0 Z2 ; Set Z probe trigger value, offset and trigger height

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp -
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M307 H0 A106.7 C796.4 D2.6 V24.3 B0 ; Parameters set after the M303 tuning for the bed
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    M307 H1 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit
    M307 H1 A304.5 C107.3 D3.3 V24.2 B0 ; Parameters after nozzle tune

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency - commented out for gcode to control it
    M106 P0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency - hot end
    M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F2 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
    ;M563 P1 S0 R0
    ;G10 P1 S0 R0
    ; Custom settings are not defined


  • Moderator

    @soreloser said in Z Endstop not used:

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M558 P5 H5 F600 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X-40 Y0 Z2 ; Set Z probe trigger value, offset and trigger height

    Change first line to M574 Z0
    From: https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M574_RepRapFirmware_Num_3

    The S2 option of M574 is intended for use only when axes other than Z are using the Z probe for homing. The only printers known that do this using Duet electronics are the RepRapPro Ormerod, Huxley Duo, and Mendel Tricolour machines. When using the Z probe to home Z, M574 Z0 should be used.

    You're missing the probe input pin. Try:
    ; Z-Probe
    M558 P5 C"zprobe.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
    G31 P500 X-40 Y0 Z2 ; set Z probe trigger value, offset and trigger height

    Ian



  • Awesome, forward momentum!
    I no longer get the popup but the unit does not drop and returns with;
    The following axis is not homed: Z
    I will read more and continue. thank you for your help


  • Moderator

    @soreloser You may have to change your Z homing script. To home Z with the probe, move to the XY position where you want the bed to home, and use G30: https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_G30_Single_Z_Probe

    This from @dc42 :

    The related thing that some users get wrong is using a G1 S1 move to home Z instead of a G30 move. This combination of these 2 mistakes [setting M574 Z1 S2] will allow Z homing after a fashion, but of course the Z height will get set to the M208 limit instead of the Z probe trigger height.

    Ian



  • I think i have it now and have setup a very good starting height that i now send a file to the printer and have confidence in a good first layer (all after reading the calibration doc). I plan to setup a probing mesh next and would like to thank you again for your help here. I did learn quite a bit.


Log in to reply