• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    fcwilt @Nahsiro
    last edited by 18 May 2021, 08:32

    @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

    undefined 1 Reply Last reply 18 May 2021, 15:42 Reply Quote 1
    • undefined
      Nahsiro @fcwilt
      last edited by 18 May 2021, 15:42

      @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
      undefined 1 Reply Last reply 18 May 2021, 16:36 Reply Quote 0
      • undefined
        fcwilt @Nahsiro
        last edited by 18 May 2021, 16:36

        @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

        undefined 1 Reply Last reply 18 May 2021, 17:31 Reply Quote 0
        • undefined
          tekkydave @fcwilt
          last edited by 18 May 2021, 17:31

          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

          undefined 1 Reply Last reply 18 May 2021, 17:41 Reply Quote 0
          • undefined
            droftarts administrators @tekkydave
            last edited by 18 May 2021, 17:41

            @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

            undefined 1 Reply Last reply 18 May 2021, 18:17 Reply Quote 0
            • undefined
              tekkydave @droftarts
              last edited by 18 May 2021, 18:17

              @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
              • undefined
                Nahsiro
                last edited by 19 May 2021, 03:03

                @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.

                undefined 1 Reply Last reply 19 May 2021, 03:19 Reply Quote 1
                • undefined
                  fcwilt @Nahsiro
                  last edited by 19 May 2021, 03:19

                  @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

                  undefined undefined 2 Replies Last reply 19 May 2021, 07:22 Reply Quote 0
                  • undefined
                    tekkydave @fcwilt
                    last edited by 19 May 2021, 07:22

                    @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

                    undefined 1 Reply Last reply 19 May 2021, 08:41 Reply Quote 0
                    • undefined
                      droftarts administrators @tekkydave
                      last edited by 19 May 2021, 08:41

                      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

                      undefined 1 Reply Last reply 19 May 2021, 09:57 Reply Quote 0
                      • undefined
                        tekkydave @droftarts
                        last edited by 19 May 2021, 09:57

                        @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
                        • undefined
                          dc42 administrators
                          last edited by 19 May 2021, 09:59

                          @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

                          undefined 1 Reply Last reply 19 May 2021, 10:13 Reply Quote 1
                          • undefined
                            tekkydave @dc42
                            last edited by 19 May 2021, 10:13

                            @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

                            undefined 1 Reply Last reply 19 May 2021, 10:19 Reply Quote 0
                            • undefined
                              dc42 administrators @tekkydave
                              last edited by 19 May 2021, 10:19

                              @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

                              undefined 1 Reply Last reply 19 May 2021, 10:26 Reply Quote 0
                              • undefined
                                tekkydave @dc42
                                last edited by 19 May 2021, 10:26

                                @dc42 Cheers. I still think the Z lift speed should have it's own M558 param but I'll shut up and go away now πŸ˜›

                                ~ 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

                                undefined 1 Reply Last reply 19 May 2021, 10:46 Reply Quote 0
                                • undefined
                                  fcwilt @tekkydave
                                  last edited by 19 May 2021, 10:46

                                  @tekkydave said in Different XY speed for probing moves:

                                  @dc42 Cheers. I still think the Z lift speed should have it's own M558 param but I'll shut up and go away now πŸ˜›

                                  Did we verify that the T parameter is actually being used for the Z lift speed?

                                  Or does it simply use the Z max speed from M203?

                                  If the Z max speed is putting on limit on the Z lift speed you, in effect, have the "missing" speed parameter from M558. Just temporarily set Z max with a M203 before you begin probing and restore it when done.

                                  I would test it myself if I didn't already have a two page "to-do" list that I need to attend to to get ready for summer. πŸ˜‰

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

                                  undefined 1 Reply Last reply 19 May 2021, 12:09 Reply Quote 0
                                  • undefined
                                    tekkydave @fcwilt
                                    last edited by 19 May 2021, 12:09

                                    @fcwilt Just tested it by changing my M558 from:

                                    M558 P1 C"zprobe.in" R0.25 H3 F360 T9000 A5 S0.03
                                    

                                    to

                                    M558 P1 C"zprobe.in" R0.25 H3 F360 T540 A5 S0.03
                                    

                                    and the lift speed went down from 10mm/s (z max speed) to 9mm/s (540mm/min)

                                    so yes - it is using the T param to control the Z speed.

                                    ~ 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

                                    undefined 1 Reply Last reply 19 May 2021, 12:26 Reply Quote 0
                                    • undefined
                                      fcwilt @tekkydave
                                      last edited by 19 May 2021, 12:26

                                      @tekkydave said in Different XY speed for probing moves:

                                      @fcwilt Just tested it by changing my M558 from:
                                      so yes - it is using the T param to control the Z speed.

                                      Thanks much.

                                      I've never encountered this issue before because I have always set my max speeds based on testing well before I get around to dealing with a probe.

                                      Good to know how it actually works.

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        Nahsiro @fcwilt
                                        last edited by 19 May 2021, 16:30

                                        @fcwilt I actually set all the probing move speed a lot lower when I wasn't printing a lot but it was apparent to some extent. I kinda just lived with it because it doesn't skip steps when the rods are clean and lubed. Also, things like the dive height also affected how quickly it would start to loose steps. A short dive height < 5mm worked better. And probing a single point was not as dramatic as multiple points. My max z-axis speed is probably somewhere between 600 and 700 mm/min, so depending on how much friction the threaded rods experienced, it would z probe fine or not.
                                        I also only truly started to investigate when I started getting "motor phase may be disconnected errors".
                                        I checked all the motor wires and found no issue there
                                        Then I started visibly seeing step lost in Z. Plus I also wanted to probe faster and be hands-off as much as possible in the pre-print process.
                                        Lessons learned:

                                        • keep threaded rod lubricated (obviously)

                                        • Read the fine print of my gcode commands and understand how they inter-relate

                                        • give myself some room around the max limits of the machine in the config.

                                        Thanks to you all for helping me learn a bit and solve this issue.
                                        Thanks @dc42 for adding the note in the documentation.
                                        @tekkydave I second having the z lift speed independent for probing.πŸ‘

                                        1 Reply Last reply Reply Quote 1
                                        • undefined
                                          Phaedrux Moderator
                                          last edited by 19 May 2021, 20:46

                                          Does it really need to be a separate parameter in M558? It's got nearly a dozen as it is and it's quite easy to modify the Z max speed before and after probing. bed.g and mesh.g seem like the right place to control this and it's possible right now.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          undefined 1 Reply Last reply 20 May 2021, 10:44 Reply Quote 2
                                          16 out of 30
                                          • First post
                                            16/30
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA