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

    Incorrect Z microstepping

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    22
    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.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by

      Do you have a video of the z axis movement in action? Pictures of the stretched prints?

      Are you sure the lead screws are 2mm pitch?

      Z-Bot CoreXY Build | Thingiverse Profile

      Surgikillundefined 1 Reply Last reply Reply Quote 0
      • Surgikillundefined
        Surgikill @Phaedrux
        last edited by

        @phaedrux I can get a picture of the stretched print on here. I bought the screws from openbuilds. They are an ACME 8mm, so I'm 99% sure they are 2mm pitch.

        1 Reply Last reply Reply Quote 0
        • Surgikillundefined
          Surgikill
          last edited by

          https://i.imgur.com/dDIib1K.jpg

          https://i.imgur.com/IYOxH61.jpg

          As you can see the first layer went down fine, but it's FUBAR after that. I think there are only 10-20 layers there (so 2-4mm actual) but the whole print is about 20mm high.

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

            Ok so if you move to Z0 and touch the bed, and then job the bed up 10mm and measure it with a ruler, is it actually 10mm?

            Z-Bot CoreXY Build | Thingiverse Profile

            Surgikillundefined 1 Reply Last reply Reply Quote 0
            • Surgikillundefined
              Surgikill @Phaedrux
              last edited by Surgikill

              @phaedrux So the Z axis is set at 30.8mm my calipers read out about 120mm (not exact, just around about there) and if I move it up it moves the same amount upwards. Maybe it's because I have 4 z motors? 30*4=120. It's definitely more than 30.8mm, I can tell you that.

              1 Reply Last reply Reply Quote 0
              • Surgikillundefined
                Surgikill
                last edited by

                Wait, it's a 4 start lead screw, could that be the issue?

                nhofundefined 1 Reply Last reply Reply Quote 0
                • nhofundefined
                  nhof @Surgikill
                  last edited by

                  @surgikill This is almost certainly it. For lead screw calculations we actually use the 'lead' (movement of the nut per complete turn) rather than the 'pitch' (peak-to-peak measurement of the threads). For single start screws these values are the same so it's easy to miss the distinction.

                  So a 2mm pitch 4-start screw will have a 8mm lead (2mm pitch * 4 starts).

                  so the calc becomes something like (200steps/rev * 16) / 8mm/rev = 400 steps/mm

                  Surgikillundefined 1 Reply Last reply Reply Quote 1
                  • Surgikillundefined
                    Surgikill @nhof
                    last edited by

                    @nhof Thanks man. That's what I thought but using the prusa calculator there's no input for start. I had to go looking for the calculation. Seems to be printing much better now, at least it's not moving 4x what it should.

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

                      Microstepping is not the problem. Try reducing Z acceleration. Also try increasing Z motor current if you can do that without the motors overheating.

                      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

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

                        I just spotted a big problem with your config.g. The M584 command must come before the M350 and M906 commands.

                        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

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

                          @dc42 It's a 4 start leadscrew so I needed to divide the microstepping by 4, so instead of 1600 it's 400. Did a test print last night and it came out fine, minus the z artifacts and lack of cooling. Why does the M584 need to come before M350 and M906? Looks like those are just microstepping and motor idle currents.

                          I was also reading in some other documentation that I need to configure microstepping and steps/mm for each z-motor. Is this true? It seems to work fine now but I can't find anything in the official documentation about it.

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

                            If you look up M584 in the GCode wiki, it says clearly that it must come before certain other GCode commands. That's so that the firmware knows which drivers to apply those settings to.

                            You don't need to set the steps/mm or microstepping separately for the multiple Z motors.

                            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

                            Surgikillundefined 2 Replies Last reply Reply Quote 0
                            • Surgikillundefined
                              Surgikill @dc42
                              last edited by

                              @dc42 Is there any way I or somebody else could add this to the documentation?

                              nhofundefined 1 Reply Last reply Reply Quote 0
                              • nhofundefined
                                nhof @Surgikill
                                last edited by

                                @surgikill You can register and modify the dokuzi wiki . Should not need any special permissions. I have done this several times.

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

                                  @dc42 I just looked up M584 in the g-code wiki and didn't see anything about the order. Can you point me to where you found it? I want to read up on it.

                                  nhofundefined 1 Reply Last reply Reply Quote 0
                                  • nhofundefined
                                    nhof @Surgikill
                                    last edited by

                                    @surgikill It's actually listed under the M350 and M92 commands rather than the M584

                                    1 Reply Last reply Reply Quote 0
                                    • aidarundefined
                                      aidar
                                      last edited by

                                      From https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping :
                                      Order dependence

                                      M584 must come earlier in config.g than any M350amd M906 commands. If it creates new axes, it must also be earlier than any M92, M201, M203, M208, M350, M566, M574 , M667 and M669 commands.

                                      Surgikillundefined 1 Reply Last reply Reply Quote 0
                                      • Surgikillundefined
                                        Surgikill @aidar
                                        last edited by

                                        @aidar Is there anything I can't run M584 before? I'm just going to stick it at the top of the list.

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

                                          Top is ok.

                                          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

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