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

    Different XY speed for probing moves

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    8
    30
    1.8k
    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.
    • Nahsiroundefined
      Nahsiro
      last edited by

      I have a DIY CoreXY printer with 3 independent Z-axes. My Z lead-screws are M10, and they move slower than XY axis. Thus, in my M558 command, I had to define a speed F500 so that the Z axis doesn't dive faster than the hardware can handle. But that also means that my XY moves are super slow. Is there a way to set different speeds for Z vs XY moves? Below is my bed.g file.
      M561
      G28 ; home all axis
      G30 P0 X300 Y290 Z-9999
      G30 P1 X76 Y162.5 Z-9999
      G30 P2 X300 Y30 Z-9999 S3
      G1 X0 Y0 Z10 F2400 ; Move extruder back to corner

      o_lampeundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @Nahsiro
        last edited by

        @nahsiro said in Different XY speed for probing moves:

        M561
        G28 ; home all axis
        G30 P0 X300 Y290 Z-9999
        G30 P1 X76 Y162.5 Z-9999
        G30 P2 X300 Y30 Z-9999 S3
        G1 X0 Y0 Z10 F2400 ; Move extruder back to corner

        You could add a G1 X... Y.... line between all the G30 lines

        M561
        G28 ; home all axis
        G1 X300 Y290 F15000
        G30 P0 X300 Y290 Z-9999
        G1 X76 Y162.5 F15000
        G30 P1 X76 Y162.5 Z-9999
        G1 X300 Y30 F15000
        G30 P2 X300 Y30 Z-9999 S3
        G1 X0 Y0 Z10 F2400 ; Move extruder back to corner
        
        Nahsiroundefined 1 Reply Last reply Reply Quote 1
        • Nahsiroundefined
          Nahsiro @o_lampe
          last edited by

          @o_lampe Thanks this solved it, I can't believe I did not think of that. My only question is, how to do something similar for mesh conpensation moves? I came across M558, but I have firmware 3 and I don't think I can use that.

          o_lampeundefined 1 Reply Last reply Reply Quote 0
          • o_lampeundefined
            o_lampe @Nahsiro
            last edited by o_lampe

            @nahsiro
            I only do mesh compensation and the moves between the probe points are much faster than the probing move. You can define both speeds separately in the M558 z-probe definition: F= probe speed; T= travel speed.
            It also works in RRF3.x

            Nahsiroundefined 2 Replies Last reply Reply Quote 1
            • Nahsiroundefined
              Nahsiro @o_lampe
              last edited by

              @o_lampe Thanks, I'll try that.

              1 Reply Last reply Reply Quote 0
              • Nahsiroundefined
                Nahsiro @o_lampe
                last edited by

                @o_lampe It's not working completely as intended. Sure I can set the speeds to be different but what's happening is that I'm able to get the fast XY "T4000 "moves and when the bed lift to the probe it uses the good feed speed F600. But then when the bed pulls away from the probe, it uses the XY speed again.

                M558 P9 C"^zprobe.in" H6 R0.1 F600 T4000 A4 S0.02 
                
                1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @Nahsiro
                  last edited by

                  @nahsiro said in Different XY speed for probing moves:

                  I have a DIY CoreXY printer with 3 independent Z-axes. My Z lead-screws are M10, and they move slower than XY axis. Thus, in my M558 command, I had to define a speed F500 so that the Z axis doesn't dive faster than the hardware can handle.

                  In your M203 command you should have specified the max feed rate for each axis.

                  So you should be able to specify the desired travel speed in M558 based on the XY axes settings.

                  The Z axis should not be able to exceed it's max feed rate even if requested.

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

                  Nahsiroundefined 1 Reply Last reply Reply Quote 1
                  • Nahsiroundefined
                    Nahsiro @fcwilt
                    last edited by

                    @fcwilt I have that, but I think it's ignoring it. Here is my config.g

                    ; Configuration file for Omnicore
                    ; Communication and general
                    M111 S0                             	; Debug off
                    M550 POmnicore      					; Machine name and Netbios name (can be anything you like)
                    ;M551 Pmyrap                        	; Machine password (used for FTP)
                    
                    ; Wifi Networking
                    M552 S1								            ; Enable WiFi
                    M586 P0 S1                                      ; enable HTTP
                    M586 P1 S0                                      ; disable FTP
                    M586 P2 S0                                      ; disable Telnet
                    
                    G21                                 	; Work in millimetres
                    G90                                		; Send absolute coordinates...
                    M83                                 	; ...but relative extruder moves
                    
                    ; Axis and motor configuration
                    M669 K1								; _RRF3_ change M667 to M669 ; set CoreXY mode
                    
                    M584 X0 Y1 Z2:5:6 E3:4       		; Map Z to drivers 2, 5, 6. Define unused drivers 3,4 as extruders
                    M569 P0 S1                          ; physical drive 0 goes forwards  (X-motor)
                    M569 P1 S1                          ; physical drive 1 goes forwards  (Y-motor)
                    M569 P2 S1                          ; physical drive 2 goes forwards (Right Z-motor)
                    M569 P3 S1                          ; physical drive 3 goes forwards  (1st extruder)
                    M569 P4 S1                          ; physical drive 4 goes forwards  (BLTouch)
                    M569 P5 S1							; physical drive 5 goes forwards (Front Z-motor)
                    M569 P6 S1							; physical drive 6 goes forwards (Left Z-motor)
                    
                    ;Leadscrew locations
                    M671 X262:-85:262  Y390:180.5:-70 S25  ;Front left, Rear Left, Right  S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew
                    
                    ; Endstops
                    M574 X1 S1 P"!xstop"                            ; configure active-high endstop for low end on X via pin xstop
                    M574 Y1 S1 P"!ystop"                            ; configure active-high endstop for low end on Y via pin ystop
                    M574 Z0                                         ; configure Z-probe as endstop
                    M564 H0											; Limit Axes
                    M557 X80:300 Y30:295 P7:7                       ; Define mesh probing grid              
                    
                    M350 X16 Y16 Z16 E16 I1	                        ; set 16x microstepping for axes& extruder, with interpolation
                    M906 X1000 Y1000 Z1000 E1000 I30	            ; Set motor currents (mA)
                    M201 X3000 Y3000 Z100 E1500                     ; Accelerations (mm/s^2)
                    M203 X24000 Y24000 Z700 E3600                  	; Maximum speeds (mm/min)
                    M566 X800 Y800 Z80 E800                         ; Maximum jerk speeds mm/minute
                    M92 X80.00 Y80.00 Z1600.00 E98.00               ; set steps per mm
                    
                    ; Axis Limits
                    M208 X300 Y345 Z375                             ; set axis maxima and high homing switch positions (adjust to suit your machine)
                    M208 X0 Y0 Z-1.0 S1                             ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
                    
                    
                    ; Thermistors
                    M308 S0 P"bedtemp" Y"thermistor" A"bed_temp" T100000 B3950 R4700 H0 L0 		;_RRF3_ Bed thermistor, connected to bedtemp on Duet2
                    
                    ;If you have a Slice Engineering thermistor, comment out the next line
                    M308 S1 P"e0temp" Y"thermistor" A"Extruder_temp" T100000 B4725 R4700 C7.06e-8 H0 L0	;_RRF3_ duet3 e3d
                    
                    ;Additional Temperatures/heater settings
                    M308 S3 Y"mcu-temp" A"MCU" 						; configure sensor 3 as thermistor on pin e1temp for left stepper
                    M950 H0 C"bedheat" Q25000 T0				    ;_RRF3_ define Bed heater is on bedheat
                    M950 H1 C"e0heat" T1				            ;_RRF3_ define Hotend heater is on e0heat
                    M140 H0 										; Configure bed heater
                    M143 H0 S120	
                    
                    
                    M307 H0 R1.099 C332.207:332.207 D1.97 S0.50 V12.2 B0 ; Bed Heater
                    M307 H1 R2.473 C159.682:159.682 D6.35 S1.00 V12.1 B0 ; Nozzle heater
                    M570 H0 P5 S180 T10								; detect bed heater fault after 180 seconds 
                    M570 H1 P5 S180	T15								; detect end heater fault after 180 seconds 
                    M143 S285										; Max hot end temperature
                    
                    ; Fans
                    M950 F1 C"fan0" Q25000                          ; create fan 1 on pin fan1 and set its frequency (Part Cooling)
                    M106 P1 S0.5 H-1 T45 C"Part_Cooling_Fan"        ; set fan 1 value. Thermostatic control is turned on
                    
                    ; Tool definitions
                    M563 P0 S"E3Dv6" D0 H1 F1                      	; Define tool 0
                    G10 P0 S0 R0                        			; Set tool 0 operating and standby temperatures
                    
                    ;BLTouch - comment out the following 3 lines if using a IR Probe
                    M558 P9 C"^zprobe.in" H4 R1 F600 T2400 A4 S0.02                  	; _RRF3_ BLTouch connected to Z probe IN pin
                    M950 S3 C"duex.pwm1"				                                ; _RRF3_ Define BLTouch Servo (S0) on duet pwm1
                    G31 X31.225 Y10.5 Z2.6 P25                                          ; Customize your offsets appropriately - do a paper test, and put the probed value in the Z value here
                    
                    
                    T0					; select first hot end
                    M501				; Read stored parameters
                    
                    fcwiltundefined 1 Reply Last reply Reply Quote 0
                    • fcwiltundefined
                      fcwilt @Nahsiro
                      last edited by

                      @nahsiro

                      You mentioned that the F parameter in M558 did control the speed of the actual probing but when lifting the probe it appeared to be using a faster speed.

                      Is it faster than the max Z speed set in M203?

                      How is the faster speed causing problems?

                      Frederick

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

                      tekkydaveundefined 1 Reply Last reply Reply Quote 0
                      • tekkydaveundefined
                        tekkydave @fcwilt
                        last edited by

                        I have noticed this behaviour too. I think it uses the max z speed from the M203 when lifting the z axis after a probe. The dive speed correctly follows what is in M558. As long as your max z speed is set within the machine's limits you should be ok.

                        ~ tekkydave ~
                        D-Bot: 300x300mm | Duet WiFi + Duex2 | 3 independent z motors | X,Y & Z linear rails | E3D Titan Aero + V6 | Precision Piezo z-probe
                        FreeCAD, PrusaSlicer

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

                          @tekkydave @Nahsiro what firmware version are you running?

                          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

                          tekkydaveundefined 1 Reply Last reply Reply Quote 0
                          • tekkydaveundefined
                            tekkydave @droftarts
                            last edited by

                            @droftarts I'm on 3.3RC2

                            ~ tekkydave ~
                            D-Bot: 300x300mm | Duet WiFi + Duex2 | 3 independent z motors | X,Y & Z linear rails | E3D Titan Aero + V6 | Precision Piezo z-probe
                            FreeCAD, PrusaSlicer

                            1 Reply Last reply Reply Quote 0
                            • Nahsiroundefined
                              Nahsiro
                              last edited by

                              @droftarts I'm on 3.2.
                              @tekkydave @fcwilt You're right actually, turns out I was doing it wrong. 700 mm/min is too much for my Z axis using 600 mm/min is working fine.

                              fcwiltundefined 1 Reply Last reply Reply Quote 1
                              • fcwiltundefined
                                fcwilt @Nahsiro
                                last edited by

                                @nahsiro said in Different XY speed for probing moves:

                                @droftarts I'm on 3.2.
                                @tekkydave @fcwilt You're right actually, turns out I was doing it wrong. 700 mm/min is too much for my Z axis using 600 mm/min is working fine.

                                Glad to hear you got it sorted.

                                I'm surprised that when homing the Z axis that the excessive speed wasn't apparent.

                                Frederick

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

                                tekkydaveundefined Nahsiroundefined 2 Replies Last reply Reply Quote 0
                                • tekkydaveundefined
                                  tekkydave @fcwilt
                                  last edited by

                                  @fcwilt when homing it uses the Fxxx value in the G1 command which is usually much lower than the max. I think there needs to be another speed parameter in M558 or G30 to cover the G30 lift speed. Or it should use the dive speed for the lift. Maybe this is a bug?

                                  ~ tekkydave ~
                                  D-Bot: 300x300mm | Duet WiFi + Duex2 | 3 independent z motors | X,Y & Z linear rails | E3D Titan Aero + V6 | Precision Piezo z-probe
                                  FreeCAD, PrusaSlicer

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

                                    G30 dive speed is controlled by the M558 F parameter. The speed the probe then lifts in Z, and moves to the next probe point, is controlled by the M558 T parameter. If this is higher than the max Z speed set in config.g, then max Z speed is used. Make sure your Z is capable of actually running at the max Z speed you have set! So, not a bug.

                                    If you want slower lift speeds, you could reduce max Z speed (and/or jerk and acceleration) before probing, and revert afterwards. If repeated probing shows the gap getting smaller, or is inconsistent, your Z axis is probably skipping steps, and you need to tune jerk, acceleration and max speed until it doesn’t.

                                    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

                                    tekkydaveundefined 1 Reply Last reply Reply Quote 0
                                    • tekkydaveundefined
                                      tekkydave @droftarts
                                      last edited by

                                      @droftarts Surely the T parameter is for the X & Y axis speeds. Why would it be applied to the Z axis at all? It assumes the Z axis has the same speed capabilities as X & Y. Only the Z max speed is stopping it from moving too fast. If that is set correctly then all is good but it may not be for someone setting up RRF for the first time.
                                      Whilst I agree this isn't a bug as it is probably designed to work that way I think its something that needs looking at.
                                      I would rather see the lift speed being set by the F parameter (the first one if there are two as in the most recent releases). Either that or a new parameter for lift speed in M558.

                                      ~ tekkydave ~
                                      D-Bot: 300x300mm | Duet WiFi + Duex2 | 3 independent z motors | X,Y & Z linear rails | E3D Titan Aero + V6 | Precision Piezo z-probe
                                      FreeCAD, PrusaSlicer

                                      1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators
                                        last edited by

                                        @tekkydave if the Z max speed isn't set up correctly, users will have other issue besides this one. I'm sure that your suggestion of using the F speed would annoy many users, because it would slow down probing.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        tekkydaveundefined 1 Reply Last reply Reply Quote 1
                                        • tekkydaveundefined
                                          tekkydave @dc42
                                          last edited by

                                          @dc42 Fair point and I suppose it depends on the system. On my D-Bot I probe at 6mm/s (F param). It moves between probes at 150mm/s (T param). On each probe it only lifts 3mm. It tries to do it at 150mm/s which is way beyond the capabilities of the Z axis which has a max speed of 10mm/s set.
                                          Therefore it probes at 6mm/s & lifts at 10mm/s. To a raw beginner it may not be obvious what is going on. In my case it would only have a minor impact on probing speed but if a system was lifting say, 20mm between probes then it would.
                                          Maybe just a note in the M558 gcode documentation to clarify that it will attempt to move all 3 axes at the Tnnn speed to avoid any future confusion.

                                          ~ tekkydave ~
                                          D-Bot: 300x300mm | Duet WiFi + Duex2 | 3 independent z motors | X,Y & Z linear rails | E3D Titan Aero + V6 | Precision Piezo z-probe
                                          FreeCAD, PrusaSlicer

                                          dc42undefined 1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators @tekkydave
                                            last edited by

                                            @tekkydave I have added note to the description of the M558 T parameter.

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                                            tekkydaveundefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA