Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Z probe wrong direction unless I zero Z

    Scheduled Pinned Locked Moved
    General Discussion
    5
    16
    1.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • nick9one1undefined
      nick9one1
      last edited by nick9one1

       ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Sep 05 2020 23:57:30 GMT+0100 (British Summer Time)
      
      ; General preferences
      M80					       ; Turns on the ATX power supply
      G90                                            ; send absolute coordinates...
      M83                                            ; ...but relative extruder moves
      M550 P"BLV MGN Cube"                           ; set printer name
      M669 K1                                        ; select CoreXY mode
      
      ; Network
      M552 S1                                        ; enable network
      M586 P0 S1                                     ; enable HTTP
      M586 P1 S0                                     ; disable FTP
      M586 P2 S0                                     ; disable Telnet
      
      ; Drives
      M569 P0 S0                                     ; physical drive 0 goes backwards
      M569 P1 S1                                     ; physical drive 1 goes forwards
      M569 P2 S1                                     ; physical drive 2 goes forwards
      M569 P3 S0                                     ; physical drive 3 goes backwards
      M584 X0 Y1 Z2 E3                               ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
      M92 X200.00 Y200.00 Z800.00 E415.5             ; set steps per mm
      M566 X600.00 Y600.00 Z24.00 E300.00            ; set maximum instantaneous speed changes (mm/min)
      M203 X20000.00 Y20000.00 Z600.00 E2000.00      ; set maximum speeds (mm/min)
      M201 X3000.00 Y3000.00 Z100.00 E5000.00        ; set accelerations (mm/s^2)
      M906 X1600 Y1600 Z1600 E1300 I30               ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                        ; Set idle timeout
      
      ; Pressure advance
      ; M572 D0 S0.05	
      
      ; Axis Limits
      M208 X-23 Y0 Z0 S1                             ; set axis minima
      M208 X305 Y332 Z350 S0                         ; set axis maxima
      
      ; Endstops
      M564 H0					       ; allow jog without homing
      M574 X1 S1 P"xstop"                            ;
      M574 Y2 S1 P"ystop"                            ;
      M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M558 P1 H5 C"^zprobe.in" H5 F200 T9000 I0 R0.5 ; set Z probe type to switch and the dive height + speeds
      G31 P500 X-2 Y-16.4 Z1.33                      ; set Z probe trigger value, offset and trigger height
      M557 X10:292 Y5:300 P8                       ; define mesh grid
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor"T100000 B3950 C0 R4700 A"Bed Temp"  	; 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
      M140 H0                                        				; map heated bed to heater 0
      M143 H0 S100                                   				; set temperature limit for heater 0 to 120C
      M307 H0 A466.3 C1262.5 D12.8 S1.00 V24.0 B0    				; Set PID for heated bed values
      M308 S1 P"e0temp" Y"thermistor" T100000 B3950 C0 R4700 A"Hotend Temp"   ; 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 S260                              				; set temperature limit for heater 1
      M307 H1 A340.0 C140.0 D5.5 S1.00 V24.0 B0     				; Set PID for hotend values
      
      ; Fans
      M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
      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
      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
      
      
      
      
      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Sep 05 2020 23:57:30 GMT+0100 (British Summer Time)
      
      G91              	; relative positioning
      G1 H2 Z5 F500   	; lift Z relative to current position
      G1 H1 X-355 F6000 	; move quickly to X axis endstop and stop there (first pass)
      G1 H0 X5 F6000 		; go back a few mm
      G1 H1 X-355 F360  	; move slowly to X axis endstop once more (second pass)
      
      G90              	; absolute positioning
      
      G91               	; relative positioning
      
      G1 H1 Y355 F6000 	; move quickly to Y axis endstop and stop there (first pass)
      G1 H0 Y-5 F6000 	; go back a few mm
      G1 H1 Y326 F360  	; move slowly to Y axis endstop once more (second pass)
      
      
      G90                    	; absolute positioning
      G1 X152.5 Y152.5 F6000 	; go to first bed probe point and home Z
      G30                    	; home Z by probing the bed
      
      
      
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        @nick9one1 said in Z probe wrong direction unless I zero Z:

        M564 H0 ; allow jog without homing

        It's best not to use this on a regular basis and could be hiding other issues. It's meant to save you from a crash.

        G1 H0 X5 F6000 ; go back a few mm

        Remove the H0 from your homing files. It's the default, so you don't need to specify it.

        When you jog your Z axis normally after homing (after you remove the M564) does Z+ move the bed away from the nozzle and Z- towards the nozzle?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • fcwiltundefined
          fcwilt
          last edited by

          From the documentation when using your Z probe for homing:

          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.

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          nick9one1undefined 2 Replies Last reply Reply Quote 0
          • nick9one1undefined
            nick9one1 @fcwilt
            last edited by

            Remove the H0 from your homing files. It's the default, so you don't need to specify it.
            

            Done

            M564 H0 ; allow jog without homing
            
            It's best not to use this on a regular basis and could be hiding other issues. It's meant to save you from a crash.
            

            I will do after this issue is resolved - at the moment I need to raise the bed at least 300mm to home successfully.

            1 Reply Last reply Reply Quote 0
            • nick9one1undefined
              nick9one1
              last edited by nick9one1

              When you jog your Z axis normally after homing (after you remove the M564) does Z+ move the bed away from the nozzle and Z- towards the nozzle?
              

              Yes, the jog buttons work as expected, and I get good prints.

              G1 Z5 F6000 lowers the bed
              G1 Z-5 F6000 raises the bed

              When the bed is fully lowered at power on, I have to send this before a home;
              G1 Z-500 F6000
              G92 Z0

              If I dont send G92 Z0 the printer seems to attempt a probe in the wrong direction (Z+ instead of Z-). I think this is because it thinks the bed is at Z-500 (my G1 Z-500 command).

              If I attempt to home when the bed is fully lowered at power on, the bed raises about 1/2 way (Z-), then starts going to other way (Z+).
              It seems to me like there is a timeout or travel limit safety.

              1 Reply Last reply Reply Quote 0
              • nick9one1undefined
                nick9one1 @fcwilt
                last edited by nick9one1

                @fcwilt

                M574 now looks like this;

                ; Endstops
                M564 H0					     ; allow jog without homing
                M574 X1 S1 P"xstop"                          ;
                M574 Y2 S1 P"ystop"                          ;
                M574 Z1 S1 P"zstop"                          ; 
                

                not

                ; Endstops
                M564 H0					       ; allow jog without homing
                M574 X1 S1 P"xstop"                            ;
                M574 Y2 S1 P"ystop"                            ;
                M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
                

                Unfortunately the behaviour is still the same

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • jay_s_ukundefined
                  jay_s_uk
                  last edited by

                  What fcwilt meant was remove the M574 line for the endstop, unless you still have one on Z maximum.

                  Your M558 included an I0, which is not supported as part of RRF3.

                  Your Z maximum is set as 350mm. How large is it as you seem to be issuing a -600mm move which would indicate your Z axis is larger than 350mm

                  Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                  1 Reply Last reply Reply Quote 0
                  • droftartsundefined
                    droftarts administrators @nick9one1
                    last edited by

                    @nick9one1 this came up recently in another thread, where the M208 Z limit was much smaller then the actual Z movement. If the probe move has to move more than 1.1 times the M208 Z limit, probing is cancelled and it will try to move the bed back to Z0. So set you M208 Z limit to much closer to the actual size, eg Z600. You can always set up a fast Z home move, then slow Z home, if it’s painful to watch it home 600mm at slow speed!

                    Ian

                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • nick9one1undefined
                      nick9one1
                      last edited by

                      @jay_s_uk said in Z probe wrong direction unless I zero Z:

                      What fcwilt meant was remove the M574 line for the endstop, unless you still have one on Z maximum.

                      Your M558 included an I0, which is not supported as part of RRF3.

                      Your Z maximum is set as 350mm. How large is it as you seem to be issuing a -600mm move which would indicate your Z axis is larger than 350mm

                      Thanks!

                      I will remove I0 frm M558

                      I guess Z max here is probably the cause of the bed getting to half way then reversing. I will change to Z650 (Z is 650)

                      M208 X305 Y332 Z350 S0                         ; set axis maxima
                      
                      nick9one1undefined 1 Reply Last reply Reply Quote 0
                      • nick9one1undefined
                        nick9one1 @nick9one1
                        last edited by

                        @droftarts said in Z probe wrong direction unless I zero Z:

                        @nick9one1 this came up recently in another thread, where the M208 Z limit was much smaller then the actual Z movement. If the probe move has to move more than 1.1 times the M208 Z limit, probing is cancelled and it will try to move the bed back to Z0. So set you M208 Z limit to much closer to the actual size, eg Z600. You can always set up a fast Z home move, then slow Z home, if it’s painful to watch it home 600mm at slow speed!

                        Ian

                        I like the idea of a faster Z home, so will try that.

                        I'm also using a mini IR Z probe which seems to have similar behaviour when Z gets close.

                        1 Reply Last reply Reply Quote 0
                        • jay_s_ukundefined
                          jay_s_uk
                          last edited by

                          I use

                          M558 F250 				 										; Set the probing speed
                          G30					 											; Probe a single point
                          M558 F30 				 										; Set a slower probing speed
                          G30					 											; Probe a single point
                          

                          In my Z homing file. That sets the first homing speed to just over 4mm/s and then 0.5mm/s. A similar change to your homing file would work for you.

                          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                          1 Reply Last reply Reply Quote 1
                          • Phaedruxundefined
                            Phaedrux Moderator @droftarts
                            last edited by

                            @droftarts I thought it sounded familiar 😉

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 0
                            • nick9one1undefined
                              nick9one1
                              last edited by nick9one1

                              All working as expected now thankyou.

                              I think the key change was setting the correct Z height

                              M208 X305 Y332 Z350 S0 ; 
                              

                              now;

                              M208 X305 Y332 Z950 S0 ; 
                              

                              Full Gcode;

                              950 ; Configuration file for Duet WiFi (firmware version 3)
                              ; executed by the firmware on start-up
                              ;
                              ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Sep 05 2020 23:57:30 GMT+0100 (British Summer Time)
                              
                              ; General preferences
                              M80					       	; Turns on the ATX power supply
                              G90                                            	; send absolute coordinates...
                              M83                                            	; ...but relative extruder moves
                              M550 P"BLV MGN Cube"                           	; set printer name
                              M669 K1                                        	; select CoreXY mode
                              
                              ; Network
                              M552 S1                                        	; enable network
                              M586 P0 S1                                     	; enable HTTP
                              M586 P1 S0                                     	; disable FTP
                              M586 P2 S0                                     	; disable Telnet
                              
                              ; Drives
                              M569 P0 S0                                     	; physical drive 0 goes backwards
                              M569 P1 S1                                     	; physical drive 1 goes forwards
                              M569 P2 S1                                     	; physical drive 2 goes forwards
                              M569 P3 S0                                     	; physical drive 3 goes backwards
                              M584 X0 Y1 Z2 E3                               	; set drive mapping
                              M350 X16 Y16 Z16 E16 I1                        	; configure microstepping with interpolation
                              M92 X200.00 Y200.00 Z800.00 E415.5             	; set steps per mm
                              M566 X600.00 Y600.00 Z24.00 E300.00            	; set maximum instantaneous speed changes (mm/min)
                              M203 X20000.00 Y20000.00 Z600.00 E2000.00      	; set maximum speeds (mm/min)
                              M201 X3000.00 Y3000.00 Z100.00 E5000.00        	; set accelerations (mm/s^2)
                              M906 X1500 Y1500 Z1500 E1100 I30               	; set motor currents (mA) and motor idle factor in per cent
                              M84 S30                                        	; Set idle timeout
                              
                              ; Pressure advance
                              ; M572 D0 S0.05	
                              
                              ; Axis Limits
                              M208 X-23 Y0 Z0 S1                            	; set axis minima
                              M208 X305 Y332 Z950 S0                        	; set axis maxima
                              
                              ; Endstops
                              M564 H0					       	; allow jog without homing
                              M574 X1 S1 P"xstop"                            	;
                              M574 Y2 S1 P"ystop"                            	;
                              M574 Z1 S1 P"zstop"                            	; configure Z-probe endstop for low end on Z
                              
                              ; Z-Probe
                              M558 P1 H5 C"^zprobe.in" H5 F250 T9000 R0.5	; set Z probe type to switch and the dive height + speeds
                              G31 P500 X-2 Y-16.4 Z1.40                      	; set Z probe trigger value, offset and trigger height
                              M557 X10:292 Y5:300 P5                       	; define mesh grid
                              
                              ; Heaters
                              M308 S0 P"bedtemp" Y"thermistor"T100000 B3950 C0 R4700 A"Bed Temp"  	; 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
                              M140 H0                                        				; map heated bed to heater 0
                              M143 H0 S100                                   				; set temperature limit for heater 0 to 100C
                              M307 H0 A466.3 C1262.5 D12.8 S1.00 V24.0 B0    				; Set PID for heated bed values
                              M308 S1 P"e0temp" Y"thermistor" T100000 B3950 C0 R4700 A"Hotend Temp"   ; 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 S260                              				; set temperature limit for heater 1
                              M307 H1 A340.0 C140.0 D5.5 S1.00 V24.0 B0     				; Set PID for hotend values
                              
                              ; Fans
                              M950 F0 C"fan0" Q500                           	; create fan 0 on pin fan0 and set its frequency
                              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
                              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
                              
                              
                              
                              
                              1 Reply Last reply Reply Quote 1
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA