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

    Too much layer shifting

    Scheduled Pinned Locked Moved
    General Discussion
    9
    32
    7.4k
    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.
    • dc42undefined
      dc42 administrators
      last edited by

      If the shifting occurs at 45deg on a CoreXY system then a single motor is losing steps. The next thing to determine is whether the amount of layer shift is a multiple of 4 full motor steps.

      I think (but I could be wrong) that in a CoreXY system, if one of the belts moves a distance L and the other doesn't move, the X and Y axes both move a distance L/2, so the diagonal movement is L * sqrt(2). If you are using GT2 belt, 20 tooth pulleys and 1.8deg motors, then 200 steps move the belt 2 * 20 mm, so 4 steps move it 4 * 2 * 20/200 = 0.8mm and will therefore move the carriage 0.566mm.

      If a motor is skipping steps then you need to either increase motor current or reduce acceleration and/or jerk. What values do you current use for these settings, and what is the rated current of the 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

      1 Reply Last reply Reply Quote 0
      • Huguesundefined
        Hugues
        last edited by

        Thanks for your reply, my motor are 0.9° and the shifting was not constant, it's depends of the 3D model and it's between 1mm and 4 mm (like the rocket).
        I played with acceleration and jerk a lot since the beginning of the beta test time and since the 2 last update (1.15c and 1.15e) i was experiencing shifting so i decrease those two value from 7000 to 4500 in acc and 2500 to 1500 in jerk. I also decrease current in driver in case of they were heating too much, adding a fan to the duetwifi retesting and increasing current again. Decreasing also my speed from 200 to 140 mm/s, without any solve to those shifting layer…

        I remembered this morning that i had a M572 P3 S0.05 in my start Gcode, i commented this part to test like i said previously and it seem to work. In picture the two test i made, same setup in S3D (software and file was not close and no additional tune).
        The left one is shifted and has the M572 in start and the right one no.

        1 Reply Last reply Reply Quote 0
        • Huguesundefined
          Hugues
          last edited by

          And still an high underrun :
          MaxReps: 80, StepErrors: 0, MaxWait: 26ms, Underruns: 306, 0

          1 Reply Last reply Reply Quote 0
          • Sniffleundefined
            Sniffle
            last edited by

            I had to drop my accel and jerk down to the levels of a standard prusa to keep my layer shifting from occuring and I've been slowly upping my speed back up to around 100mm/s.

            Also running a corexy machine, C-bot

            1 Reply Last reply Reply Quote 0
            • Huguesundefined
              Hugues
              last edited by

              I'm thinking to downgrade firmware to the 1.15a or b. Did you try previous version ?

              Shifting occurred without the pressure advance function but less than with… Today i've got 2 shifiting with 5 prints launched. I'm not sure about this but it tends to shift in infill parts and small segment,
              i will try tomorrow to record a print.

              Thanks Sniffle for your post, i felt alone in this problem and i didn't relaunch this thread thinking i'm just unlucky... ; -)

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

                I still think your layer shifting problem has a mechanical cause. The only layer shift issues that I recall anyone else reporting since many months ago were associated with particular values of pressure advance. They were due to a bug in the pressure advance calculation coupled with a bug in the error handling that meant that when the first bug was triggered, unless you had Move debug enabled then no step error was recorded and a layer shift resulted. Both bugs were fixed in 1.15e. If there is another similar step generation bug that is capable of causing layer shifts, the error handling will record a step error.

                But by all means try reverting to an older firmware version to see if it makes any difference.

                Your acceleration and jerk values look high to me. Try 3000 accel and 600 jerk. Also, please can you provide your motor specifications, your steps/mm, maximum travel speed you are using, motor current you have set, and Vin supply voltage. From those I can work out whether you are losing motor torque at high speeds.

                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
                • Huguesundefined
                  Hugues
                  last edited by

                  Hi David,

                  I'm testing your board since the beginning, i like it and possibilities offers by your work.
                  I'm posting this because something change in motion resulting those shifted layers and i will not post this if my hardware was not check before. I also think a small core XY like mine can handle high acceleration/jerk like i was pleased to use before this problem. As Sniffle write, dropping down the acc/jerk to a prusa architecture level for a core XY with light carriage and smooth linear rail doesn't sound right mainly when it worked well previously for the same model.

                  I don't want to bother you with this, i'm testing and trying to give you feedback.
                  I'm trying your setting now and will see if they solve this.
                  This is my config.g :

                  ; Machine configuration
                  M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)
                  M569 P1 S0 ; Drive 1 goes forwards
                  M569 P2 S1 ; Drive 2 goes forwards
                  M569 P3 S1 ; Drive 3 goes forwards
                  M569 P4 S0 ; Drive 4 goes forwards
                  ; If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
                  M574 X1 Y1 Z1 S0 ; set endstop configuration (X and Y and endstops only, at low end, active high)
                  M667 S1 ; set CoreXY mode
                  M350 X16 Y16 Z16 E16 I111 ; Set 16x microstepping with interpolation
                  M92 X160 Y160 Z800 ; Set axis steps/mm
                  M92 E394:394 ; Set extruder steps/mm
                  M906 X1500 Y1500 Z1200 E1500 ; Set motor currents (mA)
                  M201 X4500 Y4500 Z500 E8000 ; Accelerations (mm/s^2)
                  M203 X45000 Y45000 Z1500 E25000 ; Maximum speeds (mm/min)
                  M566 X1500 Y1500 Z100 E2500 ; Maximum jerk speeds mm/minute
                  M208 X170 Y200 Z270 ; set axis maxima (adjust to suit your machine)
                  M208 X-8 Y0 Z-0.5 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
                  G21 ; Work in millimetres
                  G90 ; Send absolute coordinates…
                  M83 ; ...but relative extruder moves
                  ;M581 E0 S1 T2

                  My motors are :
                  Nema17 size 42mm
                  Body Length 48mm
                  Rated Current: 1.68A
                  Holding Torque: 0.44N.m
                  400 steps per revolution
                  Rated resistance phase : 1.65
                  Phase inductance 4.3mH
                  insulation resistance 100Mohm
                  From robotdigg
                  They are powered in 24V and from M122 : Supply voltage: min 23.9, current 24.0, max 24.5, under voltage events: 0, over voltage events: 0

                  What does the max speed while printing ? it seem to be use when a travel is not setup in a pause macro, it's happen to me with this value and no step or shifted problem has been result with this value.

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

                    Thanks for the info. One other question: what travel speed do you have configured in your slicer?

                    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
                    • Huguesundefined
                      Hugues
                      last edited by

                      300mm/s for travel speed
                      145 mm/s for infill and shell 50% for outline

                      1 Reply Last reply Reply Quote 0
                      • dvmourikundefined
                        dvmourik
                        last edited by

                        I had the same issues with the 1.15 and higher. Yesterday even tried the 1.16beta5 but still this problem exists.
                        Will keep mine on 1.14 as it runs very smooth on this version.

                        DC42 if you need more development info please let me know. Can make a report or something for you if you would like.
                        It's not my first delta (build around 250 delta's now… ) so maybe i can help a bit.

                        Bigger and bigger… sky is the limit.

                        1 Reply Last reply Reply Quote 0
                        • dvmourikundefined
                          dvmourik
                          last edited by

                          Strange enough i uploaded on my testprinter 1.16beta10 and first test was ok. Not the speeds that i used to but ok in printing. Anything changed on stepper/motion part?

                          Bigger and bigger… sky is the limit.

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

                            Nothing changed in the stepper motor driver code in either 1.15 or 1.16. There was a bug fix to pressure advance in 1.15.

                            Can you confirm that you are using the on-board stepper drivers?

                            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
                            • deckingmanundefined
                              deckingman
                              last edited by

                              IMO, layer shifting is always due to some mechanical problem - especially when it's as bad as the pics in the first post. Have you checked that the pulleys are securely fixed to the motor shaft?

                              Ian
                              https://somei3deas.wordpress.com/
                              https://www.youtube.com/@deckingman

                              1 Reply Last reply Reply Quote 0
                              • Huguesundefined
                                Hugues
                                last edited by

                                Those shifting in first post was not due to mechanical, otherwise it will not append strictly at the same height…

                                I've made few test without stepper interpolation and it seem to work better, i didn't have shifting since removing it. But this result have to be validate with real comparaison test...

                                1 Reply Last reply Reply Quote 0
                                • DjDemonDundefined
                                  DjDemonD
                                  last edited by

                                  It can be mechanical i.e. a print bed not properly secured so that it moves laterally my mini kossel does this as the bed mounts I made for FSR's are not clamps so the bed can shift it its not properly inserted, or electrical i.e. a motor skipping steps due to insufficient current, or being asked to move faster than it is able (i.e. insufficient current).

                                  Simon. Precision Piezo Z-Probe Technology
                                  www.precisionpiezo.co.uk
                                  PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                  1 Reply Last reply Reply Quote 0
                                  • dvmourikundefined
                                    dvmourik
                                    last edited by

                                    I am using the onboard drivers in this model. Nothing hardware related because changing the board will make it print flawless.
                                    Sadly i was using pressure advance and this last print i removed it.

                                    But i don't want to hijack this thread. So we keep it to the shifting of the topic owner.

                                    Bigger and bigger… sky is the limit.

                                    1 Reply Last reply Reply Quote 0
                                    • Huguesundefined
                                      Hugues
                                      last edited by

                                      @Djdemon i monitored the print and there was not mechanical, nothing move like bed shifting. It's more like the board forget few step

                                      1 Reply Last reply Reply Quote 0
                                      • deckingmanundefined
                                        deckingman
                                        last edited by

                                        @cubexupgrade:

                                        @Djdemon i monitored the print and there was not mechanical, nothing move like bed shifting. It's more like the board forget few step

                                        But it only affects one motor, hence the 45 degree angle of shift (corexy). Loose wire? Bad motor? Can you swap the XY motors and see if the shift then happens in the other direction? Looking at all the stringing at the bottom of the model, are you sure the nozzle didn't catch on a lump of plastic which either shifted something mechanically, caused the pulley to slip, or caused the motor to skip a few steps?

                                        @DC42, does interpolation affect motor torque? Just wondering if there is a mechanical resistance to movement, might a motor be more likely to skip steps with interpolation enabled.

                                        Ian
                                        https://somei3deas.wordpress.com/
                                        https://www.youtube.com/@deckingman

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

                                          Interpolation will have only a tiny effect on motor torque. Maximum torque is produced when the motor is nearly 2 full steps behind the commanded position. A few 1/256 steps either way isn't going to make much difference.

                                          @cubexupgrade, are the two motors of the same type and definitely running at the same current? If you are using M584 to remap drivers, you should specify the mappings for all axes and extruders, and set the motor currents afterwards.

                                          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
                                          • Huguesundefined
                                            Hugues
                                            last edited by

                                            @dc42 motors and current are the same. I haven't use motor mapping for this printer.

                                            Since i deactivate interpolation i use pressure advance function without problem even with high accl/jerk. Maybe it's just hasard.
                                            I do not push test because i've to print lot of stuff for works.

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