Jerky movements, again
-
1/256 microstepping is very quiet for me, but Duet is usable only with low speeds due to high step rate.
Also documentation isn't very clear about interpolation modes. Seems like only 1/16 microstepping mode is able to use interpolation? Or I'm not right?
-
I have not tested with interpolation on less than 1/16 microstepping.
What I need to test when I get a chance is the difference between 1/256 microstepping and 1/16 microstepping with interpolation because they should be the same. The interpolation should be dividing each 1/16 microstep up into 16 further microsteps.
-
No updates? Maybe I can help testing/diagnosing this issue?
-
It seems that everyone (including David and Tony) ignores me, but I still continue my research.
I just prepared test g-code that you can run without printing something. Code just moves effector around 100 mm circle:
[[language]] T0 G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion G1 Z10.300 F4800.000 G1 X-49.744 Y1.647 F960.000 G1 X-49.771 Y-0.000 G1 X-49.743 Y-1.672 G1 X-49.659 Y-3.342 G1 X-49.519 Y-5.009 G1 X-49.323 Y-6.670 G1 X-49.071 Y-8.323 G1 X-48.763 Y-9.967 G1 X-48.401 Y-11.599 G1 X-47.984 Y-13.219 G1 X-47.513 Y-14.824 G1 X-46.988 Y-16.411 G1 X-46.410 Y-17.981 G1 X-45.780 Y-19.530 G1 X-45.098 Y-21.057 G1 X-44.365 Y-22.560 G1 X-43.582 Y-24.038 G1 X-42.750 Y-25.489 G1 X-41.870 Y-26.910 G1 X-40.928 Y-28.322 G1 X-39.968 Y-29.661 G1 X-38.949 Y-30.987 G1 X-37.886 Y-32.279 G1 X-36.781 Y-33.533 G1 X-35.633 Y-34.750 G1 X-34.446 Y-35.928 G1 X-33.219 Y-37.065 G1 X-31.956 Y-38.160 G1 X-30.656 Y-39.212 G1 X-29.321 Y-40.220 G1 X-27.953 Y-41.182 G1 X-26.554 Y-42.098 G1 X-25.125 Y-42.966 G1 X-23.667 Y-43.786 G1 X-22.183 Y-44.557 G1 X-20.674 Y-45.277 G1 X-19.141 Y-45.946 G1 X-17.587 Y-46.563 G1 X-15.989 Y-47.136 G1 X-14.420 Y-47.639 G1 X-12.812 Y-48.097 G1 X-11.189 Y-48.500 G1 X-9.553 Y-48.849 G1 X-7.907 Y-49.142 G1 X-6.252 Y-49.380 G1 X-4.589 Y-49.563 G1 X-2.922 Y-49.689 G1 X-1.251 Y-49.759 G1 X0.447 Y-49.773 G1 X2.093 Y-49.731 G1 X3.763 Y-49.633 F960.000 G1 X5.428 Y-49.479 G1 X7.112 Y-49.264 G1 X8.738 Y-49.003 G1 X10.380 Y-48.681 G1 X12.009 Y-48.305 G1 X13.625 Y-47.875 G1 X15.226 Y-47.390 G1 X16.809 Y-46.852 G1 X18.374 Y-46.261 G1 X19.917 Y-45.618 G1 X21.439 Y-44.923 G1 X22.936 Y-44.178 G1 X24.407 Y-43.382 G1 X25.850 Y-42.538 G1 X27.265 Y-41.646 G1 X28.648 Y-40.707 G1 X30.000 Y-39.721 G1 X31.317 Y-38.691 G1 X32.599 Y-37.617 G1 X33.863 Y-36.484 G1 X35.052 Y-35.344 G1 X36.219 Y-34.146 G1 X37.362 Y-32.891 G1 X38.430 Y-31.637 G1 X39.471 Y-30.329 G1 X40.468 Y-28.986 G1 X41.419 Y-27.610 G1 X42.323 Y-26.203 G1 X43.179 Y-24.767 G1 X43.987 Y-23.302 G1 X44.745 Y-21.812 G1 X45.453 Y-20.296 G1 X46.118 Y-18.735 G1 X46.713 Y-17.199 G1 X47.264 Y-15.620 G1 X47.762 Y-14.023 G1 X48.206 Y-12.411 G1 X48.596 Y-10.785 G1 X48.931 Y-9.146 G1 X49.211 Y-7.497 G1 X49.435 Y-5.840 G1 X49.603 Y-4.176 G1 X49.715 Y-2.508 G1 X49.771 Y-0.836 G1 X49.771 Y0.836 G1 X49.715 Y2.508 G1 X49.603 Y4.176 G1 X49.435 Y5.840 G1 X49.211 Y7.497 G1 X48.931 Y9.146 G1 X48.596 Y10.785 G1 X48.206 Y12.411 G1 X47.762 Y14.023 G1 X47.264 Y15.620 G1 X46.713 Y17.199 G1 X46.109 Y18.758 G1 X45.453 Y20.296 G1 X44.745 Y21.812 G1 X43.987 Y23.302 G1 X43.179 Y24.767 G1 X42.323 Y26.203 G1 X41.419 Y27.610 G1 X40.468 Y28.986 G1 X39.471 Y30.329 G1 X38.430 Y31.637 G1 X37.346 Y32.911 G1 X36.219 Y34.146 G1 X35.052 Y35.344 G1 X33.845 Y36.501 G1 X32.599 Y37.617 G1 X31.317 Y38.691 G1 X30.000 Y39.721 G1 X28.648 Y40.707 G1 X27.265 Y41.646 G1 X25.850 Y42.538 G1 X24.407 Y43.382 G1 X22.936 Y44.178 G1 X21.439 Y44.923 G1 X19.917 Y45.618 G1 X18.374 Y46.261 G1 X16.809 Y46.852 G1 X15.226 Y47.390 G1 X13.625 Y47.875 G1 X12.009 Y48.305 G1 X10.380 Y48.681 G1 X8.714 Y49.007 G1 X7.087 Y49.268 G1 X5.428 Y49.479 G1 X3.763 Y49.633 G1 X2.093 Y49.731 G1 X0.422 Y49.773 G1 X-1.251 Y49.759 G1 X-2.922 Y49.689 G1 X-4.589 Y49.563 G1 X-6.252 Y49.380 G1 X-7.907 Y49.142 G1 X-9.553 Y48.849 G1 X-11.189 Y48.500 G1 X-12.812 Y48.097 G1 X-14.420 Y47.639 G1 X-16.013 Y47.128 G1 X-17.587 Y46.563 G1 X-19.141 Y45.946 G1 X-20.674 Y45.277 G1 X-22.205 Y44.545 G1 X-23.667 Y43.786 G1 X-25.125 Y42.966 G1 X-26.575 Y42.084 G1 X-27.953 Y41.182 G1 X-29.321 Y40.220 G1 X-30.656 Y39.212 G1 X-31.956 Y38.160 G1 X-33.219 Y37.065 G1 X-34.464 Y35.910 G1 X-35.633 Y34.750 G1 X-36.781 Y33.533 G1 X-37.886 Y32.279 G1 X-38.949 Y30.987 G1 X-39.968 Y29.661 G1 X-40.942 Y28.302 G1 X-41.870 Y26.910 G1 X-42.750 Y25.489 G1 X-43.594 Y24.016 G1 X-44.365 Y22.560 G1 X-45.098 Y21.057 G1 X-45.780 Y19.530 G1 X-46.410 Y17.981 G1 X-46.988 Y16.411 G1 X-47.513 Y14.824 G1 X-47.984 Y13.219 G1 X-48.406 Y11.575 G1 X-48.763 Y9.967 G1 X-49.071 Y8.323 G1 X-49.326 Y6.645 G1 X-49.519 Y5.009 G1 X-49.659 Y3.342 G1 X-49.699 Y2.542
This code produces jerky movements with [c]M350 X16 Y16 Z16 E16 I1[/c] command (1/16 microstepping with interpolation) and very smooth movements with [c]M350 X256 Y256 Z256 E16 I1[/c]
I can record video to prove my words.
-
Thanks for your example. My printers are out of action until my office refurbishment is complete, but I'll try it out when I can. Feel free to remind me on Wednesday if you don't get a response before then.
-
What happens when you do the exact same gcode with M350 X16 Y16 Z16 E16 I0 ?
-
One other question: what motor current have you set in your M906 command?
-
@bot:
What happens when you do the exact same gcode with M350 X16 Y16 Z16 E16 I0 ?
The same thing, but motors are very loud in this mode (relative to interpolated I1), so clicking noise is less audible over steppers noise.
One other question: what motor current have you set in your M906 command?
Thank you, now I'm not alone
I'm using [c]M906 X1500 Y1500 Z1500 E1000 I60[/c] with Wantai 42BYGHW811 motors. 200 steps/rev, 2.5A rated current, 1.8 mH phase inductance according to datasheet. Also I'm using 12V 30A LED power supply.
I have tried also 1.9 A and 1.0 A motor current, nothing changed.
Also I recorded both videos, my phone touches one of delta towers to amplify possible noise. I hope you can listen difference.
UPD: click frequency on first video is about 5-10 hertz. Clicks appear while effector moves around circle. But there is no clicks while effector goes down or while straight movement (from center to start of circle). -
Yet another video, I put my phone directly on moving caret to record better sound.
-
Seems like I need to go to Specsavers. What are we supposed to be looking at? Have you actually tried printing anything and if so, is the printed object misshapen?
-
I'm just want to say that something wrong : ) I'm not experiencing any real problems with printing using Duet WiFi, I'm happy Duet WiFi owner, but this is something abnormal.
Yes, this clicking pattern is slightly visible on printed objects, but I'm unable take good quality photo to show this. And this almost does not affect print quality.
-
I can't see any difference in the movement between the first two videos but maybe that's because I'm an old guy who wears glasses. You seem to be trying to make videos that record the sound, so are you saying that it sounds different?
-
I ran roboduet's file on my Rostock Mx V2 and can confirm that there is a different sound as he describes. You can definitely hear a tick which might line up with the interpolation point. Both 128 and 256 microstep without interpolation are smooth and don't have the tick. There is perhaps a discontinuity at some point in the interpolation. I couldn’t hear this when running the same test on my CoreXY, so perhaps it's specific to deltas?
However, I also ran print tests and cannot see any difference in the results! So, to me at least, this appears to be of academic interest only.
-
I can't see any difference in the movement between the first two videos but maybe that's because I'm an old guy who wears glasses. You seem to be trying to make videos that record the sound, so are you saying that it sounds different?
Yes, that's what I want to say. English is not my native language so sometimes I cannot say what I want in few words so other people can understand me.
Can you hear clicking (5-10 times per second) sound on last video with black picture? This clicks are felt, if I touch a finger to the carriage. This feels like tower caret stops moving for few milliseconds and then starts moving again.
But there is no any clicks or other sounds then I change microstepping to 1/256. Everything else is the same - maximum jerk settings, accelerations, speed, motor currents and so on.
-
I ran roboduet's file on my Rostock Mx V2 and can confirm that there is a different sound as he describes.
However, I also ran print tests and cannot see any difference in the results! So, to me at least, this appears to be of academic interest only.Thank you very much! At least this is confirmed now by other people too.
As about differences in print quality - I can see slight differences in external surface, but I'm sure this is absolutely not a problem for me. I can try to find macro photo friendly plastic and right lighting to take photo with differences. Also I'm not sure what is affecting print quality - true 1/256 microstepping instead of interpolated 1/16 or this clicking issue.
-
The interpolation is only completely accurate when the carriages are moving at constant speed, which is rarely the case on a delta printer. So my guess is that the clicking noises are produced when the drive gets the interpolation wrong, perhaps when a carriage reverses direction in the middle of a move. Dynamically varying microstepping will solve that, when I get round to implementing it.
-
I hear this clicking sounds with interpolation disabled at 1/16 microstepping.
Also seems like I found bug, printer completely freezes (including ESP8266 web server code) then I executing this commands: [c]G28[/c] to home printer, [c]M350 X16 Y16 Z16 I0[/c] to disable interpolation (interpolation enabled in config) and then start printing file without (!) homing after executing M350 command. This is reproducible every time I enter this commands.
-
I hear this clicking sounds with interpolation disabled at 1/16 microstepping.
Also seems like I found bug, printer completely freezes (including ESP8266 web server code) then I executing this commands: [c]G28[/c] to home printer, [c]M350 X16 Y16 Z16 I0[/c] to disable interpolation (interpolation enabled in config) and then start printing file without (!) homing after executing M350 command. This is reproducible every time I enter this commands.
I can guess what is happening. Executing M350 flags the axes as not homed, so for every move that your file asks for there will be a error message generated. The Duet will run out of message buffers, so it will no longer process status requests. Sending a pause command via USB or possibly PanelDue may still work. Or you can wait until the file finishes"printing".
-
So my guess is that the clicking noises are produced when the drive gets the interpolation wrong, perhaps when a carriage reverses direction in the middle of a move.
Just small note about interpolation and this clicks - linear (straight) movement of effector does not produce this clicks with interpolation enabled. At the start of first two videos effector goes down to Z = 10.3 mm at X0 and Y0 and then goes to start of circle at X-49.744 Y1.647. This straight move is without clicks.
To summarize my messages:
Moves with clicks: segmented (many g-codes with short straight lines) movement around circle regardless of interpolation mode at 1/16 microstepping.
Moves without clicks: straight movement with any microstepping setting or segmented movement around circle with 1/256 microstepping.
I will try tomorrow to create small script that produces straight segmented moves and slightly bent (extremely large radius) segmented moves to test how angle between two straight movement g-codes affects this.
-
I'm just created simple script that produces segmented (0.5 mm) straight movement from X-50 Y-50 to X50 Y50 and then goes back to X-50 Y-50 with single g-code:
[[language]] T0 G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion G1 X-50 Y-50 Z10.300 F4800 G1 X-49.5 Y-49.5 F960 G1 X-49 Y-49 G1 X-48.5 Y-48.5 G1 X-48 Y-48 G1 X-47.5 Y-47.5 G1 X-47 Y-47 G1 X-46.5 Y-46.5 G1 X-46 Y-46 G1 X-45.5 Y-45.5 G1 X-45 Y-45 G1 X-44.5 Y-44.5 G1 X-44 Y-44 G1 X-43.5 Y-43.5 G1 X-43 Y-43 G1 X-42.5 Y-42.5 G1 X-42 Y-42 G1 X-41.5 Y-41.5 G1 X-41 Y-41 G1 X-40.5 Y-40.5 G1 X-40 Y-40 G1 X-39.5 Y-39.5 G1 X-39 Y-39 G1 X-38.5 Y-38.5 G1 X-38 Y-38 G1 X-37.5 Y-37.5 G1 X-37 Y-37 G1 X-36.5 Y-36.5 G1 X-36 Y-36 G1 X-35.5 Y-35.5 G1 X-35 Y-35 G1 X-34.5 Y-34.5 G1 X-34 Y-34 G1 X-33.5 Y-33.5 G1 X-33 Y-33 G1 X-32.5 Y-32.5 G1 X-32 Y-32 G1 X-31.5 Y-31.5 G1 X-31 Y-31 G1 X-30.5 Y-30.5 G1 X-30 Y-30 G1 X-29.5 Y-29.5 G1 X-29 Y-29 G1 X-28.5 Y-28.5 G1 X-28 Y-28 G1 X-27.5 Y-27.5 G1 X-27 Y-27 G1 X-26.5 Y-26.5 G1 X-26 Y-26 G1 X-25.5 Y-25.5 G1 X-25 Y-25 G1 X-24.5 Y-24.5 G1 X-24 Y-24 G1 X-23.5 Y-23.5 G1 X-23 Y-23 G1 X-22.5 Y-22.5 G1 X-22 Y-22 G1 X-21.5 Y-21.5 G1 X-21 Y-21 G1 X-20.5 Y-20.5 G1 X-20 Y-20 G1 X-19.5 Y-19.5 G1 X-19 Y-19 G1 X-18.5 Y-18.5 G1 X-18 Y-18 G1 X-17.5 Y-17.5 G1 X-17 Y-17 G1 X-16.5 Y-16.5 G1 X-16 Y-16 G1 X-15.5 Y-15.5 G1 X-15 Y-15 G1 X-14.5 Y-14.5 G1 X-14 Y-14 G1 X-13.5 Y-13.5 G1 X-13 Y-13 G1 X-12.5 Y-12.5 G1 X-12 Y-12 G1 X-11.5 Y-11.5 G1 X-11 Y-11 G1 X-10.5 Y-10.5 G1 X-10 Y-10 G1 X-9.5 Y-9.5 G1 X-9 Y-9 G1 X-8.5 Y-8.5 G1 X-8 Y-8 G1 X-7.5 Y-7.5 G1 X-7 Y-7 G1 X-6.5 Y-6.5 G1 X-6 Y-6 G1 X-5.5 Y-5.5 G1 X-5 Y-5 G1 X-4.5 Y-4.5 G1 X-4 Y-4 G1 X-3.5 Y-3.5 G1 X-3 Y-3 G1 X-2.5 Y-2.5 G1 X-2 Y-2 G1 X-1.5 Y-1.5 G1 X-1 Y-1 G1 X-0.5 Y-0.5 G1 X0 Y0 G1 X0.5 Y0.5 G1 X1 Y1 G1 X1.5 Y1.5 G1 X2 Y2 G1 X2.5 Y2.5 G1 X3 Y3 G1 X3.5 Y3.5 G1 X4 Y4 G1 X4.5 Y4.5 G1 X5 Y5 G1 X5.5 Y5.5 G1 X6 Y6 G1 X6.5 Y6.5 G1 X7 Y7 G1 X7.5 Y7.5 G1 X8 Y8 G1 X8.5 Y8.5 G1 X9 Y9 G1 X9.5 Y9.5 G1 X10 Y10 G1 X10.5 Y10.5 G1 X11 Y11 G1 X11.5 Y11.5 G1 X12 Y12 G1 X12.5 Y12.5 G1 X13 Y13 G1 X13.5 Y13.5 G1 X14 Y14 G1 X14.5 Y14.5 G1 X15 Y15 G1 X15.5 Y15.5 G1 X16 Y16 G1 X16.5 Y16.5 G1 X17 Y17 G1 X17.5 Y17.5 G1 X18 Y18 G1 X18.5 Y18.5 G1 X19 Y19 G1 X19.5 Y19.5 G1 X20 Y20 G1 X20.5 Y20.5 G1 X21 Y21 G1 X21.5 Y21.5 G1 X22 Y22 G1 X22.5 Y22.5 G1 X23 Y23 G1 X23.5 Y23.5 G1 X24 Y24 G1 X24.5 Y24.5 G1 X25 Y25 G1 X25.5 Y25.5 G1 X26 Y26 G1 X26.5 Y26.5 G1 X27 Y27 G1 X27.5 Y27.5 G1 X28 Y28 G1 X28.5 Y28.5 G1 X29 Y29 G1 X29.5 Y29.5 G1 X30 Y30 G1 X30.5 Y30.5 G1 X31 Y31 G1 X31.5 Y31.5 G1 X32 Y32 G1 X32.5 Y32.5 G1 X33 Y33 G1 X33.5 Y33.5 G1 X34 Y34 G1 X34.5 Y34.5 G1 X35 Y35 G1 X35.5 Y35.5 G1 X36 Y36 G1 X36.5 Y36.5 G1 X37 Y37 G1 X37.5 Y37.5 G1 X38 Y38 G1 X38.5 Y38.5 G1 X39 Y39 G1 X39.5 Y39.5 G1 X40 Y40 G1 X40.5 Y40.5 G1 X41 Y41 G1 X41.5 Y41.5 G1 X42 Y42 G1 X42.5 Y42.5 G1 X43 Y43 G1 X43.5 Y43.5 G1 X44 Y44 G1 X44.5 Y44.5 G1 X45 Y45 G1 X45.5 Y45.5 G1 X46 Y46 G1 X46.5 Y46.5 G1 X47 Y47 G1 X47.5 Y47.5 G1 X48 Y48 G1 X48.5 Y48.5 G1 X49 Y49 G1 X49.5 Y49.5 G1 X-50 Y-50
Update: also click frequency directly depends on frequency of g-codes, seems like this clicks going between g-code commands. Maybe something like fill of next command queue or read-ahead of g-codes freezing movements?
Example of low-frequency clicks with longer segments:
[[language]] T0 G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion G1 X-50 Y-50 Z10.300 F4800.000 G1 X-50 Y-50 F960 G1 X-45 Y-45 G1 X-40 Y-40 G1 X-35 Y-35 G1 X-30 Y-30 G1 X-25 Y-25 G1 X-20 Y-20 G1 X-15 Y-15 G1 X-10 Y-10 G1 X-5 Y-5 G1 X0 Y0 G1 X5 Y5 G1 X10 Y10 G1 X15 Y15 G1 X20 Y20 G1 X25 Y25 G1 X30 Y30 G1 X35 Y35 G1 X40 Y40 G1 X45 Y45
Now I'm sure that this clicks are result of a lot of g-code fragments. David, I think that something wrong.