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

    High number of hiccups during basic moves

    Scheduled Pinned Locked Moved
    General Discussion
    layer shift hiccup delta
    6
    21
    2.6k
    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.
    • garyd9undefined
      garyd9 @MrSteve920
      last edited by

      @mrsteve920

      Is the problem the high number of hiccups or something else? I guess what I'm asking is if you were experiencing high hiccups before the other issues came up, or if you never checked before the other issues came up.

      While printing, I easily see 10-20 hiccups every second on my own printer (also a ultibots d300vs+, also with microstepping set to 64 on the three delta towers with a 0.9 degree steppers.) I don't think the high hiccup rate is unusual for this printer. It's disturbing to see, and I also wonder if it's normal. Perhaps @dc42 could pop in and tell us if it's normal, something we should ignore, or something we should try to resolve.

      Rather than going to back to 2.01, try going all the way back to firmware version 1.19 and check. (Does 1.19 report hiccups?) That's something that I've been meaning to try one day, but never seem to get around to it. (The reason for going all the way back to 1.19 is twofold: First, because it's what Brad at ultibots provides. Second, because version 1.19 is pre-RTOS...)

      Anyway, I know you've said that you checked the belts, etc, but there still might be something not quite right. There's a script that David Crocker posted a while back that checks for backlash. It's posted here (https://forum.duet3d.com/topic/7934/smart-effector-consistency-query/3) and I also posted a copy of it on the ultibots facebook group a couple weeks ago. If you find that you're getting a lot of backlash, it might relate to your other symptoms.

      "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

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

        Older firmware versions reported MaxReps instead of the hiccup count, but the cause was the same: the processor becoming overloaded because it had to generate steps at a very high rate. They don't necessarily cause a problem unless the hiccup rate gets extremely high. To reduce the hiccup count you will need to reduce the step pulse rate, which can most easily be done by reducing microstepping or by reducing travel speed.

        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

          It seems odd though that the OP reported that the printer has always run at 64x without any problems until a week ago. According to my very quick "back of envelope" calculations, if we assume a maximum pulse frequency of 200,000 Hz, then 800 steps per mm should allow speeds of 250mm/sec. Of course, I know nothing about how Deltas work so maybe this is not a valid calculation.

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

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

            @deckingman, on a delta when doing radial moves near the edges of the bed, the carriages move faster than the XY movement speed by a factor of up to about 3.

            It's time I re-measured the maximum step rate of a Duet+RRF because there have been a lot of firmware changes since I did the original measurements. In particular, the firmware no longer does double/quad/octal stepping, because step-servo drives don't like it.

            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

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

              @dc42 Thanks for the explanation - Delta's are very strange beasts which are beyond my comprehension ☺

              And yes, it would be good to know what the max step rate is now. Would you expect it to be higher or lower than 200kHz?

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

              1 Reply Last reply Reply Quote 0
              • MrSteve920undefined
                MrSteve920 @jacobf1
                last edited by MrSteve920

                @Phaedrux I can certainly try this for testing purposes and I'm sure it will work. I would be curious to know from others what the recommendation is for a delta. Is it better to run at x16 with interpolation or run at x32/x64 without?

                @jacobf1 The only change that I did was that I got a new glass bed and installed a buildtak flex-plate system onto it. Of course I thought this might be the cause of my problems because the timing fits but after swapping the flex-plate system out for another just glass bed, my problems still exist. So either the flex-plate system caused a permanent change to the printer that I haven't been able to undo or it's something else. I analyzed the strength of the magnetic field under the glass bed, aluminum heat spreader, and kapton heater that I have on my bed and it was barely strong enough to hold a paperclip; the duet sits about 1.5in underneath this assembly. It is a 16 tooth pulley assembly as you indicated.

                @garyd9 I'm assuming the problem is based on the number of hiccups because I've tried a lot other stuff to troubleshoot so far and this is all that I have left to go on; I never checked to see what number of hiccups the system was detecting before these issues started occuring. That's fascinating that your d300vs is also experiencing a high number of hiccups per second. I'll look into rolling back to the 1.19 firmware as you suggested and report back; as I recall going back that far requires more work than a usual update because of changes done in 1.19 and 1.20. I've been meaning to run that backlash script since it was posted on the facebook group but I haven't done so yet; I'll run it before trying any firmware changes.

                @deckingman I concur that it is weird that I am only now experiencing these issues.

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

                  I've just done some tests on my delta. A step pulse rate of 120kHz to each of 3 motors moving simultaneously gives a small but acceptable hiccup rate (less than 50 over 200mm). If I increase it to 150kHz then the hiccup rate goes up by a factor of 10. So I recommend not more than 120kHz. When only 1 drive is moving, higher rates are possible - I'm guessing around 200kHz. On non-delta machines the maximum rates may be a little higher because the calculations are simpler.

                  This applies to stepper motors connected to the Duet's own drivers. For external stepper drivers the maximum rate will be lower because of the longer step pulse time and minimum step pulse interval. For machines using step-servo drives, the maximum step rate should be reduced further, because hiccups disrupt the smooth pulse train and that has a negative impact on the ability of a step-servo drive to predict what is coming next.

                  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

                  MrSteve920undefined 1 Reply Last reply Reply Quote 0
                  • MrSteve920undefined
                    MrSteve920 @garyd9
                    last edited by

                    @garyd9 I'm getting about 0.04mm difference in mean on that backlash test. That seems to indicate to me that I do have somewhat of a backlash issue, but I need some context to know how severe it is. This doesn't really surprise me since I just re-tensioned the belts and I probably went a little further than I should have. I know David's post in the thread that you mentioned had a difference in means of 0.009mm.

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

                      @dc42 That explains my high number of hiccups since between the defaults for my config and the speeds I was requesting of the printer I would have needed a step pulse rate greater than 150kHz for pretty much all of my tests. I've put my config to x16 with interpolation and during basic calibrations I am producing no hiccups as expected. This was a good issue to get resolved, but I'm not convinced that this was the cause of my print issues since the print issues just started happening. I mentioned in a reply earlier that I recently installed a buildtak magnetic flexplate system onto my printer that I have since removed to do this testing. Can you think of anything that would be problematic about installing that system in the way I described? I was thinking about whether it could cause some level of emi, but that seems unlikely to me based on my tests and observations.

                      1 Reply Last reply Reply Quote 0
                      • garyd9undefined
                        garyd9 @MrSteve920
                        last edited by

                        @mrsteve920 said in High number of hiccups during basic moves:

                        I'll look into rolling back to the 1.19 firmware as you suggested and report back; as I recall going back that far requires more work than a usual update because of changes done in 1.19 and 1.20.

                        If/when you do that, according to dc42, the hiccups might be reported as MaxReps. PLEASE let us know what happens..

                        @dc42 said in High number of hiccups during basic moves:

                        I've just done some tests on my delta. A step pulse rate of 120kHz to each of 3 motors moving simultaneously gives a small but acceptable hiccup rate (less than 50 over 200mm). If I increase it to 150kHz then the hiccup rate goes up by a factor of 10. So I recommend not more than 120kHz.

                        To clarify: 120kHz to EACH of the motors for an overall rate of 360kHz?

                        While I realize that the nature of a delta's movement makes giving exact numbers difficult, could you please translate that to a suggested max steps/mm (M203) for X/Y/Z on a delta using 800 steps/mm?

                        (That leads to the question of if M203 parameters apply to the delta X/Y/Z carriage movement or to the X/Y/Z of cartesian movement. )

                        Thank you
                        Gary

                        "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

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

                          @garyd9 said in High number of hiccups during basic moves:

                          To clarify: 120kHz to EACH of the motors for an overall rate of 360kHz?

                          Correct, although that doesn't mean you could drive a single motor at 360kHz without getting a high hiccup rate. Maybe 200kHz or a bit higher.

                          While I realize that the nature of a delta's movement makes giving exact numbers difficult, could you please translate that to a suggested max steps/mm (M203) for X/Y/Z on a delta using 800 steps/mm?

                          Only if you tell me the maximum travel speed that you want to use, and the angle between the rod and the horizontal when the effector is at the edge of the bed opposite the tower that the rod is attached to.

                          (That leads to the question of if M203 parameters apply to the delta X/Y/Z carriage movement or to the X/Y/Z of cartesian movement. )

                          To the Cartesian XYZ movement.

                          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

                          MrSteve920undefined garyd9undefined 2 Replies Last reply Reply Quote 0
                          • MrSteve920undefined
                            MrSteve920 @dc42
                            last edited by

                            @dc42 said in High number of hiccups during basic moves:

                            Only if you tell me the maximum travel speed that you want to use, and the angle between the rod and the horizontal when the effector is at the edge of the bed opposite the tower that the rod is attached to.

                            I got an angle of 14.5deg assuming his printer uses 375mm rods and using the delta radius from my last calibration with a 300mm diameter bed. Let's use a max travel speed of 175mm/s.

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

                              @dc42 said in High number of hiccups during basic moves:

                              @garyd9 said in High number of hiccups during basic moves:

                              To clarify: 120kHz to EACH of the motors for an overall rate of 360kHz?

                              Correct, although that doesn't mean you could drive a single motor at 360kHz without getting a high hiccup rate. Maybe 200kHz or a bit higher.

                              ...and "120kHz" translates to "120,000 steps (per motor) per second"?

                              Trying to put that into physical movement... With the driver configured for 800 steps per mm, that would result in 120kHz allowing 150mm/sec (for carriage movement.)

                              While I realize that the nature of a delta's movement makes giving exact numbers difficult, could you please translate that to a suggested max steps/mm (M203) for X/Y/Z on a delta using 800 steps/mm?

                              Only if you tell me the maximum travel speed that you want to use, and the angle between the rod and the horizontal when the effector is at the edge of the bed opposite the tower that the rod is attached to.

                              The max travel speed I ever use is around 120-150mm/sec, but max of 175 is also a good number just to get an idea.

                              I just measured 22.7 (+/- .2) degrees from horizontal (see image below.) It's possible that my "printable area" is smaller than @MrSteve920. This was after homing the printer and running "G1 Z250 Y-999."

                              If it matters, my delta arms are labeled as 375mm, but I'm using a slightly higher value. Here's the output of M665:

                              Diagonal 379.530, delta radius 208.700, homed height 411.472, bed radius 140.0, X 0.406°, Y 0.200°, Z 0.000°

                              Here's the image of the measurement
                              0_1547855185859_20190118_183857 - Copy.jpg

                              "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

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

                                For a worst-case radial move close to the edge of the bed with the arm in that position, the ratio of carriage speed to XY speed is tan(90-22.7) = 2.4. So at 175mm/sec XY speed the carriage speed is 420mm/sec. Dividing 120kHz by 420mm/sec we get 285 microsteps/mm. So assuming you are using 16, 18 or 20 tooth 2mm pitch pulleys, if you are using 0.9deg motors then x16 microstepping with interpolation is the best choice. With 1.8deg motors you could use either x16 with interpolation, or x32.

                                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

                                garyd9undefined 1 Reply Last reply Reply Quote 1
                                • garyd9undefined
                                  garyd9 @dc42
                                  last edited by garyd9

                                  @dc42 said in High number of hiccups during basic moves:

                                  For a worst-case radial move close to the edge of the bed with the arm in that position, the ratio of carriage speed to XY speed is tan(90-22.7) = 2.4. So at 175mm/sec XY speed the carriage speed is 420mm/sec. Dividing 120kHz by 420mm/sec we get 285 microsteps/mm. So assuming you are using 16, 18 or 20 tooth 2mm pitch pulleys, if you are using 0.9deg motors then x16 microstepping with interpolation is the best choice. With 1.8deg motors you could use either x16 with interpolation, or x32.

                                  That's really interesting and I can plug different numbers into that to look at different scenarios. Thank you. Less speed gives more microsteps...

                                  My only problem now is understanding what it actually means in terms of actual quality. I typically print 0.1mm layers, but I don't know if "hiccups" are really impacting quality or if they are just a statistic that I can ignore. As well, while I understand the mechanics of a "microstep", I'm not sure that I understand what they mean in terms of actual print quality. If I use 32 microsteps, that's 400 steps/mm (or 0.0025mm/step.) Multiplying the 2.4 ratio, it is still 0.006mm/step.

                                  I'll take this to a new thread, as I think others might also be unsure of what some of this stuff actually means in terms of print quality... (https://forum.duet3d.com/topic/8688/stepper-movement-hiccups-and-microstepping)

                                  "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                                  1 Reply Last reply Reply Quote 0
                                  • MrSteve920undefined
                                    MrSteve920
                                    last edited by

                                    Thanks for the help everyone. It appears that changing my microstep values to something more appropriate for a delta with my components was the solution to my problems. I am now back to printing completely normal prints. I ended up using x16 with interpolation as suggested. It is still unclear to me as to why I only recently started having issues, but from this discussion it's clear that using x64 microstepping was not a recommended setting regardless of if I was having issues or not. Thanks again.

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

                                      @mrsteve920 do you notice any print quality change? Noise change?

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      MrSteve920undefined 1 Reply Last reply Reply Quote 0
                                      • MrSteve920undefined
                                        MrSteve920 @Phaedrux
                                        last edited by

                                        @phaedrux Lack of layer shifts aside, I would say that the print quality is as good if not slightly better than it was before. I have only run a couple of small calibration prints so far but I do intend on printing a Sir Layers-A-Lot with a filament sample tonight or tomorrow.

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