Solved 3.5.0rc1: Input shaping causes layer shifts!?
-
@oliof thanks for that information!
I had tried running my steppers at max current but that did not help at least for the layer shifts @dc42 is working on at the moment. As soon as I get some firmware to test I surely will check if increasing the motor current again might help with the last layer shift.
What I also take from all this testing so far is that StealthChop seems to be more resistant against causing layer shifts with IS than SpreadCycle, at least in some cases.
-
@NeoDue I don't understand? I thought a) stealthchop switches to spreadcycle at speeds where IS is relevant, and b) has less torque than spreadcycle to boot.
-
@oliof First of all, as I have set it in my printer - unless I do the tests here for this issue - , I use Stealthchop (less noisy) but simply do not let the printer switch between modes. See here for the reason: https://forum.duet3d.com/topic/33756/rrf-3-5-0-rc1-shaking-rattling-in-stealthchop/2?_=1707412028143 . In a nutshell: Either use Spreadcycle or use Stealthchop, but do not let the controller switch.
That being said, I also had thought that StealthChop reduces torque. But as you can see from the tests above, I get much more layer shifts if I use Spreadcycle for the x and y steppers than I get using Stealthchop. This and @dc42's claim from his recent bench test that he sees only extruder faults that I assume can only cause layer shifts by causing blobs leads me to the conclusion that for some reason Stealthchop is less affected by such blobs. And this means for some reason Stealthchop must create more torque to overcome these... ¯\_(ツ)_/¯
Edit: this works fine at least for the speeds and accelerations my printer can handle - if it would work for yours however is another thing
-
@NeoDue @oliof here is an update, and comment on your recent posts:
-
I am still working out exactly what isa going wrong, but I believe there are at least two issue with extrusion when input shaping and pressure advance are combined. I haven't got to the bottom of this yet.
-
Some users have reported "bang" noises from stepper motors when IS is enabled. These could be coming from extruder motors because of the issues I have found with IS+PA.
-
Using IS should not demand more of the motors when it is configured - if anything it should demand less. So if increasing motor current reduces or eliminates layer shifts that only occur when IS is enabled, most likely it is covering up the underlying issue.
-
@NeoDue reported that the layer shifts largely went away when pressure advance was disabled. I would welcome more data points on whether disabling PA eliminates layer shifts that only occur when IS is configured.
-
-
@NeoDue I am currently testing at 5k acceleration and 300mm/sec target speed (not always reached on short segments, hence my increase in jerk to 900mm/sec). This is mostly because I know the machine in use can easily reach those speeds and print well enough with Klipper, so I have a comparable baseline for performance and quality.
-
@dc42 PA or not has no effect in my testing.
The harsh noises I heard clearly came from the motion system with no blobs in sight. In my testing, the layer shifts were in the Y direction -- most likely because my test machine is a bed slinger so that is where the most weight is.
-
@dc42 here is a full video of the print. Disregard the underextrusion, I am outrunning the melt capacity of my hotend.
-
@dc42 thanks a lot! That lets me hope - I prefer in general to run the steppers with a somewhat reduced current to avoid them getting too hot if the printer is running closed since they are located inside the compartment.
@oliof said in 3.5.0rc1: Input shaping causes layer shifts!?:
@dc42 PA or not has no effect in my testing.
The harsh noises I heard clearly came from the motion system with no blobs in sight. In my testing, the layer shifts were in the Y direction -- most likely because my test machine is a bed slinger so that is where the most weight is.
@oliof Hm, due to the fan noise I could not hear any noise from the motion system in your video (by the way, the printer seems to fast for the camera ). I wonder though if it is coincidence that your printer creates that layer shift in the very moment it is speeding up...
While max speed of my printer is actually a little higher (but I tuned it down for print moves since I found that part strength becomes somewhat reduced when printing that fast) I use only modest jerk and acceleration values since the J1 has rather heavy print heads with a direct drive extruder included, and I made them even heavier by adding more substantial cooling fans... I do fear a bit for the linear guide which is positioned much more off-centre than in your printer.
But: that one layer shift that actually started this topic (height 5.5...5.65mm in my test part) was indeed in Y direction as well, and that one seemed also unaffected by PA, at least it still occurred in my last test for @dc42. On my printer, it is "just" the gantry with the two print heads and their x steppers that is moving there and the Y motor is definitely quite a bit more powerful than the X steppers, therefore I am unsure if that is actually mass related.
But one step after another - first I will wait for @dc42 to find and solve that IS/PA issue, and then (if that layer shift and bang does not vanish from the solution) I will continue tests about that issue.
-
@oliof said in 3.5.0rc1: Input shaping causes layer shifts!?:
@dc42 PA or not has no effect in my testing.
The harsh noises I heard clearly came from the motion system with no blobs in sight. In my testing, the layer shifts were in the Y direction -- most likely because my test machine is a bed slinger so that is where the most weight is.
Thanks for that info. Please can you run a print until you have had some of the harsh noises, then send M122 (just once, because sending it resets the data I am interested in) and post the report here.
-
@dc42 just after the noises, or at the end of the print? If the latter, here goes:
This is after a print without IS and without Layershift
M122 === Diagnostics === RepRapFirmware for STM32H7 based Boards (fly_super5_h723) version 3.5.0-rc.3+102 (2024-02-05 10:38:45) running on STM32H723 (standalone mode) Board ID: V1001-042KA-D43WN-6R1DU-YF6XX-70000 Used output buffers: 3 of 40 (29 max) === RTOS === Static ram: 44872 Dynamic ram: 92640 of which 0 recycled Never used RAM 105536, free system stack 107 words Tasks: NETWORK(2,nWait 7,11.5%,197) HEAT(3,nWait 6,0.0%,321) Move(4,nWait 6,1.1%,255) CanReceiv(6,nWait 1,0.0%,427) CanSender(5,nWait 7,0.0%,337) CanClock(7,delaying,0.0%,331) TMC22xx(4,nWait 6,0.7%,113) FSWRITE(2,nWait 4,0.0%,561) MAIN(1,running,86.2%,1094) IDLE(0,ready,0.4%,29), total 100.0% Owned mutexes: BITIO(TMC22xx) === Platform === Last reset 00:05:18 ago, cause: software Last software reset at 2024-02-08 12:10, reason: User, Gcodes spinning, available RAM 109544, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04454000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 36.2, current 37.6, max 37.6 Supply voltage: min 23.8, current 24.2, max 24.3, under voltage events: 1, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/40/40, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill 2209, SG min 2, reads 25420, writes 6 Driver 1: standstill 2209, SG min 4, reads 25420, writes 6 Driver 2: standstill 2209, SG min 4, reads 25421, writes 6 Driver 3: standstill 2209, SG min 0, reads 25424, writes 2 Driver 4: Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: Driver 12: Driver 13: Date/time: 2024-02-08 12:15:49 Slowest loop: 187.18ms; fastest: 0.02ms === Storage === Free file entries: 20 SD card 0 detected SD card longest read time 1.3ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 47, maxWait 80978ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval 0, bad calcs 0, ebfmin -0.98, ebfmax 1.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 20603, completed 20603, 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 0 -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.3 === GCodes === Movement locks held by null, null HTTP 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 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 2747, received 0, lost 0, errs 0, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0 free buffers 50 (min 50), ts 1526/0/0 Tx timeouts 0,0,1526,0,0,1221 last cancelled message type 0 dest 1 === Network === Slowest loop: 181.96ms; fastest: 0.07ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) HTTP sessions: 1 of 8 Uploads/Errors: 0/0 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Bad header: 0/0 Firmware version 2.1beta6-01 MAC address 54:43:b2:4a:17:90 Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 181412 WiFi IP address 192.168.86.46 Signal strength -47dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00003043 Socket states: 0 0 0 0 0 0 0 0
And this after a print with IS and Layershift
M122 === Diagnostics === RepRapFirmware for STM32H7 based Boards (fly_super5_h723) version 3.5.0-rc.3+102 (2024-02-05 10:38:45) running on STM32H723 (standalone mode) Board ID: V1001-042KA-D43WN-6R1DU-YF6XX-70000 Used output buffers: 3 of 40 (30 max) === RTOS === Static ram: 44872 Dynamic ram: 92640 of which 0 recycled Never used RAM 105536, free system stack 107 words Tasks: NETWORK(2,nWait 7,11.3%,197) HEAT(3,delaying,0.0%,321) Move(4,nWait 6,1.2%,251) CanReceiv(6,nWait 1,0.0%,427) CanSender(5,nWait 7,0.0%,337) CanClock(7,delaying,0.0%,331) TMC22xx(4,delaying,0.7%,113) FSWRITE(2,nWait 4,0.0%,561) MAIN(1,running,86.3%,1094) IDLE(0,ready,0.4%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:10:08 ago, cause: software Last software reset at 2024-02-08 12:10, reason: User, Gcodes spinning, available RAM 109544, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04454000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 36.9, current 37.5, max 37.7 Supply voltage: min 23.8, current 24.2, max 24.3, under voltage events: 1, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/72/72, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill 2209, SG min 2, reads 24155, writes 4 Driver 1: standstill 2209, SG min 2, reads 24155, writes 4 Driver 2: standstill 2209, SG min 4, reads 24155, writes 4 Driver 3: standstill 2209, SG min 0, reads 24156, writes 4 Driver 4: Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: Driver 12: Driver 13: Date/time: 2024-02-08 12:20:39 Slowest loop: 187.01ms; fastest: 0.02ms === Storage === Free file entries: 20 SD card 0 detected SD card longest read time 2.5ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 47, maxWait 129214ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval -3020, bad calcs 0, ebfmin -0.97, ebfmax 1.00 no step interrupt scheduled Moves shaped first try 198, on retry 32, too short 929, wrong shape 15913, maybepossible 258 === DDARing 0 === Scheduled moves 20597, completed 20597, 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 0 -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.3 === GCodes === Movement locks held by null, null HTTP 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 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 2610, received 0, lost 0, errs 0, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0 free buffers 50 (min 50), ts 1450/0/0 Tx timeouts 0,0,1450,0,0,1160 last cancelled message type 0 dest 1 === Network === Slowest loop: 181.97ms; fastest: 0.07ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) HTTP sessions: 1 of 8 Uploads/Errors: 0/0 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Bad header: 0/0 Firmware version 2.1beta6-01 MAC address 54:43:b2:4a:17:90 Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 183532 WiFi IP address 192.168.86.46 Signal strength -47dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00003043 Socket states: 0 0 0 0 0 0 0 0
-
@oliof thanks. Can you try a print with IS enabled and PA disabled? I'm interested n the "min interval" field in the Move section, but currently the combination of IS and PA causes this value to be wrong for extruders. I'd like to see what this value is when that interaction isn't present.
-
@dc42 Will do that tomorrow.
-
Here goes
M122 === Diagnostics === RepRapFirmware for STM32H7 based Boards (fly_super5_h723) version 3.5.0-rc.3+102 (2024-02-05 10:38:45) running on STM32H723 (standalone mode) Board ID: V1001-042KA-D43WN-6R1DU-YF6XX-70000 Used output buffers: 3 of 40 (29 max) === RTOS === Static ram: 44872 Dynamic ram: 100024 of which 0 recycled Never used RAM 98056, free system stack 102 words Tasks: NETWORK(2,nWait 7,10.7%,197) HEAT(3,nWait 1,0.0%,321) Move(4,nWait 6,1.4%,247) CanReceiv(6,nWait 1,0.0%,427) CanSender(5,nWait 7,0.0%,337) CanClock(7,delaying,0.0%,331) TMC22xx(4,delaying,0.7%,113) FSWRITE(2,nWait 4,0.0%,508) MAIN(1,running,86.7%,1094) IDLE(0,ready,0.4%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:20:59 ago, cause: power on/off Last software reset at 2024-02-08 19:58, reason: User, Gcodes spinning, available RAM 109544, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04454000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 38.2, current 39.2, max 39.3 Supply voltage: min 23.9, current 24.3, max 24.4, under voltage events: 1, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/188/188, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill 2209, SG min 2, reads 19879, writes 2 Driver 1: standstill 2209, SG min 14, reads 19879, writes 2 Driver 2: standstill 2209, SG min 4, reads 19880, writes 2 Driver 3: standstill 2209, SG min 0, reads 19880, writes 2 Driver 4: Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: Driver 12: Driver 13: Date/time: 2024-02-09 10:43:20 Slowest loop: 211.78ms; fastest: 0.02ms === Storage === Free file entries: 20 SD card 0 detected SD card longest read time 1.6ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 51, maxWait 1582ms, bed compensation in use: mesh, height map offset 0.014, max steps late 1, min interval -3183, bad calcs 0, ebfmin -0.91, ebfmax 1.00 no step interrupt scheduled Moves shaped first try 174, on retry 19, too short 924, wrong shape 16866, maybepossible 250 === DDARing 0 === Scheduled moves 20612, completed 20612, 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 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x80000007 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 2148, received 0, lost 0, errs 0, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0 free buffers 50 (min 50), ts 1193/0/0 Tx timeouts 0,0,1193,0,0,955 last cancelled message type 0 dest 1 === Network === Slowest loop: 202.51ms; fastest: 0.07ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) HTTP sessions: 1 of 8 Uploads/Errors: 0/0 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Bad header: 0/0 Firmware version 2.1beta6-01 MAC address 54:43:b2:4a:17:90 Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 184580 WiFi IP address 192.168.86.46 Signal strength -55dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00003043 Socket states: 0 0 0 0 0 0 0 0
Note that with more appropriate current setting for the motor, I don't observe any layershifts anymore.
-
@NeoDue @oliof please try the new firmware at https://www.dropbox.com/scl/fo/p0136wx04h8xf6ejwdnn9/h?rlkey=efrfwyb6o5tqid11gustz3uvy&dl=0. This fixes the interaction between extruder PA and IS.
If you get any layer shifts or hear any strange noises (e.g. bangs) from the motion motors, please run M122 and post the report here. Note, each time you run M122 it clears the accumulated debug data after reporting it, so only the first M122 report taken after a layer shift or strange noises contains useful data - although of course if you get another layer shift or strange noises after running M122 then you can run M122 again to report data relevant to those events.
-
@dc42 I will do so next weekend, unfortunately no play time beforehand.
-
@dc42 Great! I hope I can manage to test tomorrow or wednesday!
-
@dc42 I'm still getting layer shifts.
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.3+ (2024-02-12 16:39:08) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 08DJM-956BA-NA3TJ-6J1F8-3S06Q-1U86S Used output buffers: 9 of 40 (40 max) === RTOS === Static ram: 155208 Dynamic ram: 124316 of which 592 recycled Never used RAM 62228, free system stack 132 words Tasks: NETWORK(1,ready,138.6%,172) ETHERNET(5,nWait 7,0.3%,117) ACCEL(6,nWait 6,0.0%,344) HEAT(3,nWait 1,0.2%,321) Move(4,nWait 6,10.1%,218) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.1%,334) TMC(4,nWait 6,49.4%,54) MAIN(1,running,291.4%,103) IDLE(0,ready,0.5%,30), total 490.5% Owned mutexes: === Platform === Last reset 01:59:53 ago, cause: software Last software reset at 2024-02-12 18:35, reason: User, Gcodes spinning, available RAM 62948, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU temperature: min 33.2, current 34.3, max 35.2 Supply voltage: min 23.9, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.7, current 12.1, max 12.7, under voltage events: 0 Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/56/32, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok, SG min 0, mspos 516, reads 45133, writes 19 timeouts 0 Driver 1: ok, SG min 0, mspos 632, reads 45133, writes 19 timeouts 0 Driver 2: ok, SG min 0, mspos 913, reads 45134, writes 19 timeouts 0 Driver 3: ok, SG min 0, mspos 1000, reads 45134, writes 19 timeouts 0 Driver 4: ok, SG min 0, mspos 1000, reads 45134, writes 19 timeouts 0 Driver 5: ok, SG min 0, mspos 1000, reads 45134, writes 19 timeouts 0 Date/time: 2024-02-12 20:35:21 Slowest loop: 235.39ms; fastest: 0.05ms === Storage === Free file entries: 18 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 19.1ms, write time 12.9ms, max retries 0 === Move === DMs created 125, segments created 33, maxWait 279212ms, bed compensation in use: mesh, height map offset 0.000, max steps late 1, min interval -1929, bad calcs 0, ebfmin -1.00, ebfmax 1.00 next step interrupt due in 7 ticks, disabled Moves shaped first try 11539, on retry 6730, too short 23478, wrong shape 45756, maybepossible 2855 === DDARing 0 === Scheduled moves 101367, completed 101335, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters 2 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.3 Heater 1 is on, I-accum = 0.3 Heater 2 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 doing "G1 X164.421 Y253.435 E.11265" 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 1 Queue2 is idle in state(s) 0 Q0 segments left 1, axes/extruders owned 0x80000007 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 64737, received 0, lost 0, errs 34184089, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 35966/0/0 Tx timeouts 0,0,35965,0,0,28770 last cancelled message type 30 dest 127 === Network === Slowest loop: 216.55ms; 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: 3 of 8 = Ethernet = Interface state: active Error counts: 0 0 11 1 0 0 Socket states: 5 2 2 2 2 0 0 0 === WiFi === Interface state: disabled Module is disabled Failed messages: pending 0, notrdy 0, noresp 0 Socket states: 0 0 0 0 0 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0 2/12/2024, 8:35:23 PM m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.3+ (2024-02-12 16:39:08) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 08DJM-956BA-NA3TJ-6J1F8-3S06Q-1U86S Used output buffers: 9 of 40 (40 max) === RTOS === Static ram: 155208 Dynamic ram: 124316 of which 592 recycled Never used RAM 62228, free system stack 132 words Tasks: NETWORK(1,ready,138.6%,172) ETHERNET(5,nWait 7,0.3%,117) ACCEL(6,nWait 6,0.0%,344) HEAT(3,nWait 1,0.2%,321) Move(4,nWait 6,10.1%,218) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.1%,334) TMC(4,nWait 6,49.4%,54) MAIN(1,running,291.4%,103) IDLE(0,ready,0.5%,30), total 490.5% Owned mutexes: === Platform === Last reset 01:59:53 ago, cause: software Last software reset at 2024-02-12 18:35, reason: User, Gcodes spinning, available RAM 62948, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU temperature: min 33.2, current 34.3, max 35.2 Supply voltage: min 23.9, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.7, current 12.1, max 12.7, under voltage events: 0 Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/56/32, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok, SG min 0, mspos 516, reads 45133, writes 19 timeouts 0 Driver 1: ok, SG min 0, mspos 632, reads 45133, writes 19 timeouts 0 Driver 2: ok, SG min 0, mspos 913, reads 45134, writes 19 timeouts 0 Driver 3: ok, SG min 0, mspos 1000, reads 45134, writes 19 timeouts 0 Driver 4: ok, SG min 0, mspos 1000, reads 45134, writes 19 timeouts 0 Driver 5: ok, SG min 0, mspos 1000, reads 45134, writes 19 timeouts 0 Date/time: 2024-02-12 20:35:21 Slowest loop: 235.39ms; fastest: 0.05ms === Storage === Free file entries: 18 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 19.1ms, write time 12.9ms, max retries 0 === Move === DMs created 125, segments created 33, maxWait 279212ms, bed compensation in use: mesh, height map offset 0.000, max steps late 1, min interval -1929, bad calcs 0, ebfmin -1.00, ebfmax 1.00 next step interrupt due in 7 ticks, disabled Moves shaped first try 11539, on retry 6730, too short 23478, wrong shape 45756, maybepossible 2855 === DDARing 0 === Scheduled moves 101367, completed 101335, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters 2 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.3 Heater 1 is on, I-accum = 0.3 Heater 2 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 doing "G1 X164.421 Y253.435 E.11265" 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 1 Queue2 is idle in state(s) 0 Q0 segments left 1, axes/extruders owned 0x80000007 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 64737, received 0, lost 0, errs 34184089, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 35966/0/0 Tx timeouts 0,0,35965,0,0,28770 last cancelled message type 30 dest 127 === Network === Slowest loop: 216.55ms; 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: 3 of 8 = Ethernet = Interface state: active Error counts: 0 0 11 1 0 0 Socket states: 5 2 2 2 2 0 0 0 === WiFi === Interface state: disabled Module is disabled Failed messages: pending 0, notrdy 0, noresp 0 Socket states: 0 0 0 0 0 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0
-
@adrian thanks. Your M122 report contains useful data. Please can you share your config.g file and any other macros it calls, daemon.g if you.use it, and the print file. Also the approximate height at which the first layer shift occurs.
-
@NeoDue @oliof @adrian I have identified and corrected another step timing anomaly. Please try the updated files at https://www.dropbox.com/scl/fo/p0136wx04h8xf6ejwdnn9/h?rlkey=efrfwyb6o5tqid11gustz3uvy&dl=0.
As before, if you get any layer shifts or hear any strange noises (e.g. bangs) from the motion motors, please run M122 and post the report here. Note, each time you run M122 it clears the accumulated debug data after reporting it, so only the first M122 report taken after a layer shift or strange noises contains useful data - although of course if you get another layer shift or strange noises after running M122 then you can run M122 again to report data relevant to those events.
-
@dc42 I am afraid your last changes might have made things worse: one slight "bang" noise already layer 3, and layer shift at height 1.4mm.
The test part is the same as in my previous tests.
Here is the M122 readout of the bang:
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.3+ (2024-02-13 13:34:06) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 08DJM-956BA-NA3TN-6JTDL-3SN6L-998UU Used output buffers: 3 of 40 (33 max) === RTOS === Static ram: 155208 Dynamic ram: 123408 of which 0 recycled Never used RAM 63896, free system stack 134 words Tasks: NETWORK(2,nWait 7,16.3%,172) HEAT(3,nWait 1,0.0%,323) Move(4,nWait 6,2.2%,227) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,9.5%,56) MAIN(1,running,70.6%,103) IDLE(0,ready,1.3%,30), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:15:37 ago, cause: software Last software reset at 2024-02-13 18:34, reason: User, Gcodes spinning, available RAM 64248, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 36.5, current 43.8, max 44.0 Supply voltage: min 23.6, current 23.8, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.3, max 12.7, under voltage events: 0 Heap OK, handles allocated/used 99/3, heap memory allocated/used/recyclable 2048/1612/1560, gc cycles 2 Events: 0 queued, 0 completed Driver 0: ok, SG min 0, mspos 623, reads 19231, writes 29 timeouts 0 Driver 1: standstill, SG min 0, mspos 232, reads 19231, writes 29 timeouts 0 Driver 2: standstill, SG min 0, mspos 424, reads 19238, writes 23 timeouts 0 Driver 3: ok, SG min 0, mspos 840, reads 19238, writes 23 timeouts 0 Driver 4: standstill, SG min 0, mspos 746, reads 19242, writes 19 timeouts 0 Driver 5: ok, SG min 0, mspos 46, reads 19242, writes 19 timeouts 0 Date/time: 2024-02-13 18:49:49 Slowest loop: 212.35ms; fastest: 0.05ms === Storage === Free file entries: 18 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 5.1ms, write time 2.7ms, max retries 0 === Move === DMs created 125, segments created 26, maxWait 145311ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.00 next step interrupt due in 480 ticks, disabled Moves shaped first try 6, on retry 81, too short 745, wrong shape 6305, maybepossible 347 === DDARing 0 === Scheduled moves 24526, completed 24466, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -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.4 Heater 1 is on, I-accum = 0.3 === 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) 3 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 1 Queue2 is idle in state(s) 0 Q0 segments left 15, axes/extruders owned 0x80000007 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === Filament sensors === check 10347352 clear 326009 Extruder 0 sensor: ok Extruder 1 sensor: ok === CAN === Messages queued 8429, received 0, lost 0, errs 4443556, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 4686/0/0 Tx timeouts 0,0,4685,0,0,3742 last cancelled message type 30 dest 127 === Network === Slowest loop: 11.99ms; fastest: 0.00ms 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: disabled Error counts: 0 0 0 0 0 0 Socket states: 0 0 0 0 0 0 0 0 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1beta6 MAC address 70:04:1d:be:ad:b8 Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 225152 WiFi IP address 192.168.178.31 Signal strength -57dBm, channel 2, 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
And this is the one taken after the layer shift occurred:
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.3+ (2024-02-13 13:34:06) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 08DJM-956BA-NA3TN-6JTDL-3SN6L-998UU Used output buffers: 5 of 40 (35 max) === RTOS === Static ram: 155208 Dynamic ram: 123408 of which 0 recycled Never used RAM 63896, free system stack 134 words Tasks: NETWORK(2,nWait 7,16.5%,172) HEAT(3,nWait 6,0.0%,323) Move(4,nWait 6,3.2%,227) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,9.7%,56) MAIN(1,running,70.5%,103) IDLE(0,ready,0.1%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:23:52 ago, cause: software Last software reset at 2024-02-13 18:34, reason: User, Gcodes spinning, available RAM 64248, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 43.7, current 45.1, max 45.6 Supply voltage: min 23.6, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.3, max 12.7, under voltage events: 0 Heap OK, handles allocated/used 99/3, heap memory allocated/used/recyclable 2048/628/576, gc cycles 4 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 296, reads 39704, writes 0 timeouts 0 Driver 1: standstill, SG min n/a, mspos 232, reads 39705, writes 0 timeouts 0 Driver 2: standstill, SG min 0, mspos 936, reads 39704, writes 0 timeouts 0 Driver 3: ok, SG min 0, mspos 532, reads 39704, writes 0 timeouts 0 Driver 4: standstill, SG min n/a, mspos 746, reads 39704, writes 0 timeouts 0 Driver 5: ok, SG min 0, mspos 178, reads 39704, writes 0 timeouts 0 Date/time: 2024-02-13 18:58:05 Slowest loop: 6.91ms; fastest: 0.07ms === Storage === Free file entries: 17 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 5.2ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 26, maxWait 226ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.00 next step interrupt due in 143 ticks, disabled Moves shaped first try 2, on retry 108, too short 1478, wrong shape 13289, maybepossible 867 === DDARing 0 === Scheduled moves 42846, completed 42786, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -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.4 Heater 1 is on, I-accum = 0.3 === 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) 3 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 doing "G4 S10" in state(s) 0 0, running macro Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0, sync state 1 Queue2 is idle in state(s) 0 Q0 segments left 30, axes/extruders owned 0x80000007 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === Filament sensors === check 15731742 clear 326009 Extruder 0 sensor: ok Extruder 1 sensor: ok === CAN === Messages queued 4463, received 0, lost 0, errs 2356269, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 2479/0/0 Tx timeouts 0,0,2479,0,0,1984 last cancelled message type 4514 dest 127 === Network === Slowest loop: 20.79ms; fastest: 0.07ms 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: disabled Error counts: 0 0 0 0 0 0 Socket states: 0 0 0 0 0 0 0 0 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1beta6 MAC address 70:04:1d:be:ad:b8 Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 225152 WiFi IP address 192.168.178.31 Signal strength -59dBm, channel 2, 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