Big gantry printer: Lagging and stuttering when printing
-
@Maestro said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen Have you looked for this vibration when using the web control at a wide variety of speeds? That's a big gantry; you may have some resonances leading to vibration; the variations in speeds during a print would make encountering these much more likely than inputting one particular speed for a DWC-called move. Does the vibration occur w/both X and Y moves?
Yes, one thing led to another and now i am stuck with this design. I still think it can work well though. There seems to be clean movement when i move the Y axis alone, and the X axis alone. Also when moving (both) diagonally. The Issue seems to only appear when the machine has to make a circular motion.
Assuming you're running steppers, "basic tones, sort of melodic" is probably not a concern and may not be related to the vibration at all; the sound is to be expected during a print where speeds are varying all over the place and the driver/motor combo is not entirely quiet.
Yes, true. Sounds are coming from the steppers that indicate a non-smooth/stuttering motion though. Will see if i can upload a video w sound.
-
@sbNielsen said in Big gantry printer: Lagging and stuttering when printing:
Last reset 00:02:19 ago, cause: power up
Please can you do the M122 after you have run a movement in a circle where you see the stuttering.
-
@sbNielsen said in Big gantry printer: Lagging and stuttering when printing:
M569 P122.0 S1 R1 T2:2:2:2 ; extruder servo motor
M584 X0.4 Y0.1:0.3 Z0.0:0.2 E122.0;0.5: ; set drive mapping
M350 X32 Y16 Z16 E32:0 I1 ; configure microstepping with interpolation
M92 X64 Y320.00 Z800.00 E480.00;60: ; set steps per mm
M566 X50.00 Y10.00 Z60.00 E8000.00;100: ; set maximum instantaneous speed changes (mm/min)
M203 X4000.00 Y2000.00 Z800.00 E80000.00;4000: ; set maximum speeds (mm/min)
M201 X200.00 Y200.00 Z450.00 E8000.00;400: ; set accelerations (mm/s^2)
M906 X1800 Y3900 Z2940 ;E1750:0 I30 ; set motor currents (mA) and motor idle factor in per centThere are some errors in your config.g. I think you are not using the second extruder driver ("hopper stepper") and have commented this out from most lines with a semicolon ";" eg
M92 X64 Y320.00 Z800.00 E480.00;60:
So the second E parameter is ignored. If you meant to enable this, it should be a colon, not a semicolon, and the final colon is not needed, eg
M92 X64 Y320.00 Z800.00 E480.00:60
For M350, remove the second E parameter as the second drive is not defined, eg
M350 X32 Y16 Z16 E32 I1
. Note that the microstepping setting for E is irrelevant, as it is being set by an external driver, but if you add the second extruder driver, you will need a number there so you can set the second value for the onboard stepper driver, egE32:16
For M906, you have commented out the extruder parameter (which can't be set because it is an external driver), but this also comments out the
I30
for driver timeout after it. Change it to
M906 X1800 Y3900 Z2940 I30 ; E1750:0
Your jerk (M566) settings are very low. Most likely this is why you are getting stuttering on circles. See @T3P3Tony's post here for an explanation: https://forum.duet3d.com/post/333675
A more normal setting would be in the rangeM566 X300.00 Y300.00
. This is mm per minute, so only 5mm/s, but usually just enough to allow smooth cornering. However this will depend on the mechanics of your machine.Your maximum speed for X and Y axes are different; X is 4000mm/min (or 66.6mm/s), while Y is 2000mm/min (or 33.3mm/s). A move that goes between these, eg a circle, is going to change speed if you are trying to print as fast as the machine will go. This may be caused by what seems to be quite a difference in the driving of the axes; X has a very low steps per mm, while Y is much higher.
Your accelerations are also very slow. At 200mm/s^2, it takes about 10mm for the X axis to get up to 60mm/s speed. Short moves at changes of direction will happen very, very slowly.
For tuning the above, see https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance
For your external extruder drive settings:
M569 P122.0 S1 R1 T2:2:2:2 ; extruder servo motor
What servo driver are you using? And connected to what, a Duet 3 Expansion 1XD board? Your stepper timings (T parameter) are very fast, and may cause missed steps.Finally, update the firmware to the latest release candidate. You are on:
RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1++
Use these: https://github.com/Duet3D/RepRapFirmware/releases/tag/3.5.0-rc.3
Ian
-
@droftarts said in Big gantry printer: Lagging and stuttering when printing:
There are some errors in your config.g. I think you are not using the second extruder driver ("hopper stepper") and have commented this out from most lines with a semicolon ";" eg
M92 X64 Y320.00 Z800.00 E480.00;60:
So the second E parameter is ignored. If you meant to enable this, it should be a colon, not a semicolon, and the final colon is not needed, eg
M92 X64 Y320.00 Z800.00 E480.00:60
Yes, you are right; I'm currently testing a hopper mixer, and sometimes comment it out.
Your jerk (M566) settings are very low. Most likely this is why you are getting stuttering on circles. See @T3P3Tony's post here for an explanation: https://forum.duet3d.com/post/333675
A more normal setting would be in the rangeM566 X300.00 Y300.00
. This is mm per minute, so only 5mm/s, but usually just enough to allow smooth cornering. However this will depend on the mechanics of your machine.Very good, I will change this and test it tomorrow!
Your maximum speed for X and Y axes are different; X is 4000mm/min (or 66.6mm/s), while Y is 2000mm/min (or 33.3mm/s). A move that goes between these, eg a circle, is going to change speed if you are trying to print as fast as the machine will go. This may be caused by what seems to be quite a difference in the driving of the axes; X has a very low steps per mm, while Y is much higher.
Your accelerations are also very slow. At 200mm/s^2, it takes about 10mm for the X axis to get up to 60mm/s speed. Short moves at changes of direction will happen very, very slowly.
For tuning the above, see https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance
Super nice config comments Ian! I have been messing with this thing so much, that I have ended up with a mess indeed! I sit down with my config.g tomorrow and have everything adjusted to a more reasonable setting.
For your external extruder drive settings:
M569 P122.0 S1 R1 T2:2:2:2 ; extruder servo motor
What servo driver are you using? And connected to what, a Duet 3 Expansion 1XD board? Your stepper timings (T parameter) are very fast, and may cause missed steps.This could be. I am using the Lichuan 1.0Kw 80ST A5. I just spoke to a friend who is running it with T5:5:5:5
Finally, update the firmware to the latest release candidate. You are on:
RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1++
Use these: https://github.com/Duet3D/RepRapFirmware/releases/tag/3.5.0-rc.3
Again, thank you for you input Ian! Looking forward to tomorrow, will try and run some tests with the new config.g,
I'll follow up.
Søren -
@T3P3Tony said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen said in Big gantry printer: Lagging and stuttering when printing:
Last reset 00:02:19 ago, cause: power up
Please can you do the M122 after you have run a movement in a circle where you see the stuttering.
Oh yes, I missed that part.. I will run it tomorrow with the updates from Ian's comments, and have it print the M122 after.
Thanks!!
-
@sbNielsen If you're very brave, use the latest 3.5.0-rc3+ release from https://www.dropbox.com/scl/fo/p0136wx04h8xf6ejwdnn9/h?rlkey=efrfwyb6o5tqid11gustz3uvy&dl=0
Ian
-
@T3P3Tony said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen said in Big gantry printer: Lagging and stuttering when printing:
Last reset 00:02:19 ago, cause: power up
Please can you do the M122 after you have run a movement in a circle where you see the stuttering.
I just ran a super simple circle gcode file with no extrusion, and ran M122 after.
This is the print:m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1++ (2023-12-07 12:53:53) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 08DJM-9P63L-DJ3T0-6J9F0-3S86R-TA039 Used output buffers: 3 of 40 (26 max) Error in macro line 49 while starting up: bad grid definition: X range too small === RTOS === Static ram: 154844 Dynamic ram: 121296 of which 0 recycled Never used RAM 66876, free system stack 143 words Tasks: NETWORK(2,nWait,36.1%,145) ETHERNET(5,nWait,0.0%,323) HEAT(3,nWait,0.0%,324) Move(4,nWait,0.1%,229) CanReceiv(6,nWait,0.0%,797) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,348) TMC(4,nWait,8.2%,59) MAIN(1,running,55.5%,444) IDLE(0,ready,0.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:19:33 ago, cause: power up Last software reset at 2023-12-13 12:28, reason: User, Gcodes spinning, available RAM 66904, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0043a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 11.2, current 35.4, max 36.8 Supply voltage: min 23.7, current 23.8, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.8, current 12.3, max 12.9, under voltage events: 0 Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/52/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 920, reads 47312, writes 17 timeouts 0 Driver 1: standstill, SG min 0, mspos 760, reads 47312, writes 17 timeouts 0 Driver 2: standstill, SG min 0, mspos 456, reads 47312, writes 17 timeouts 0 Driver 3: standstill, SG min 0, mspos 600, reads 47312, writes 17 timeouts 0 Driver 4: standstill, SG min 0, mspos 532, reads 47312, writes 17 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 47318, writes 11 timeouts 0 Date/time: 2024-02-22 17:02:58 Slowest loop: 25.39ms; fastest: 0.05ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.8ms, write time 17.6ms, max retries 0 === Move === DMs created 125, segments created 5, maxWait 989214ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 192, completed 192, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.0 Heater 1 is on, I-accum = 0.0 Heater 2 is on, I-accum = 0.0 Heater 3 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0, sync state 2 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x80000003 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 10565, received 9391, lost 0, errs 1, boc 0 Longest wait 1ms for reply type 6018, peak Tx sync delay 271, free buffers 50 (min 49), ts 5868/5867/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 209.87ms; fastest: 0.03ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = Interface state: establishingLink Error counts: 0 0 0 1 0 0 Socket states: 2 2 2 2 2 0 0 0 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1beta4 MAC address 70:04:1d:be:b5:60 Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 223720 WiFi IP address 192.168.0.114 Signal strength -61dBm, channel 11, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0
-
@droftarts said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen If you're very brave, use the latest 3.5.0-rc3+ release from https://www.dropbox.com/scl/fo/p0136wx04h8xf6ejwdnn9/h?rlkey=efrfwyb6o5tqid11gustz3uvy&dl=0
Ian
I ran a few tests today, and it runs much better now. It was definitely a M566/jerk issue!
There is still a bit of vibration or resonance, but that might be due to the machine design. I will be printing big stuff, so dont think it will come into play too much. Happy for now.I did not install the 3.5.0-rc3+ version yet though!
Thanks for the help!
-
@sbNielsen ahh ok, good to have that cleared up. The M122 did not show any issues
-
-
-
@sbNielsen said in Big gantry printer: Lagging and stuttering when printing:
There is still a bit of vibration or resonance, but that might be due to the machine design.
You coud move the z-steppers to the bottom, next to the leadscrews and add a 1:1 closed belt system.
That way the big mass of the steppers has nearly no lever to cause trouble.