Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    [3.6.0-rc.1] unexpected extruder reversing

    Scheduled Pinned Locked Moved
    Beta Firmware
    1
    2
    77
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • timschneiderundefined
      timschneider
      last edited by timschneider

      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.mp4

      Content 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.gcode

      M122

      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.

      timschneiderundefined 1 Reply Last reply Reply Quote 0
      • timschneiderundefined timschneider referenced this topic
      • timschneiderundefined
        timschneider @timschneider
        last edited by timschneider

        @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 ?!

        e145cb40-69d6-4f90-bf7f-3c0a50598d3f-grafik.png

        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.
        306cf7fc-1b72-489c-83c3-c38fca135bd2-grafik.png

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Unless otherwise noted, all forum content is licensed under CC-BY-SA