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. 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.
-
@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.
-
@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.
-
@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 -
@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.
-
@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.
-
@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
-
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.
-
@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)
-
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.
-
@mrsteve920 do you notice any print quality change? Noise change?
-
@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.