Solved 3.5.0rc1: Input shaping causes layer shifts!?
-
Okay, this is weird: I tried to print this attached gcode file for the last days and kept having "bang" noises and layer shifts on the y axis starting at around 5.5...6mm height:
batteriebox_2x_18650_ut_0.15_T1PLA+T2PLA.gcode.zip.gcode (remark: due to the restrictions in the forum, I zipped the gcode file and had to add a ".gcode" again to the name in order to be able to upload it)These bangs happened at places where no obstructions could be seen - in somewhere around the middle of a straight line for example.
Since I am running my printer with StealthChop, I first suspected (despite using 1.8° steppers) something like the thing here in the thread https://forum.duet3d.com/topic/22436/missing-steps-cant-print-spreadcycle-stealthchop-tuning-help/ that @dc42 and @droftarts managed to sort out, herefore I followed what was done there:
- increased current (no change)
- increased the Duet cooling fan speed (cooling fan draws air through ducts that are located in the mounting base of the Duet, see here) and checked stepper driver temperatures (about hand warm / no change)
- increased jerk (no change)
- reduced speed by about 20% (no change)
- used spreadCycle instead of StealthChop (no change as well)
Due to the thread about input shaping causing stutters and blobs here, I disabled input shaping - and bingo, the printer worked as it should.
Since the code above contains an awful lot of accelerations and decelerations in the area where the layer shifts happened due to... well, whatever Prusaslicer did there..., I suspect there might be some uncaught internal communications delay causing this...?
Here is my config.g (please ask if I should translate something):
; config.g G4 P2000 ; 2s warten, daß die Duet in Ruhe starten kann - hilft etwas bei einem Reset ; Allgemeine Einstellungen ; M451 ; FDM-Drucker M669 K0 S50 ; Kartesischer Drucker, 20ms Mindest-Segmentzeit von Marlin-Sourcen des J1 übernommen M111 S0 ; Debugging aus G21 ; Basiseinheit Millimeter G90 ; Absolute Koordinaten... M83 ; ... außer beim Extruder M555 P1 ; Firmware-Kompatibilität wie RepRapFirmware M200 D1.75 ; globale Variablen ; if !exists(global.Druckplattendicke) global Druckplattendicke = 5.00 ; Dicke der Druckplatte if !exists(global.Z_Limit_min) global Z_Limit_min = 200 ; kleinster zulässiger Max-Wert für Z if !exists(global.Z_Limit_max) global Z_Limit_max = 216 ; größter zulässiger Max-Wert für Z ; PanelDue ; ;M575 P1 S1 B115200 ; IO-Port für PanelDue aktivieren M575 P1 S1 B57600 ; testweise auf 57600 Baud reduziert ; Definition der Sensoren - 2x PT100 mit Vorverstärker am Hotend, 1x 100K-NTC am Bett ; M308 S0 P"temp0" Y"thermistor" A"T_Heizbett" T100000 B4092 ; Sensor 0 = Heizbett-Temperatursensor ; Hotend-Temperatursensoren: ; die Vorverstärker im Hotend arbeiten nur im Bereich von 120...310°C linear. Daher weichen die Anzeigewerte insbesondere bei Raumtemperatur ca. 10...15° nach unten ab. M308 S1 P"temp1" Y"linear-analog" A"T_Hotend1" F1 B-116.551 C554.644 ; Sensor 1 = PT100 mit Vorverstärker am Hotend 1 (links). GND und 3,3V kommen vom Filamentsensor, Signal an Pin Temp1 legen! M308 S2 P"temp2" Y"linear-analog" A"T_Hotend2" F1 B-116.551 C554.644 ; Sensor 2 = PT100 mit Vorverstärker am Hotend 1 (links). GND und 3,3V kommen vom Filamentsensor, Signal an Pin Temp2 legen! ; M308 S3 P"temp3" Y"thermistor" A"Bauraum" T100000 B4092 ; reserviert für Sensor 3 = Sensor für Bauraumheizung M308 S10 Y"mcu-temp" A"Elektronik" ; Sensor 10 = Prozessortemperatur der Duet für Elektronikraumkühlung - die Stepper haben nur einen dreistufigen Temperatursensor M308 S11 Y"drivers" A"Steppertreiber" ; Sensor 11 = Steppertreibertemperatur der Duet. 0°C=normal, 100°C=Überhitzungswarnung, 130°C=überhitzt. ; Definition der Anschlüsse ; M950 H0 C"out0" T0 ; Heizelement 0 (Heizbett mit Temperatursensor 0) M950 H1 C"out1" T1 ; Heizelement 1 (Extruder-Heizung mit Temperatursensor 1) M950 H2 C"out2" T2 ; Heizelement 2 (Extruder-Heizung mit Temperatursensor 2) ; H3 (out3) freihalten für Bauraumheizung M950 F0 C"out4" Q50 ; Lüfter 1 (Bauteilkühlung Hotend 1) PWM-Frequenz 50 Hz (sonst schwankt die Drehzhl) M950 F1 C"out5" Q50 ; Lüfter 2 (Bauteilkühlung Hotend 2) PWM-Frequenz 50 Hz (sonst schwankt die Drehzahl) M950 F2 C"out7" Q500 ; Lüfter 3 (Hotendkühlung Hotend 1) M950 F3 C"out8" Q500 ; Lüfter 4 (Hotendkühlung Hotend 2) M950 F4 C"out6" Q50 ; Lüfter 5 (Elektronikraumlüfter) PWM-Frequenz 50 Hz (sonst schwankt die Drehzahl) M950 P9 C"out9" Q100 ; LED-Streifen an Ausgang 9 ; Definition der Antriebe M569 P0.0 S0 F4 Y1:2 D3 H5 V25 ; Antrieb an DRIVER_0 (X) läuft rückwärts mit StealthChop2, thigh klein, tpwmhrs auf 375mm/s eingestellt, M915 P0.0 T1 ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus ist M569 P0.1 S1 F4 Y1:2 D3 H5 V25 ; Antrieb an DRIVER_1 (U) läuft vorwärts mit StealthChop2, thigh klein, tpwmhrs auf 375mm/s eingestellt M915 P0.1 T1 ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus ist M569 P0.2 S1 D2 ; Antrieb an DRIVER_2 (Z) läuft vorwärts mit Spreadcycle ; M569 P0.3 S0 D2 ; testweise auf Spreadcycle umgestellt. Nutzt nix. M569 P0.3 S0 F4 Y1:2 D3 H5 V25 ; Antrieb an DRIVER_3 (Y) läuft rückwärts mit StealthChop2, thigh klein, tpwmhrs auf 375mm/s eingestellt M915 P0.3 T1 ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus ist M569 P0.4 S0 D2 ; Antrieb an DRIVER_2 (E1) läuft rückwärts mit Spreadcycle M569 P0.5 S1 D2 ; Antrieb an DRIVER_3 (E2) läuft vorwärts mit Spreadcycle ; Definition der Achsen und Extruder ; M584 X0.0 U0.1 Y0.3 Z0.2 E0.5:0.4 ; Antriebe zu Achsen zuweisen M350 E64:64 Z16 I0 ; Mikrostepping ohne Interpolation für Z (mit der 2mm-Steigung der Schraube entspricht ein Vollschritt exakt 0,01mm) und E M350 X16 U16 Y16 I1 ; Mikrostepping mit Interpolation für X, U, Y entspricht 0,0125mm pro Mikroschritt M92 X80 U80 Y80 Z1600 E138.58:138.58 S16 ; (Mikro-)Schritte pro mm ; M566 X600 U600 Y600 Z100 E300:300 ; testweise erhöht wg. Layer Shifts. Nutzt nix. M566 X342 U342 Y342 Z100 E300:300 ; Maximale sofortige Geschwindigkeitsänderungen (mm/min). E-Wert aus Marlin, XYUZ-Werte aus Junction Deviation 0,013 errechnet (vgl. https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html). Für XYU möglichst klein halten (Input Shaping) M203 X21000 U21000 Y21000 Z600 E4800:4800 ; Maximalgeschwindigkeiten (mm/min) M201 X1000 U1000 Y1000 Z500 E5000:5000 ; Maximalbeschleunigungen je Achse (mm/s²) (Z aus J1-Cura-Profil) - Snapmaker-Daten X,U,Y=10000 sind wegen des Werts in M204 völliger Humbug! (Gesamtbeschleunigung max 1000, daher können die XY-Komponenten nicht höher sein) M204 P900 T900 ; höchste erlaubte Gesamtbeschleunigung für Druck und Bewegung (Originalwert Snapmaker: 1000, da fängt aber der Tisch an zu wackeln...) M906 X1000 U1000 Y1400 Z1000 E800:800 I95 ; Motorströme (mA) und Faktor des Ruhestroms in Prozent TODO höhere Ruhestromabsenkung möglich? M84 S30 ; Timeout für Ruhestrom (s) ; M915 X U Y S20 F1 R2 ; Stallguard für X, U und Y TODO Wert festlegen: Snapmaker definiert den Wert als 8 bei einer Bandbreite von 0...255 beim TMC2209; der TMC2160 der Duet hat aber -64...63 ; Beispielwerte für F von X und Y in mm/s: ; F200 --> 100mm in 30s ; F1000 --> 100mm in 6,5s ; F2000 --> 100mm in 3,1s ; F3000 --> 100mm in 2,1s ; Koordinatendefinition ; Nullpunkt = Mittelpunkt des Druckbetts = Zentrum der XY-Korrekturöffnung ; M208 X-175.5 Y-101 Z0 U-151 S1 ; Achsen-Minima M208 X151 Y101 Z209 U175.5 S0 ; Achsen-Maxima - nur grobe Vorgabe für Z, korrekter Wert wird beim Bedleveling ermittelt und in der Datei z_max.g gespeichert ; Definition der I/O-Ports ; ; Endstops M574 X1 S1 P"io1.in" ; X-Endstop: aktiv für Signal auf "High-Level" M574 U2 S1 P"io2.in" ; U-Endstop: aktiv am oberen Ende für Signal auf "High-Level" M574 Y1 S1 P"io3.in" ; Y-Endstop: aktiv für Signal auf "High-Level" M574 Z2 S1 P"io4.in" ; Z-Endstop: aktiv am oberen Ende für Signal auf "High-Level" ; ; Filamentsensoren M591 D0 P7 C"io5.in" L4.2 R50:150 E12.5 S0 ; Filamentsensor für Extruder 0, Impulssignal, an "io5.in", 4mm/Impuls, Toleranz 50...150%, erste 3 Pulse = 12,5mm verwerfen M591 D1 P7 C"io6.in" L4.2 R50:150 E12.5 S0 ; Filamentsensor für Extruder 1, Impulssignal, an "io6.in", 4mm/Impuls, Toleranz 50...150%, erste 3 Pulse = 12,5mm verwerfen ; gemessene Werte: TODO - nach einigen Drucken mit M591 D0 bzw. M591 D1 auslesen und anpassen! ; ; Druckdüsen als Z-Sensoren ; Achtung, diese Werte werden von den drei Kalibriermakros temporär überschrieben! M558 P8 C"^!io7.in" H2 F150 R0.2 T720 K0 B0 ; Z-Sensor Hotend 1=binär ohne Entprellfilter, 2mm Antasthöhe, invertiert (active low)&Pulldownwiderstand aktiv, 300mm/min Meßgeschwindigkeit, 0,5s Recoveryzeit, XY-Bewegung zwischen Messungen 1800mm/min, Heizelemente an G31 K0 P500 X0 Y0 Z{-global.Druckplattendicke-2} ; Z-Sensor Hotend 1: Triggerwert, Offset und Auslösehöhe M558 P8 C"^!io8.in" H2 F150 R0.2 T720 K1 B0 ; Z-Sensor Hotend 2=binär ohne Entprellfilter, 2mm Antasthöhe, invertiert (active low)&Pulldownwiderstand aktiv, 300mm/min Meßgeschwindigkeit, 0,5s Recoveryzeit, XY-Bewegung zwischen Messungen 1800mm/min, Heizelemente an G31 K1 P500 U0 Y0 Z{-global.Druckplattendicke-2} ; Z-Sensor Hotend 2: Triggerwert, Offset und Auslösehöhe ; Hinweis: es darf nur an den Schrauben gemessen werden. Muß in bed.g definiert werden - M557 nicht verwenden! ; Bettleveling ; M671 X0:-114.5:114.5 Y86:-93:-93 S3.0 P0.5 ; Position der Einstellschrauben ; Einstellungen Heizbett (H0) ; auf PID umgestellt, Bang-Bang macht man auch beim Bett nicht mehr, produziert Z-Banding... M140 H0 ; Heizelement 0 initialisieren M307 H0 R0.155 K0.140:0.000 D5.68 E1.35 S1.00 B0 ; Heizelement 0 (Heizbett) Kalibrierungsdaten M143 H0 S110 ; Temperaturlimit für Heizelement 0 (Heizbett) = 110°C ; Einstellungen Heizelemente Hotends (H1 und H2) ; ; M307 H1 R2.186 K0.17:0.11 D5.67 S1.00 V24.0 ; Heizelement 1 (Hotend 1) alte Kalibrierungsdaten aus Marlin umgerechnet M307 H1 R2.461 K0.335:0.144 D6.09 E1.35 S1.00 B0 V23.9 ; Heizelement 1 (Hotend 1) Kalibrierungsdaten, kalibriert mit 250°C und F0.55 M143 H1 S320 ; Temperaturlimit für Heizelement 1 = 320°C M570 H1 P5 T16 ; erlaubte Temperaturabweichung erhöhen, um die bei Raumtemperatur krumme Verstärkerkennlinie abzufangen (sonst Heater Fault) ; M307 H2 R2.186 K0.17:0.11 D5.67 S1.00 V24.0 ; Heizelement 2 (Hotend 2) alte Kalibrierungsdaten aus Marlin umgerechnet M307 H2 R2.476 K0.347:0.131 D5.52 E1.35 S1.00 B0 V23.9 ; ; Heizelement 2 (Hotend 2) Kalibrierungsdaten, kalibriert mit 250°C und F0.55 M143 H2 S320 ; Temperaturlimit für Heizelement 2 = 320°C M570 H2 P5 T16 ; erlaubte Temperaturabweichung erhöhen, um die bei Raumtemperatur krumme Verstärkerkennlinie abzufangen (sonst Heater Fault) M302 P0 S160 R120 ; Limit für Extruderbewegungen: extrudieren nur ab 160°, zurückziehen nur ab 120° ; Einstellungen Lüfter ; M106 P0 S0 H-1 B0.2 L0.17 X1.0 C"Werkzeuglüfter 1" ; Lüfter 0: Startwert 0%, Steuerung via Thermosensor nicht aktiv, Blip-Dauer 0,2s, Geschwindigkeit von 17%-100% M106 P1 S0 H-1 B0.2 L0.17 X1.0 C"Werkzeuglüfter 2" ; Lüfter 1: Startwert 0%, Steuerung via Thermosensor nicht aktiv, Blip-Dauer 0,2s, Geschwindigkeit von 17%-100% M106 P2 S1.0 H1 T45 C"Hotendlüfter 1" ; Lüfter 2: Startwert 100%, Aktiviert, wenn Heizelement 1 > 45°C M106 P3 S1.0 H2 T45 C"Hotendlüfter 2" ; Lüfter 3: Startwert 100%, Aktiviert, wenn Heizelement 2 > 45°C M106 P4 H10:11 T40:60 B0.2 L0.17 X1.0 C"Elektroniklüfter" ; Lüfter 4: Aktiviert, wenn Prozessortemperatur > 40°C, läuft bei 70°C oder wenn Steppertreiber eine Überhitzungswarung ausgibt mit 100%. ; Werkzeuge (Tools) ; M563 S"Hotend 1" P0 D0 H1 F0 ; Werkzeug 0 = Extruder 0 + Heizelement 1 G10 P0 X0 Y0 Z0 ; Achsenoffsets für Werkzeug 0 M568 P0 R0 S0 ; Defaulttemperaturen Werkzeug 0 0°C (=aus) M563 S"Hotend 2" P1 D1 H2 F1 X3 ; Werkzeug 1 = Extruder 1 + Heizelement 2, X auf U gemappt G10 P1 X0 Y0 Z0 ; Achsenoffsets für Werkzeug 1 M568 P1 R0 S0 ; Defaulttemperaturen Werkzeug 1 0°C (=aus) ; M563 S"Duplizieren" P2 D0:1 H1:2 X0:3 ; Werkzeug 2 = beide Extruder, 150mm versetzt ; G10 P2 X75 U-75 Y0 Z0 ; Achsenoffsets für Werkzeug 2 ; M567 P2 E1:1 ; Extrusionsverhältnis für beide Hotends gleich ; M563 S"Spiegeln" P3 D0:1 H1:2 X0:3 ; Werkzeug 3 = Extruder 1 + Heizelement 2, X auf U gemappt und 300mm versetzt. U mit M579 U-1 invertieren, wenn das Tool aktiv ist! Homing anpassen! ; G10 P3 X75 U-75 Y0 Z0 ; Achsenoffsets für Werkzeug 3 ; M567 P3 E1:1 ; Extrusionsverhältnis für beide Hotends gleich ; LEDs ; M42 P9 S0.5 ; LED-Streifen auf 50% ; Geschwindigkeitsverbesserndes Voodoo (Input Shaping, Pressure Advance etc.) ; Empfehlung: erst Input shaping justieren, dann Pressure Advance, dann Retraction! ; ; testweise Input Shaping deaktiviert ; M593 P"zvddd" F58 D0.1 L30 ; Input Shaping bei 58Hz, Dämpfungsfaktor 0,1 M572 D0:1 S0.05 ; Pressure Advance M309 P0 S0.035 ; Hotend 1 Feedforward-Wert M309 P1 S0.035 ; Hotend 2 Feedforward-Wert ; Retractwerte (M207) siehe Filamente! ; Netzwerk - WLAN-Modul ans Ende setzen wegen Timing-Bug... ; M550 P"Duplimatix" ; Maschinenname M552 I0 S0 ; Ethernetanschluß deaktiviert M586 P0 S1 ; HTTP-Server aktiv M586 P1 S0 ; FTP deaktiviert M586 P2 S0 ; Telnet deaktiviert G4 P10000 ; 10s warten, daß das WLAN-Modul in Ruhe starten kann M552 I1 S1 ; WLAN-Modul aktiv ; Sonstiges ; T0 ; Erstes Werkzeug bei Start ausgewählt M42 P9 S0.25 ; LED-Streifen dimmen M98 P"Korrekturwert_z_max.g" ; korrigiertes Z_Max einlesen M98 P"Korrekturwert_xy_offset_tool1.g" ; XY-Offset Hotend 2 einlesen M207 P0 S1.5 R0 F2400 T2400 ; Default-Retractwerte Hotend 1: 1,5mm und 40mm/s M207 P1 S1.5 R0 F2400 T2400 ; Default-Retractwerte Hotend 2; 1,5mm und 40mm/s
This is an M122 report after a layer shift (I used spreadcycle in that attempt):
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1 (2023-08-31 16:19:24) running on Duet 3 MB6HC v1.02 or later (standalone mode) Board ID: 08DJM-956BA-NA3TN-6JTDL-3SN6L-998UU Used output buffers: 12 of 40 (32 max) === RTOS === Static ram: 154852 Dynamic ram: 123592 of which 0 recycled Never used RAM 63780, free system stack 136 words Tasks: NETWORK(2,nWait,15.8%,187) HEAT(3,nWait,0.0%,323) Move(4,nWait,2.5%,214) CanReceiv(6,nWait,0.0%,941) CanSender(5,nWait,0.0%,335) CanClock(7,delaying,0.0%,343) TMC(4,nWait,9.6%,61) MAIN(1,running,71.6%,137) IDLE(0,ready,0.4%,30), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 01:05:47 ago, cause: software Last software reset at 2023-10-21 12:39, reason: User, Gcodes spinning, available RAM 63596, slot 2 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 42.4, current 47.0, max 47.3 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.0, current 12.3, max 12.6, under voltage events: 0 Heap OK, handles allocated/used 99/3, heap memory allocated/used/recyclable 2048/2012/1960, gc cycles 11 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 216, reads 9996, writes 28 timeouts 0 Driver 1: standstill, SG min 0, mspos 264, reads 9996, writes 28 timeouts 0 Driver 2: standstill, SG min 0, mspos 584, reads 10001, writes 23 timeouts 0 Driver 3: standstill, SG min 0, mspos 792, reads 10001, writes 23 timeouts 0 Driver 4: standstill, SG min 0, mspos 582, reads 10006, writes 19 timeouts 0 Driver 5: standstill, SG min 0, mspos 398, reads 10006, writes 19 timeouts 0 Date/time: 2023-10-21 13:45:42 Slowest loop: 211.72ms; fastest: 0.05ms === Storage === Free file entries: 17 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 4.1ms, write time 2.8ms, max retries 0 === Move === DMs created 125, segments created 38, maxWait 129179ms, bed compensation in use: none, height map offset 0.000, ebfmin -1.00, ebfmax 1.00 no step interrupt scheduled Moves shaped first try 15, on retry 893, too short 13236, wrong shape 57285, maybepossible 6813 === DDARing 0 === Scheduled moves 117289, completed 117289, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], 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 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) 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 doing "G4 S1" 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 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x8000000f Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === Filament sensors === Extruder 0 sensor: ok Extruder 1 sensor: ok === CAN === Messages queued 35520, received 0, lost 0, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 19739/0/0 Tx timeouts 0,0,19738,0,0,15780 last cancelled message type 30 dest 127 === Network === Slowest loop: 204.56ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(2) 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.1beta4 MAC address 70:04:1d:be:ad:b8 Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 217116 WiFi IP address 192.168.178.31 Signal strength -61dBm, channel 2, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 5 0 0 0 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0
And here is what an M569.2 R0...4 command set spit out (unsure if it helps, but since that was requested in the thread I mentioned above...):
M569.2 P0.3 R4 Register 0x04 value 0x30000042 M569.2 P0.3 R3 Register 0x03 value 0x00000000 M569.2 P0.3 R2 Register 0x02 value 0x00000000 M569.2 P0.3 R1 Register 0x01 value 0x00000005 M569.2 P0.3 R0 Register 0x00 value 0x00001089
It might be worth noting that - if I interpret the M122 command correctly - my Duet also shows a lot of CAN tx timeouts, which is something that was also mentioned in the "Missing Steps - Cant Print SpreadCycle StealthChop tuning help" thread that I linked above. I do not know what the figure means, but I suspect this might be related to the issue I have with the Duet 3 wifi module...?
The question is now: what can I do to get the printer running with input shaping...?
-
-
@NeoDue if you use mesh bed leveling, set fade height to 3mm and report back whether this alleviates the issue.
-
@oliof No, I do not use mesh bed leveling.
The j1 has just three measurement points for z - each one above a bed adjustment screw - that are only used with a calibration macro I wrote for the Duet: at the first point the macro redefines the upper limit of the z axis by sending an M208 command, then the printer moves on to the next point and measures every second or so while telling the user to twist the knob left or right (ASCII Art rules ) until the bed is level. That will be repeated on the last point - simple assisted bed leveling which is does its job by far well enough with the (coated) glass plate the J1 has.
Since that recalibration macro has to be started by the user and its only lasting effect is the M208 command saved in a separate file that is called by config.g during boot, I do not expect that to have any influence.But if mesh bed leveling also may cause this, I am am quite tempted to see this as another indicator for some internal communications timing issue - at least I assume mesh bed leveling to be rather calculation intensive as well, just as Input shaping...?
-
@NeoDue No, mesh bed leveling is not calculation intensive, it's just that the short z movements introduce extra segmentation messing with IS in the current implementation
-
@oliof thanks for the explanation!
-
Explains the sudden layer shifting I got, going from 3.5.0 b1 to rc1 my prints started
shifting in the Y axis.
Reversing to beta1 solved the problem. -
@oliof interesting. Got the same problem with layershifts
-
This is, interesting. I have NEVER seen a layer shift on my machine. But the first longer one I did after (finally after all these years) enabling imput shaping and .. wham.. woke up to a layer shifted spaghetti monster. (Did happen about Z20, so not a fade issue I'd say.
While it could be a coincidence, this thread caught my eye.
-
@janjoh @Jimborr @PCR thanks, that is reassuring that I am not the only one with that issue.
I wonder if we could do something to support the devs here to narrow down that issue. Could you each post your config.g that ran when you had that issue and the gcode of the part layer where layer shifting occurred and of some layers below that? I will try to dig through that and see if I see any similarities.
What I expect to find would be an increase of motion steps per length, motor steps or time, since that was a very obvious difference in my case. Layers with a relatively low amount of acelerations and decelerations per length unit printed fine, but as soon as a layer with many of those was printed (in my case probably caused by Prusaslicer varying the extrusion width since I did not really care about the nozzle width when desingning my part), I observed layer shifts when input shaping was active.
I do not know if this might yield a result that actually helps since we would need a dev here telling us what to do, but it is at least a try.
-
-
@oliof
Did you mean to add M376 H3 to bed.g (or config.g)?
If so, I did. No change, still layer shifting.config.g
; Axis and motor configuration M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes backwards M569 P4 S0 ; Drive 4 goes backwards ;M574 X2 Y2 Z2 P1 ; set endstop configuration (all endstops at high end, active high) M574 X2 S1 P"xstop" ; X min active high endstop switch M574 Y2 S1 P"ystop" ; Y min active high endstop switch M574 Z2 S1 P"zstop" ; Z min active high endstop switch ;M665 R175.50 L360.24 B140.0 H467.0 X0.00 Y0.00 Z0.00 ; set delta radius, diagonal rod length, printable radius, homed height and XY tower corrections ;M665 R168.00 L360.24 B140.0 H444.0; X0.00 Y0.00 Z0.00 ; set delta radius, diagonal rod length, printable radius, homed height and XY tower corrections M665 L360.240:360.240:360.240 R171.368 H445.000 B140.0 X0.331 Y-0.086 Z0.000 ;M666 X-0.27 Y0.52 Z-0.26 ; put your endstop adjustments here, or use auto calibration to find them all) M666 X0.00 Y0.00 Z0.00 M584 X0 Y1 Z2 E3 M92 X160.804 Y160.804 Z160.804 ; Set axis steps/mm (20 tooth pulleys, 0.9deg/step motors) M350 Z16 X16 Y16 E16 I1 ; Set 16x microstepping with interpolation ;M579 X1.005 Y1.005 X0.995 ;SCALE M579 X1.000 Y1.000 X1.000 ;SCALE M906 X1300 Y1300 Z1300 E600 I30 ; Set motor currents (mA) ;M201 X800 Y800 Z600 E1000 ; Set accelerations (mm/s^2) ;M203 X12000 Y12000 Z8000 E12000 ; Set maximum speeds (mm/min) ;M566 X700 Y700 Z1000 E1200 ; Maximum instant speed changes M201 X2000 Y2000 Z2000 E6000 ; Set accelerations (mm/s^2) M203 X14000 Y14000 Z10000 E6000 ; Set maximum speeds (mm/min) M566 X1000 Y1000 Z1000 E500 ; Maximum instant speed changes (jerk) G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Thermistors and heaters ;M305 S0 P"bed_temp" Y"thermistor" T100000 B3950 R4700 H0 L0 ; RRF3 Typical Chinese bed thermistor. Put your own H and/or L values here to set the bed thermistor ADC correction. ;M305 S1 P"e0_temp" Y"thermistor" T100000 B4388 R4700 H0 L0 ; RRF3 E3Dv6 hot end. Put your own H and/or L values here if necessary to set the first nozzle thermistor ADC correction. M308 S0 P"bed_temp" Y"thermistor" T100000 B5000 ; define bed temperature sensor ;M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8 ; define E0 temperature sensor M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.060000e-8 M308 S3 Y"mcu-temp" A"MCUTemp" ; configure sensor 3 as MCU Temperature M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0 M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1 M140 H0 ; the bed heater is heater 0 ; Fans M950 F0 C"fan0" Q500 ; Print Fan M950 F1 C"fan1" Q500 ; Hotend Fan M950 F2 C"fan2" Q500 ; MCU FAN M106 P0 H-1 C"Print Fan" M106 P1 H1 S1 T60 C"Hotend Fan" ;S1 I0 F500 H2:2:1 T45 ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 H3 S0.4 T45:65 C"MCU FAN" ; set fan 1 name, value, PWM signal inversion and frequency. Thermostatic control is turned off M301 H0 P20 I0.5 D1000 T0.85 W150 B0 ; PID settings for the bed M301 H1 P10 I0.10 D100 T0.50 ; PID settings for extruder 0 M570 S200 H1 ; Allow extra heating time M143 S300 ; max hotend temp ;M307 H1 A343.1 C127.3 D 6.1 B0 ;From tuning H1 ( M307 H0 F20 M307 H1 R4.141 K0.448:0.326 D2.92 E1.35 S1.00 B0 V24.0 ; Tool definitions M563 P0 D0 H1 ; Define tool 0 G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ;M92 E450 ;old 475 ; Set extruder steps per mm for first and second extruders M92 E690 ; Set extruder steps per mm for first and second extruders ; CPU fan 60% ;M106 P1 H-1 ;M106 P1 S0.6 ;M106 P1 T45:65 H100:101:102 ; Z probe and compensation definition ;M558 P5 R0.4 F1000 T16000 ; Z probe is IR and is not used for homing any axes, Z probe dive height 3mm, probing speed 300mm/min, travel speed 12000mm/min ;M558 P5 C"e0stop" H5 F1000 T16000 ;G31 P100 X0 Y0 Z-0.12 ; Set the zprobe offset and threshold (put your own values here). For a delta, use zero X and Y offset. ;Duet3d Recommended M558 P8 C"zprobe.in+zprobe.mod" H4 F1000 T12000 R0.2 S0.02 A7 ;G31 X0 Y0 Z-0.12 P100 ; org - changed 201021-1627 ;G31 X0 Y0 Z-0.07 P100 ; s3d settings G31 X0 Y0 Z-0.0 P100 ; cura settings ;M572 D0 S0.12 ; set pressure advance M572 D0 S0.03 ; set pressure advance T0 ; select first print head ; Grid based M557 R130 S35 M501
config-override.g
; config-override.g file generated in response to M500 at 2023-10-29 18:24 ; This is a system-generated file - do not edit ; Delta parameters M665 L367.003:367.003:367.003 R161.017 H444.611 B140.0 X0.450 Y-0.055 Z0.000 M666 X-2.732 Y1.370 Z1.362 A0.75 B1.27 ; Heater model parameters M307 H0 R0.129 K0.143:0.000 D10.00 E1.00 S1.00 B1 M301 H0 P20.0 I0.500 D1000.0 M307 H1 R4.141 K0.448:0.326 D2.92 E1.35 S1.00 B0 V24.0 M301 H1 P10.0 I0.100 D100.0 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
bed.g
; Auto calibration routine for large delta printer with IR probe M561 ; clear any bed transform, otherwise homing may be at the wrong height ;G28 ; home the printer M376 H3 ; Probe the bed and do auto calibration G1 X0 Y0 Z10 F10000 ; go to just above the first probe point to speed up probing ; bed.g file for RepRapFirmware, generated by Escher3D calculator ; 16 points, 6 factors, probing radius: 110, probe offset (0, 0) ; bed offset IRH param after () REMOVE added Z-start Zstart=+1.0 (0.5mm measure thickness + 1.0mm added for negative to work) ; (Bedoff+IR)-(0.5+1.38) lower value = nozzle closer to bed G30 P0 X0.00 Y110.00 Z-99999 ; H0.05 ; 2.27 - 1.73 G30 P1 X55.00 Y95.26 Z-99999 ; H0.10 ; 2.49 - 1.92 (org H0.1) G30 P2 X95.26 Y55.00 Z-99999 ; H0.10 ; 2.42 - 1.94 (org H0.02) G30 P3 X110.00 Y0.00 Z-99999 ;H0.15 ; 2.12 - 1.70 G30 P4 X95.26 Y-55.00 Z-99999 ; H-0.20 ; 1.75 - 1.41 G30 P5 X55.00 Y-95.26 Z-99999 ; H-0.20 ; 1.50 - 1.18 G30 P6 X0.00 Y-110.00 Z-99999 ; H0.05 ; 1.43 - 1.08 G30 P7 X-55.00 Y-95.26 Z-99999 ;H0.03 ; 1.49 - 1.06 G30 P8 X-95.26 Y-55.00 Z-99999 ; H0.05 ; 1.67 - 1.19 G30 P9 X-110.00 Y0.00 Z-99999 ; ;H0.08 ; 1.74 - 1.24 G30 P10 X-95.26 Y55.00 Z-99999 ; ;H0.00 ; 1.88 - 1.37 G30 P11 X-55.00 Y95.26 Z-99999 ; ;H0.00 ; 2.02 - 1.50 G30 P12 X0.00 Y55.00 Z-99999 ; ;H-0.45 ; 1.88 - 1.37 G30 P13 X47.63 Y-27.50 Z-99999 ; H-0.10 ; 1.69 - 1.33 G30 P14 X-47.63 Y-27.50 Z-99999 ; ;H-0.00 ; 1.66 - 1.25 G30 P15 X0 Y0 Z-99999 S9 ; 1.71 1.71 - 1.25 0.46 G1 X0 Y0 Z150 F15000 ; get the head out of the way of the bed
-
Seeing now (not sure how I missed it) that there is already another thread on this.
-
@Jimborr Ah, yes, that seems to be something else that affects Delta printers.
-
-
Sorry to resurrect this. was there every a resolution to this problem? I am running into similar issues. I am also showing tons of errors on CAN. Here is the diagnostic after a skip log:
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.2 (2023-12-14 10:32:22) running on Duet 3 MB6HC v1.01 (standalone mode) Board ID: 08DJM-956BA-NA3TJ-6JTD8-3SJ6J-1UA2U Used output buffers: 3 of 40 (40 max) === RTOS === Static ram: 154844 Dynamic ram: 121700 of which 104 recycled Never used RAM 65432, free system stack 129 words Tasks: NETWORK(1,ready,37.6%,145) ETHERNET(5,nWait,0.1%,317) HEAT(3,nWait,0.0%,307) Move(4,nWait,1.2%,217) CanReceiv(6,nWait,0.0%,942) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,342) TMC(4,nWait,8.7%,59) MAIN(1,running,52.3%,103) IDLE(0,ready,0.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:57:30 ago, cause: software Last software reset at 2024-01-04 23:56, reason: User, Gcodes spinning, available RAM 96264, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 MCU temperature: min 31.1, current 32.5, max 32.7 Supply voltage: min 23.7, current 23.7, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/8, heap memory allocated/used/recyclable 2048/544/396, gc cycles 0 Events: 1 queued, 1 completed Driver 0: ok, SG min 0, mspos 897, reads 63179, writes 4 timeouts 0 Driver 1: ok, SG min 0, mspos 280, reads 63180, writes 4 timeouts 0 Driver 2: ok, SG min 0, mspos 280, reads 63179, writes 4 timeouts 0 Driver 3: ok, SG min 0, mspos 232, reads 63179, writes 4 timeouts 0 Driver 4: ok, SG min 0, mspos 472, reads 63179, writes 4 timeouts 0 Driver 5: phase A may be disconnected, SG min 0, mspos 361, reads 63180, writes 3 timeouts 0 Date/time: 2024-01-05 00:55:37 Slowest loop: 206.82ms; fastest: 0.05ms === Storage === Free file entries: 18 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.1ms, write time 1.1ms, max retries 0 === Move === DMs created 125, segments created 44, maxWait 132190ms, bed compensation in use: mesh, height map offset -0.034, max steps late 1, ebfmin -1.00, ebfmax 1.00 next step interrupt due in 84 ticks, disabled Moves shaped first try 986, on retry 262, too short 1372, wrong shape 2444, maybepossible 169 === DDARing 0 === Scheduled moves 7741, completed 7701, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], 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 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 F6000 X98.532 Y184.403 E1.64932" 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 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 === Filament sensors === check 3911776 clear 15534836 Extruder 0: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 === CAN === Messages queued 4954, received 0, lost 0, errs 2619108, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 2752/0/0 Tx timeouts 0,0,2752,0,0,2202 last cancelled message type 4514 dest 127 === Network === Slowest loop: 142.85ms; 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: active Error counts: 0 0 0 0 0 0 Socket states: 5 2 2 2 2 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0
I am also having issues uploading files. I switched SD cards and the problem persists. Sometimes they will upload but I have to keep retrying and eventually it uploads. I can still ping the IP when it disconnects.
I don't know if my board is on the way out or what. It has been nothing but problems over the last 2 months. I recently disassembled the entire printer and reconnected everything. My random crashes have stopped (for now) but these other issues are getting worse.
Here is my config:
;Initialize variables if !exists(global.materialtype) global materialtype = "" if !exists(global.materialprint) global materialprint = "" if !exists(global.materialstandby) global materialstandby = "" if !exists(global.materialbed) global materialbed = "" if !exists(global.machineheater) global machineheater = 0 if !exists(global.inFilamentError) global inFilamentError = false ;General Setup - RailCore RRF Duet3 M552 P0.0.0.0 S1 G21 ;Work in millimetres G90 ;Send absolute coordinates... M83 ;...but relative extruder moves ; Stepper configuration M569 P1 S1 D3 ;Drive 0 X / Rear M569 P0 S0 D3 ;Drive 1 Y / Front ;M569 P0 S0 D3 ;Drive 0 X / Rear ;M569 P1 S1 D3 ;Drive 1 Y / Front M569 P2 S1 D3 ;Drive 2 Z Front Left M569 P3 S1 D3 ;Drive 3 Z Rear Left M569 P4 S1 D3 ;Drive 4 Z Right M569 P5 S1 D3 ;Drive 5 Extruder ;Axis configuration M669 K1 ;CoreXY mode M584 X0 Y1 Z2:3:4 E5 ;Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5 ;Leadscrew locations M671 X-13.6:-13.3:340 Y22:278:149 S7.5 M350 X16 Y16 Z16 E16 I1 ;Set 16x microstepping for axes with interpolation M906 X1500 Y1500 Z1200 E1200 I30 ;Set motor currents (mA) ; Fully commissioned speeds. M201 X3000 Y3000 Z100 E1500 ; Accelerations (mm/s^2) M203 X24000 Y24000 Z800 E3600 ; Maximum speeds (mm/min) M566 X1000 Y1000 Z100 E600 P1 ; Maximum jerk speeds mm/minute M208 X290 Y290 Z275 ;Set axis maxima and high homing switch positions (adjust to suit your machine) M208 X0 Y0 Z0 S1 ;Set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) M92 X200 Y200 Z1600 E696 ;Orbiter ;M92 X200 Y201 Z1600 E835 ;Bowden ; End Stops M574 X1 S1 P"io1.in" ;Map the X endstop to io1.in M574 Y1 S1 P"io2.in" ;May the Y endstop to io2.in ; Filament Sensor M591 D0 P5 C"io5.in" R60:215 E3.0 S0 A1 L0.406 ;Duet3D laser sensor for extruder drive 0, connected to IO 5, tolerance 60 to 215%, 3mm comparison length, disabled ; Thermistors M308 S2 P"temp0" Y"thermistor" A"chamber_temp" T100000 B3950 H0 L0 ;Chamber thermistor M308 S0 P"temp2" Y"thermistor" A"plate_heat" T100000 B3960 H0 L0 ;Plate thermistor M308 S1 P"temp1" Y"thermistor" A"e0_heat" T100000 B4725 C7.06e-8 H0 L0 ;E3D thermistor ;Define Heaters M950 H0 C"out0" T0 ;Bed heater is on out0 M950 H1 C"out1" T1 ;Hotend heater is on out1 M950 H2 C"out2" T2 ;Chamber heater is on out2 ;Define Bed M140 H0 ;Define Chamber M141 H2 M307 H0 R0.394 K0.158:0.000 D13.55 E1.35 S1.00 B0 ;Bed Duet 3 configuration M307 H1 R2.812 K0.374:0.000 D4.13 E1.35 S1.00 B0 V23.8 ;Phaetus Hotend Duet 3 configuration M307 H2 R0.048 K0.134:0.000 D16.81 E1.35 S1.00 B0 ;Chamber calibration ;M307 H2 R0.425 K0.744:0.000 D14.76 E1.35 S1.00 B0 ;old hotend value M307 H1 A310.1 C144.7 D2.6 S1.00 B0 ;old bed value M307 H0 A90.0 C700.0 D10.0 S1.00 B0 M570 H0 T15 ;Set hot end fault behaviour. 15C excursion before error M143 H1 S300 ;Set max hotend temperature M143 H0 S150 ;Set max bed temp ; Fans M950 F0 C"out6" Q100 ;Layer fan on "out6" connector M106 P0 S0 H-1 C"Part Fan" ;Layer fan M950 F1 C"out8" ;Hotend fan on "out8" connector without PWM M106 P1 C"Hotend Fan" ;M106 P1 S255 H1 T50 "Hotend Fan" ;enable thermostatic mode for hotend fan M950 F2 C"out7" Q2500 ;Heater cooling fan on "out7" connector M106 P2 S0 C"Cooling Fan" ;Heater cooling fan M950 F3 C"out4" ;Extruder fan on "out4" connector M106 P3 T40 H2 C"Extruder Fan" ;Extruder fan ; Accelerometer ;M955 P0 I50 C"spi.cs3+spi.cs2" ; all wires connected to temp DB connector ; Input Shaping M593 P"zvd" F70 S0.3 ; Tool definitions M563 P0 D0 H1 F0 ;Define tool 0 uses extruder 1, heater 1 and fan 1 G10 P0 S0 R0 ;Set tool 0 operating and standby temperatures ; Pressure Advance ;M572 D0 S0.06 ; set extruder 0 pressure advance to 0.01 seconds ; Euclid M558 P5 C"^io0.in" H2 F250:15 T24000 A6 S0.02 ;Tip: A larger trigger height in G31 moves you CLOSER to the bed G31 X1 Y37.5 Z6.58 P25 ;Nozzle-X set the probe offsets ;G31 X0 Y40 Z2.8 P25 ;0.25mm nozzle set the probe offsets T0 ;Select first hot end
-
@agmeadows I have a couple of suggestions:
-
Do you have a PanelDue connected? One known cause of network disconnections is running older PanelDueFirmware with recent versions of RRF. Older PanelDueFirmware can't handle the longer object model keys in more recent versions of RRF, causing PanelDueFirmware to recognis that it doesn't have enough buffer space and abandon the JSON parse. Unfortunately it then asks for the data again immediately without leaving a pause. This is fixed in recent beta versions of PaneDueFirmware.
-
The large number of CAN errors probably means that you have a CAN wiring error, or perhaps that you have two boards configured to use the same CAN address. I suggest you try disconnecting some boards from CAN to see which one(s) trigger the errors. Also check that all boards are running the same 3.5.0-rc.2.
-
-
@dc42 I do not have a PanelDue connected. Also, I don't have any second boards connected. I downgraded to 3.5.0-beta.4 which seemed to resolve the layer shifts, but the errors and connection issues persist. If I keep retrying it eventually goes through. The larger the file the more I have to retry.
This is the log after a reset, boot up and then home all:
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.0-beta.4 (2023-06-08 23:41:30) running on Duet 3 MB6HC v1.01 (standalone mode) Board ID: 08DJM-956BA-NA3TJ-6JTD8-3SJ6J-1UA2U Used output buffers: 1 of 40 (28 max) === RTOS === Static ram: 155012 Dynamic ram: 121864 of which 120 recycled Never used RAM 65756, free system stack 117 words Tasks: NETWORK(1,ready,38.1%,182) ETHERNET(5,nWait,0.1%,317) HEAT(3,nWait,0.0%,325) Move(4,nWait,0.0%,251) CanReceiv(6,nWait,0.0%,941) CanSender(5,nWait,0.0%,335) CanClock(7,delaying,0.0%,343) TMC(4,nWait,8.5%,59) MAIN(1,running,53.2%,137) IDLE(0,ready,0.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:18:27 ago, cause: power up Last software reset at 2024-01-04 23:56, reason: User, Gcodes spinning, available RAM 96264, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 21.1, current 30.5, max 31.5 Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/6, heap memory allocated/used/recyclable 2048/372/268, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 328, reads 14665, writes 21 timeouts 0 Driver 1: standstill, SG min 0, mspos 200, reads 14665, writes 21 timeouts 0 Driver 2: standstill, SG min 0, mspos 120, reads 14665, writes 21 timeouts 0 Driver 3: standstill, SG min 0, mspos 168, reads 14665, writes 21 timeouts 0 Driver 4: standstill, SG min 0, mspos 744, reads 14665, writes 21 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 14671, writes 16 timeouts 0 Date/time: 2024-01-09 22:46:22 Slowest loop: 42.83ms; fastest: 0.08ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.4ms, write time 18.5ms, max retries 0 === Move === DMs created 125, segments created 16, maxWait 728978ms, bed compensation in use: none, height map offset 0.000, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled === DDARing 0 === Scheduled moves 50, completed 50, 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 2 -1 -1 -1, ordering errs 0 Heater 1 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 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 === Filament sensors === Extruder 0: no data received === CAN === Messages queued 9968, received 0, lost 0, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 5539/0/0 Tx timeouts 0,0,5538,0,0,4428 last cancelled message type 4514 dest 127 === Network === Slowest loop: 1589.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: 2 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 1 0 0 Socket states: 5 5 2 2 2 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0
-
@agmeadows Just to be clear, can you confirm that you do not have any CAN based boards connected to the main control board? Do you have anything connected to the CAN connector on the board? Perhaps a photo of the board showing your connections would help?
-
@gloomyandy I have no additional boards connected to the 6HC and nothing plugged into the RJ11 connector. Here are two pictures of the board:
I am having strange disconnects as well when uploading files. I spoke with another person on the Railcore Discord server and they are having the same issue. They said, and I quote, "When uploading g code files to my duet3 connection is lost. The larger the file the larger the chance that connection is lost during upload. Using a wired connection directly to the duet."
I am doing the same thing. I had a keystone hack mounted on an external panel. I bypassed that and plugged straight in and it still had the issue.
-
@agmeadows do you see later shifts?
I see there is this thread:
https://forum.duet3d.com/topic/34247/duet-6hc-randomly-crasing-again/16?_=1705047609298Where you are discussing the crashes you see on the 6HC.
-
@T3P3Tony Yes. I have since disassembled the printer and reassembled it. The crashing seems to be resolved. Mind you, I could go several months without a problem.
The board just seems to be acting strange. Either the board or the firmware.