[3.6.0-rc.1] unexpected extruder reversing
-
Hi duet3d,
I encountered the following while printing.
The extruder is reversing mid move. Input shaping and pressure advance is disabled.Machine:
- Duet 3 MB6HC
- Duet 3 Expansion EXP1HCL running closed loop
- Duet 3 Expansion EXP1HCL running closed loop
- SBC setup
- CoreXY
2025-03-08-10-51-22-702(1).mp4
HQ from the reversing
2025-03-08-10-51-22-702_trim.mp4Content of config.g
; Configuration file for Duet 3 ; executed by the firmware on start-up ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Meltingplot-MBL-480-vaswsq" ; set printer name M669 K1 S2 T1 ; select CoreXY mode M551 P"reprap" ; set password ; Drives ;M569 P0 S0 ; physical drive 0 goes forwards (x - front) ;M569 P1 S1 ; physical drive 1 goes backwards (y - rear) M569 P2 S0 ; physical drive 2 goes forwards (left) M569 P3 S0 ; physical drive 3 goes forwards (rear right) M569 P4 S0 ; physical drive 4 goes forwards (front right) M569 P5 S1 ; physical drive 5 goes forwards (extruder) G4 S5 ; wait for expansion boards M569.1 P50.0 T3 E2.0:4.0 S200 R210 I1500 D0.04 V600 A300000 H0.3 ; Configure the Duet 3 Expansion 1HCL board at CAN address 50 with a Duet 3 magnetic encoder, warn if 1 fullstep threshold exceeded, error if 2 full steps threshold exceeded. M569 P50.0 D4 S0 ; Configure the motor on the Duet 3 Expansion 1HCL controller at can address 50 as being in closed-loop drive mode (D4) and reversed (S0) M569.1 P51.0 T3 E2.0:4.0 S200 R210 I1500 D0.04 V600 A250000 H0.3 ; Configure the Duet 3 Expansion 1HCL board at CAN address 50 with a Duet 3 magnetic encoder, warn if 1 fullstep threshold exceeded, error if 2 full steps threshold exceeded. M569 P51.0 D4 S1 ; Configure the motor on the Duet 3 Expansion 1HCL controller at can address 51 as being in closed-loop drive mode (D4) and not reversed (S1) M584 X50.0 Y51.0 Z2:3:4 E5 ; set drive mapping M350 E16 I1 ; configure microstepping with interpolation M350 Z16 I1 ; configure microstepping with interpolation M350 X16 Y16 I1 ; configure microstepping without interpolation M92 X80 Y80 Z400 E807.5 ; set steps per mm M566 X600.0 Y600.0 Z12.00 E480.00 P1 ; set maximum instantaneous speed changes (mm/min) and apply jerk on every move M593 P"zvddd" F40 ; cancle ringing at 40Hz M203 X18000.00 Y18000.00 Z1200.00 E3600.00 ; set maximum speeds (mm/min) M201 X4000.00 Y4000.00 Z70.00 E3500.00 ; set accelerations (mm/s^2) M204 P1500 T4000 ; Set printing and travel accelerations M906 X2200 Y2200 Z1500 E1800 I50 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M917 X0 Y0 ; set idle current to zero ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X851 Y405 Z1396 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io5.in" ; configure active-high endstop for low end on X via pin io5.in M574 Y2 S1 P"io6.in" ; configure active-high endstop for high end on Y via pin io6.in M574 Z2 S4 ; configure sensorless endstop on high end of Z ; Led M950 P0 C"out3" ; Configure P0 as output for LED Strip M42 P0 S0.25 ; Set LEDs to 25% ; ATX PS_ON ; M80 enable ATX power ; M81 disable ATX power ; our PSU uses an inverted PS_ON logic M80 C"!pson" ; inverts the PS_ON output ; Heaters M950 H0 C"nil" M950 H1 C"nil" ; Bed Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4598 C8.68e-08 A"bed" ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out7" T0 Q10 ; create bed heater output on duex.fan3 and map it to sensor 0 and set PWM 10Hz M307 H0 A65.4 C210.5 D1.0 S1.00 V24.4 B0 ; disable bang-bang mode for the left bed heater and set PWM limit M140 P0 H0 ; map heater0 to bed M143 H0 S120 ; set temperature limit for heater 0 to 120C M570 H0 P5 T10 S10 ; Enable heater fault detection (Trigger Time 5sec, temp deviation 10°, cancel print after 10min) ; Hotend M308 S2 P"spi.cs0" Y"rtd-max31865" A"hotend" ; configure sensor 2 as rtd PT100 on pin spi.cs0 M950 H1 C"out1" T2 ; create nozzle heater output on out1 and map it to sensor 2 M143 H1 S350 ; set temperature limit for heater 2 to 350C M307 H1 A323.8 C188.4 D4.9 S1.00 V24.3 B0 ; disable bang-bang mode for the nozzle heater and set PWM limit M570 H1 P20 T25 S10 ; Enable heater fault detection (Trigger Time 10sec, temp deviation 15°, cancel print after 10min) M308 S3 Y"mcu-temp" A"mcu-temp" ; configure sensor 3 as temp sens for the mcu ; Fans M950 F0 C"out5" Q250 ; create fan 0 (cooling fan) on pin out5 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out4" Q250 ; create fan 1 (radiator fan) on pin out4 and set its frequency M106 P1 H2 T45 L1.0 X1.0 B0.0 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"out9" Q250 ; create fan 2 (duet internal fan) on pin out6 and set its frequency M106 P2 S1 H3 T30:40 L0.35 X1.0 B0.25 ; set fan 2 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Z-Probe M558 P8 C"io1.in" H6 F240 T14400 A3 ; set Z probe type to unfiltered digital and the dive height + speeds probe every point three times G31 P500 X8.6 Y25.5 Z2.0 T0.00118 S87.5 H0 ; set Z probe trigger value, offset and trigger height, try to set it to whole number of x/8mm pitch/200 steps-rev / 16 micro-step M557 X{sensors.probes[0].offsets[0],move.axes[0].max-sensors.probes[0].offsets[0]} Y{sensors.probes[0].offsets[1],move.axes[1].max-sensors.probes[0].offsets[1]} P18:8 ; define mesh grid M376 H15 ; taper out z correction over 10mm height M915 X Y S8 F0 R3 H200 ; configure stall detection on X and Y without Filter (1 Full Steps) ; and min 200 steps/sec (40mm/sec) (concider motor current 1A) and execute rehome.g on stall M915 Z S4 F0 R0 ; configure stall detection on Z for sensor less homing M404 N2.85 M200 D2.85 S0 ; set filament diameter to 2.85mm ;M200 D0 ; disable volumetric extrusion cause its faulty in firmware M207 S1.0 R0.0 F1620 T840 Z0.1 ; Use Firmware retract with 1.0mm retract, 0.0mm additional unretract at retract 1620 mm/min, 840 unretract and 0.1 Z-Lift M911 S23.4 R23.8 P"M913 X0 Y0 Z10 E10 G91 M83 G1 Z390 E-20 F1500" ; configure power safe mode M671 X-150.0:915.0:915.0 Y208.5:373.5:43.5 S10 ; Z leadscrews are at (-150,215.5), (915,50.5) and (915,380.5) M572 D0 S0.035 ; set pressure advance M592 D0 A0.00 B0.0112 L0.2 ; non linear extrusion ; Miscellaneous M501 ; load saved parameters from non-volatile memory G31 T0.00118 S87.5 H0 ; temp coefficent and calib temp are not stored in override M929 P"0:/sys/eventlog.log" S2 ; Enable Event Logging ;M111 P16 S1 ; enable debug for sbc interface M98 P"0:/sys/meltingplot/machine-override" ; Load Machine specific overrides M98 P"0:/sys/meltingplot/ce-declaration" ; Load CE Requirements M906 X1900 Y1900 Z2000 E1800 I50 ; override default M98 P"0:/sys/meltingplot/globals" ; Load Global Variables
content of
0:/sys/meltingplot/machine-override
; Put Machine specific overried in this file, e.g. rotation direction of specific stepper motor ; this files is loaded from config.g ; enable, if your printer is equippted with an rotary filament monitor M591 P3 C"io3.in" S1 D0 R60:180 E5 L25.3; filament monitor connected to io3.in endstop M309 P0 S0.05 ; heater feedforward compensation M569 P5 S0 ; physical drive 5 goes forwards (extruder) wiring on MBL 460 is different M350 E32 ; 32 microsteps on 1.8° motor M906 E1600 ; 2.0A OMC 1.8° Stepper 80% 1.6A M92 E740 ; reset e-steps
content of
0:/sys/meltingplot/ce-declaration
; THIS FILE CONTAINS CE RELEVANT CONFIGURATIONS, ANY CHANGES TO THIS FILE MAY RESULT IN A LOST OF THE CE DECLARATION M203 Z1200.00 ; set maximum speeds (mm/min) ;M204 P800 T1250 ; Set printing and travel accelerations ;M906 X1500 Y1500 Z2000 E1300 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M950 J0 C"^io4.in" ; create e-stop M950 J1 C"^io4.out" ; create second e-stop channel M581 T2 P0:1 S1 R0 ; configure E0 as emergency stop M950 J2 C"^io7.in" ; create doorswitch #1 M950 J3 C"^io8.in" ; create doorswitch #2 M581 T3 P2:3 S1 R0 ; configure E1 as door switch (door closed) M581 T4 P2:3 S0 R0 ; configure E1 as door switch (door opened) ; T5 is used to resume paused printing M950 P3 C"out8" ; Configure P3 as output for 230V Relais M42 P3 S0 ; Disable 230V Relais by default M913 X1 Y1 Z1 ; reduce motor currents to 1% ;M117 "Enable E-Stop Check in Production! Go to /sys/meltingplot/ce-declaration and enable M582" ;M582 T2 ; check external e-stop, break if already hit M913 X100 Y100 Z100 ; revert motor currents to 100% M42 P3 S1 ; Enable 230V Relais M582 T4 ; check door switch
content of
0:/sys/meltingplot/globals
global bed_aligned = false global bed_aligned_since = 0 global event_driver_stall = false global resume_deferred = 0 global clearanceHeight = move.axes[2].max global ignoreMFMevents = false
Content of
0:/filaments/Meltingplot PA6 CF HT 0.8mm/config.g
M207 S0.4 R0.01 F600 T600 Z0 ; retraction M592 D0 A-0.0075 B0.006 L0.2 ; non linear extrusion M572 D0 S0.025 ; pressure advance M92 E746 ; e-step M906 E2000 ; increase motor current M309 P0 S0.03 T4 ; heater feed forward if fileexists({"0:/filaments/" ^ {move.extruders[0].filament} ^ "/config-auto-esteps.g"}) M98 P{"0:/filaments/" ^ {move.extruders[0].filament} ^ "/config-auto-esteps.g"} if fileexists({"0:/filaments/" ^ {move.extruders[0].filament} ^ "/config-auto-nle.g"}) M98 P{"0:/filaments/" ^ {move.extruders[0].filament} ^ "/config-auto-nle.g"} M572 D0 S0 ; disable PA M593 P"none" ; disable IS
G-Code File:
The clong sond is predominand at Z=3.8 the internal bridge infill layer.
T013_ACM_Angle v1_L0.3mm_N0.8_NYLON_MBL480_2h12m.gcodeM122
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.6.0-rc.1 (2025-02-28 15:00:13) running on Duet 3 MB6HC v1.02 or 1.02a (SBC mode) Board ID: 08DJM-9P63L-DJ3T8-6JKD4-3SJ6K-9A77A Used output buffers: 1 of 40 (17 max) Error in macro line 29 while starting up: M584: Driver 50.0 does not exist Driver 51.0 does not exist === RTOS === Static ram: 137420 Dynamic ram: 98044 of which 3056 recycled Never used RAM 105536, free system stack 180 words Tasks: LASER(5,nWait 7,0.0%,269) SBC(2,nWait 7,0.9%,725) HEAT(3,nWait 6,0.0%,323) Move(4,nWait 6,0.0%,321) TMC(4,nWait 6,3.0%,375) CanReceiv(6,nWait 1,0.0%,814) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,353) MAIN(1,running,96.0%,101) IDLE(0,ready,0.1%,29) USBD(3,blocked,0.0%,144), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:23:49 ago, cause: software Last software reset at 2025-03-07 10:30, reason: WatchdogTimeout, Gcodes spinning, available RAM 88356, slot 1 Software reset code 0x00a3 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x1440e04f BFAR 0x00000000 SP 0x2045ffa8 Task MAIN Freestk 78286 ok Stack: fff53239 0000fb30 0000fb30 0000fb30 fb25d7b2 00000000 0044b540 a1080027 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff === Storage === Free file entries: 20 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 === Segments created 0, maxWait 0ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00 Pos req/act/dcf: 0.00/0/0.00 0.00/0/0.00 0.00/0/0.00 Next step interrupt due in 76 ticks, disabled Driver 0: standstill, SG min n/a, mspos 8, reads 40982, writes 11 timeouts 0 Driver 1: standstill, SG min n/a, mspos 8, reads 40982, writes 11 timeouts 0 Driver 2: standstill, SG min n/a, mspos 232, reads 40969, writes 24 timeouts 0 Driver 3: standstill, SG min n/a, mspos 888, reads 40970, writes 24 timeouts 0 Driver 4: standstill, SG min n/a, mspos 232, reads 40970, writes 24 timeouts 0 Driver 5: standstill, SG min n/a, mspos 52, reads 40972, writes 22 timeouts 0 Phase step loop runtime (us): min=0, max=18, frequency (Hz): min=1923, max=2083 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1 -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, 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 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 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 === Filament sensors === Driver 31: pos 2200.08, errs: frame 10343 parity 0 ovrun 0 pol 0 ovdue 0 === CAN === Messages queued 12474, received 22878, lost 0, ignored 0, errs 0, boc 0 Longest wait 246ms for reply type 6041, peak Tx sync delay 369, free buffers 50 (min 49), ts 6776/6775/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 49541/55164 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x27a68 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.6.0-rc.1 (2025-03-03 12:11:46, 32-bit) HTTP+Executed: > Executing M122 Daemon+ProcessInternally: >> Macro daemon.g: Executing var upTime = state.upTime Daemon: >> Doing macro daemon.g, started by system Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 1 Full transfers per second: 38.74, max time between full transfers: 1520.4ms, max pin wait times: 966.8ms/15.1ms Codes per second: 6.71 Maximum length of RX/TX data transfers: 4588/1612
This thread is a split of https://forum.duet3d.com/topic/37477/3-6-0-beta-4-sbc-watchdogtimeout-bad-header-0xff/5?_=1741598411279 as it is maybe missleading - the other thread is concerning the ESD Watchdog Timeout event.
-
undefined timschneider referenced this topic
-
@timschneider
maybe its just extruder skipping. I downgraded the unit to 3.5.4 and reprint the file - same clong sound in z=3.8 and PA and IS enabled. strange at that slow flow rate ... and without beeing noticed by the filament monitor ?!flowrate is just about 3-4 mm³/s, while the rest of the print is upto 20 mm³/s and there is no such clong sound.