Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Delta X/Y scaling issue

    Tuning and tweaking
    4
    14
    79
    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.
    • camfarris
      camfarris last edited by camfarris

      I recently replaced my Duet2 Wifi that went bad with another. Luckily, I had saved off my old config.g so the setup time was much easier than trying to remember my old settings. However, I'm now running into an interesting problem.

      When printing a 20mm calibration cube, my Z is dead on 20mm but my X and Y axes are coming in at 24mm. Previously, that would have meant adjusting my diagonal rod length measurement in config.g and/or config-override.g and test again. But, no matter how I adjust, the measurements are coming out the same.

      I'm currently on RRF 3.0 on a HE3D K280 frame. I'm using a Duet2 Wifi with smart effector and the E3DV6 hot end.

      config.g, bed.g, and config-override.g are all attached. I'm assuming that I'm overlooking something but just can't figure it out.

      EDIT: To make sure that it wasn't over extrusion around the corners, I scaled the cube up to 40mm. The cube came out to be 40mm in height but roughly 46-48mm in X/Y. So I think it's a movement issue instead of extrusion.

      config-override.g bed.g config.g

      Dougal1957 1 Reply Last reply Reply Quote 0
      • Dougal1957
        Dougal1957 @camfarris last edited by Dougal1957

        @camfarris sounds more like your steps/mm for X,Y and Z are wrong I would suggest you have 16 tooth pulleys but have your steps set for 20 tooth ones (or vice versa) worth checking your pulleys and steps in your config.g

        also what length are you arms your config.g has them at 360 but you override has them at 273.6

        camfarris 1 Reply Last reply Reply Quote 0
        • camfarris
          camfarris @Dougal1957 last edited by camfarris

          @Dougal1957 I would agree, except that the steps worked just fine before replacing the board. Also, if the motor steps were off, the Z height would be wrong since it's a delta and not a cartesian printer. So it's not that.

          The 360 is the actual length of the rods. 273.6 is the diagonal length. I just cranked the length up to 360 as a test to prove that the measurements weren't changing anything.

          dc42 Veti 2 Replies Last reply Reply Quote 0
          • dc42
            dc42 administrators @camfarris last edited by

            @camfarris said in Delta X/Y scaling issue:

            The 360 is the actual length of the rods. 273.6 is the diagonal length. I just cranked the length up to 360 as a test to prove that the measurements weren't changing anything.

            If the scaling didn't change, it means that you failed to change the diagonal rod length. There is no way that you should be using 273.6mm diagonal length when your rods are 360mm, unless your steps/mm value is wildly wrong - which it isn't, because your Z height is correct.

            I suggest you delete your config-override.g file and make changes to config.g only, until you have a working configuration again.

            camfarris 1 Reply Last reply Reply Quote 0
            • camfarris
              camfarris @dc42 last edited by

              @dc42 thanks. I'll try again and take the M501 out.

              My normal calculation used to be 288 (360*.8) but it just seems odd that what worked before isn't working now.

              dc42 1 Reply Last reply Reply Quote 0
              • Veti
                Veti @camfarris last edited by

                @camfarris said in Delta X/Y scaling issue:

                would agree, except that the steps worked just fine before replacing the board.

                just verify it. measure the distance traveled by one of the carriages when you issue a command like move z +/- 100

                camfarris 1 Reply Last reply Reply Quote 0
                • camfarris
                  camfarris @Veti last edited by

                  @Veti issuing Z+-100 moves all 3 up and down. But that's not it. The Z is fine and produces exactly the correct height and the other 2 towers move at the same rate.

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

                    @camfarris said in Delta X/Y scaling issue:

                    @dc42 thanks. I'll try again and take the M501 out.

                    My normal calculation used to be 288 (360*.8) but it just seems odd that what worked before isn't working now.

                    I find it odd that you needed the 0.8 scaling factor before.

                    camfarris 1 Reply Last reply Reply Quote 0
                    • camfarris
                      camfarris @dc42 last edited by

                      @dc42 I found that on some blog post on my last go through with this. It solved the issues with ultra skinny cubes so I assumed it was "normal".

                      It also lined up with my old Marlin firmware settings from the stock board before swapping out the board, effector, rods, etc

                      1 Reply Last reply Reply Quote 0
                      • camfarris
                        camfarris last edited by

                        Update:

                        I went back and reset everything. Looked at more documentation. Based on this page: https://seemecnc.dozuki.com/Guide/DUET+Change+Stepper+Motor+Steps-mm/101

                        I set M92 X/Y/Z to 100 and got a 25mm tall cube. Went back to 80.

                        I then looked at my actual stepper motors to verify that they were, indeed, 1.8 degree steppers (they are). But then I looked at the power. It's slated for 1.7A instead of the 1A I had in the settings.

                        But, with 360mm rods in the config.g (instead of the scaled down), the cube is looking to be coming in closer. I'll know more in about 10 minutes.

                        Now I'm just wondering why my old settings were working in the first place.

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

                          I presume you are running auto calibration? The scale depends on all of the steps/mm set in M92, the rod length set in M665, and the delta radius also set in M665. Normally you set the steps/mm and rod length to the known values, and let delta calibration find the delta radius.

                          camfarris 1 Reply Last reply Reply Quote 0
                          • camfarris
                            camfarris last edited by

                            @dc42 Yes. Every time I power on, I run:

                            G28
                            G30
                            G32 x3

                            Mostly because I'm a little superstitious.

                            dc42 1 Reply Last reply Reply Quote 0
                            • camfarris
                              camfarris @dc42 last edited by

                              Update:

                              Latest calibration cube came out. Looks like it worked. Still no idea why the old settings used to work.

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

                                @camfarris said in Delta X/Y scaling issue:

                                @dc42 Yes. Every time I power on, I run:

                                G28
                                G30
                                G32 x3

                                Mostly because I'm a little superstitious.

                                G28 followed by one G32 should be sufficient, if the initial M665 and M666 parameters are close to correct.

                                FWIW this is what I use in bed.g, using RRF 3.01beta:

                                ; Auto calibration routine for large delta printer
                                M561                    ; clear any bed transform
                                
                                ; If the printer hasn't been homed, home it
                                if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
                                  G28
                                
                                ; Probe the bed and do auto calibration
                                G1 X0 Y140 Z10 F10000        ; go to just above the first probe point
                                while true
                                  if iterations = 5
                                    abort "too many auto calibration attempts"
                                  G30 P0 X0.00 Y140.00 Z-99999
                                  if result != 0
                                    continue
                                  G30 P1 X70.00 Y121.24 Z-99999
                                  if result != 0
                                    continue
                                  G30 P2 X121.24 Y70.00 Z-99999
                                  if result != 0
                                    continue
                                  G30 P3 X140.00 Y0.00 Z-99999
                                  if result != 0
                                    continue
                                  G30 P4 X121.24 Y-70.00 Z-99999
                                  if result != 0
                                    continue
                                  G30 P5 X70.00 Y-121.24 Z-99999
                                  if result != 0
                                    continue
                                  G30 P6 X0.00 Y-134.85 Z-99999
                                  if result != 0
                                    continue
                                  G30 P7 X-65.57 Y-113.57 Z-99999
                                  if result != 0
                                    continue
                                  G30 P8 X-112.29 Y-64.83 Z-99999
                                  if result != 0
                                    continue
                                  G30 P9 X-130.59 Y-0.00 Z-99999
                                  if result != 0
                                    continue
                                  G30 P10 X-115.90 Y66.91 Z-99999
                                  if result != 0
                                    continue
                                  G30 P11 X-69.45 Y120.29 Z-99999
                                  if result != 0
                                    continue
                                  G30 P12 X0.00 Y70.00 Z-99999
                                  if result != 0
                                    continue
                                  G30 P13 X60.62 Y-35.00 Z-99999
                                  if result != 0
                                    continue
                                  G30 P14 X-52.28 Y-30.19 Z-99999
                                  if result != 0
                                    continue
                                  G30 P15 X0 Y0 Z-99999 S8
                                  if result != 0
                                    continue
                                
                                  if move.calibrationDeviation.deviation <= 0.03
                                    break
                                  echo "Repeating calibration because deviation is too high (" ^ move.calibrationDeviation.deviation ^ "mm)"
                                ; end loop
                                echo "Auto calibration successful, deviation", move.calibrationDeviation.deviation ^ "mm"
                                G1 X0 Y0 Z150 F10000                ; get the head out of the way
                                

                                It homes the printer if it hasn't already been homed, then runs auto calibration until the deviation is low enough (which normally happens after the first time).

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