Layershift caused by underruns?
-
I have been experiencing a consistent layershift at the same height in a print. The layershift consistenly happens at the same height, around ~30.78mm. In the M122 logs I also noticed under in two of the categories, are these related?
Setup: Delta printer with a Duet3 6HC in SBC mode with a Jetson Nano (rrf 3.3).
Slicer: S3D
G-Code: 4thAxisMotorBracket2.gcode
Config.g:; Configuration file for Deltex ; ===================== GENERAL SETTINGS ===================== M111 S0 ; Debug off ;M550 PDeltex - V6 ; Machine name and Netbios name M555 P1 ; Repetier Output M575 P1 B57600 S1 ; PanelDue Comm Setup M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet M912 P0 S-12.30 ; Set temperature offset for MCU ; ===================== MOVEMENT SETTINGS ==================== G21 ; Set Units to Millimeters G90 ; Set to Absolute Positioning M83 ; Set extruder to relative mode ;Drives M569 P2 S0 ; Drive 2 (X) goes backwards M569 P1 S0 ; Drive 1 (Y) goes backwards M569 P0 S0 ; Drive 0 (Z) goes backwards M569 P3 S1 ; Drive 4 (E) goes forwards M584 X0.2 Y0.1 Z0.0 E0.3 ; Assign drives to axis ;Mechanicals M669 K3 ; Set kinematics type to 3 (lin delta) M665 L501.300:501.300:501.300 R230.970 H771.051 B200.0 X0.000 Y0.000 Z0.000 ; L-Diagonal rod length, R-delta radius, B-printable radius, H-homed height M666 X0 Y0 Z0 A0 B0 ; Endstop adjustments M579 X1.005 Y1.005 Z1.005 ; Cartesian axis scaling ;Endstops M574 X2 S1 P"0.io2.in" ; configure microswitch endstop for high end on X via pin xstop M574 Y2 S1 P"0.io1.in" ; configure microswitch endstop for high end on Y via pin ystop M574 Z2 S1 P"0.io0.in" ; configure microswitch endstop for high end on Z via pin e0stop ;Speeds etc M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping with interpolation M92 X160 Y160 Z160 E414 ; Set steps/mm M906 X2400 Y2400 Z2400 E750 I60 ; Set motor currents (mA) and increase idle current to 60% M98 P"0:/macros/Commands/set_acceleration_default" ; Accelerations (mm/s^2) M203 X10000 Y10000 Z10000 E10000 ; Maximum speeds (mm/min) M98 P"0:/macros/Commands/set_jerk_default" ; Maximum instant speed changes (mm/min) ; ================ HEATING AND COOLING SETTINGS ============== ; Bed M308 S0 P"0.temp1" Y"thermistor" A"Bed" T100000 B3950 ; Bed temperature sensor parameters M950 H0 C"0.out7" T0 Q10 ; Connect bed heater output and proper sensor, set switching frequency to 10Hz M307 H0 R0.768 C475.700:475.700 D5.20 S1.00 B0 I0 ; Set bed heating process parameters and use PID M140 H0 ; Map heated bed to heater 0 M143 H0 S150 A1 ; Set maximum bed temperature to 190 -> switch off permanently ;Hotend M308 S1 P"0.temp0" Y"thermistor" A"Hotend" T100000 B4725 C7.060000e-8 ; Hotend temperature sensor parameters M950 H1 C"0.out1" T1 ; Connect hotend heater output and proper sensor M307 H1 R1.582 C305.900:291.600 D6.73 S1.00 B0 I0 ; Set hotend heating process parameters and use PID M570 H1 T5 S4320 ; Configure heater fault detection (+/- 5°). Cancel the print if the fault is not cleared after 4320 minutes (3 days). ;Water ;M308 S2 P"e1temp" Y"thermistor" A"Water" T9577 B3306 ; Water temperature sensor parameters ; Fans M950 F0 C"0.out2" Q2000 M106 P0 L0 X0.7 H-1 C"Compressor" M950 F1 C"!0.out4+out4.tach" Q25000 M106 P1 L0.0 X1.0 H-1 C"Duet" M950 F2 C"!0.out5+out5.tach" Q25000 M106 P2 L0.0 X1.0 H-1 C"Pump" M106 P2 S1 ; Turn the pump to max rpm ; ====================== TOOL SETTINGS ======================= M563 P0 D0 H1 S"Hotend" ; Define hotend tool G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures M207 S0 R0 F3000 T1200 Z0 ; Set default retraction settings ; =================== CALIBRATION SETTINGS =================== M558 P8 F1000 H5 R0.5 T10000 A10 S0.03 C"0.io3.in+0.io3.out" ; Z Probe type 8, input 0, invert no, dive height 5.0mm, probe speed 50000mm/min, travel speed 10000mm/min, recovery time 0.40 sec, heaters normal, max taps 10, max diff 0.03 ;M672 S105:100:155 ; Command to set sensitivity ;M672 S105:75:180 G31 X0 Y0 Z-0.10 P100 ; Set the zprobe height and threshold (more negative values translate into a higher nozzle) M557 R190 P10 ; Define probing mesh grid T0 ; Select hot end M501 ; Load settings from config-override.g
M122 output:
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-9P63L-DJMSS-6JKD0-3S06T-9AF79 Used output buffers: 1 of 40 (15 max) === RTOS === Static ram: 150904 Dynamic ram: 60740 of which 0 recycled Never used RAM 139692, free system stack 127 words Tasks: SBC(ready,100.4%,314) HEAT(notifyWait,4.3%,325) Move(notifyWait,10.5%,246) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,358) CanClock(delaying,2.4%,333) TMC(notifyWait,7.9%,59) MAIN(running,105.2%,186) IDLE(ready,0.1%,29), total 230.9% Owned mutexes: HTTP(MAIN) === Platform === Last reset 284:21:55 ago, cause: power up Last software reset at 2022-02-03 16:52, reason: User, none spinning, available RAM 139908, slot 2 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,37 Step timer max interval 300 MCU temperature: min 30.3, current 39.6, max 47.4 Supply voltage: min 31.9, current 32.1, max 32.3, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0 Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/700/700, gc cycles 1 Driver 0: position 98609, standstill, reads 63189, writes 105 timeouts 0, SG min/max 0/1023 Driver 1: position 100879, standstill, reads 63189, writes 105 timeouts 0, SG min/max 0/1023 Driver 2: position 102640, standstill, reads 63189, writes 105 timeouts 0, SG min/max 0/1023 Driver 3: position 0, standstill, reads 63221, writes 73 timeouts 0, SG min/max 0/1023 Driver 4: position 0, standstill, reads 63284, writes 11 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 63284, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2022-02-20 17:14:30 Slowest loop: 195.60ms; fastest: 0.03ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 596714444ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 69002, completed moves 69002, hiccups 0, stepErrors 0, LaErrors 0, Underruns [2344, 0, 21], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 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, chamberHeaters = -1 -1 -1 -1 Heater 0 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" 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 assembling a command 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 Code queue is empty. === CAN === Messages queued 9213757, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 5118577/0/0 Tx timeouts 0,433,5118576,0,0,4094745 last cancelled message type 30 dest 127 === SBC interface === State: 4, failed transfers: 2, checksum errors: 0 Last transfer: 1ms ago RX/TX seq numbers: 57047/57047 SPI underruns 0, overruns 0 Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.3.0 Code buffer space: 4096 Configured SPI speed: 8000000Hz Full transfers per second: 36.05, max wait times: 35.0ms/0.0ms Codes per second: 0.92 Maximum length of RX/TX data transfers: 5384/1684
-
Nothing mechanical potentially?
-
Hi @phaedrux , I missed your reply. No not mechanical as I did several prints before and many more since, without as much as a hint of a layershift. At the same time I was not able to reproduce the underrun values while printing that file. The layershift did occur again with that file but I have a part now that is 'good enough' so haven't bothered with it to be completely honest.
-