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

Duet 6HC randomly crashing

Scheduled Pinned Locked Moved
Duet Hardware and wiring
2
6
273
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.
  • undefined
    agmeadows
    last edited by 3 Apr 2023, 15:15

    My Duet 6HC has been randomly crashing. It ran great for a couple of years but about 6 months ago started crashing randomly. I though it was my smart outlet I used to turn it off and on. I removed that and it seemed to resolve the issue. Unfortunately, it started crashing again. Here is what I have done recently:

    • Updated the firmware to 3.4.5
    • Enclosed the printer so the chamber can be heated (passively by bed only)

    Here is the latest diagnostic output:

    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.4.5 (2022-11-30 19:35:23) running on Duet 3 MB6HC v1.01 (standalone mode)
    Board ID: 08DJM-956BA-NA3TJ-6JTD8-3SJ6J-1UA2U
    Used output buffers: 3 of 40 (36 max)
    === RTOS ===
    Static ram: 152760
    Dynamic ram: 97584 of which 76 recycled
    Never used RAM 100252, free system stack 204 words
    Tasks: NETWORK(ready,29.3%,230) ETHERNET(notifyWait,0.1%,443) HEAT(notifyWait,0.0%,322) Move(notifyWait,0.0%,351) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,336) CanClock(delaying,0.0%,333) TMC(notifyWait,8.0%,91) MAIN(running,62.6%,925) IDLE(ready,0.0%,30), total 100.0%
    Owned mutexes:
    === Platform ===
    Last reset 00:12:40 ago, cause: software
    Last software reset at 2023-04-03 10:46, reason: MemoryProtectionFault mmarValid daccViol, FilamentSensors spinning, available RAM 95728, slot 1
    Software reset code 0x416d HFSR 0x00000000 CFSR 0x00000082 ICSR 0x00427804 BFAR 0x00000018 SP 0x2041b5d0 Task MAIN Freestk 1724 ok
    Stack: 2041b648 00000000 00000001 2041b6a0 00000000 00471029 00471632 210f0000 00000000 2042474c 2042aa60 00472589 00000000 00488ee7 00000000 00000000 204305a8 2041b648 000000fb 0047295d 00000005 204305a8 204305a8 00472941 204305a8 004716fb 00000000
    Error status: 0x00
    Step timer max interval 128
    MCU temperature: min 37.1, current 40.1, max 40.3
    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 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
    Events: 0 queued, 0 completed
    Driver 0: standstill, SG min 0, mspos 24, reads 26789, writes 15 timeouts 0
    Driver 1: standstill, SG min 0, mspos 600, reads 26789, writes 15 timeouts 0
    Driver 2: standstill, SG min 0, mspos 152, reads 26790, writes 15 timeouts 0
    Driver 3: standstill, SG min 0, mspos 328, reads 26790, writes 15 timeouts 0
    Driver 4: standstill, SG min 0, mspos 376, reads 26790, writes 15 timeouts 0
    Driver 5: standstill, SG min 0, mspos 264, reads 26790, writes 15 timeouts 0
    Date/time: 2023-04-03 10:59:36
    Slowest loop: 3.98ms; fastest: 0.06ms
    === Storage ===
    Free file entries: 10
    SD card 0 detected, interface speed: 25.0MBytes/sec
    SD card longest read time 2.4ms, write time 0.0ms, max retries 0
    === Move ===
    DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === AuxDDARing ===
    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 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Movement lock held by 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
    Code queue is empty
    === Filament sensors ===
    Extruder 0: pos 2.84, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
    === CAN ===
    Messages queued 6842, received 0, lost 0, boc 0
    Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 3802/0/0
    Tx timeouts 0,0,3801,0,0,3039 last cancelled message type 30 dest 127
    === Network ===
    Slowest loop: 21.81ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 3 of 8
    = Ethernet =
    State: active
    Error counts: 0 0 0 1 0 0
    Socket states: 5 2 2 2 2 0 0 0
    === Multicast handler ===
    Responder is inactive, messages received 0, responses 0

    I used M98 to verify the config.g file and there are warnings for max bed temp but no errors. Here is my config.g file:

    M552 P0.0.0.0 S1
    G21 ;Work in millimetres
    G90 ;Send absolute coordinates...
    M83 ;...but relative extruder moves
    ; Stepper configuration
    M569 P0 S1 D3 ;Drive 0 X / Rear
    M569 P1 S0 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 X2000 Y2000 Z1200 E1200 I10 ;Set motor currents (mA)
    ; Fully commissioned speeds.
    M201 X3000 Y8000 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
    ;M201 X6000 Y6000 Z100 E800 ;Accelerations (mm/s^2)
    ;M203 X24000 Y24000 Z900 E7200 ;Maximum speeds (mm/min)
    ;M566 X1000 Y1000 Z100 E300 P1 ;Maximum jerk speeds mm/minute
    M208 X300 Y290 Z300 ;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 Y201 Z1600 E696 ;Orbiter ;steps/mm
    ;M92 X200 Y201 Z1600 E835 ;Bowden
    ;Mesh leveling
    M557 X80.0:280.0 Y60.0:280.0 S60
    ; 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:200 E3.0 S0 A1 L0.406; Duet3D laser sensor for extruder drive 0, connected to IO 5, tolerance 60 to 200%, 3mm comparison length, disabled
    ; Thermistors
    M308 S2 P"temp3" Y"thermistor" A"heatsink_temp" T100000 B3950
    M308 S0 P"temp2" Y"thermistor" A"plate_heat" T100000 B3950 H0 L0 ;Plate thermistor - connected to temp2
    M308 S1 P"temp1" Y"thermistor" A"e0_heat" T100000 B4725 C7.06e-8 H0 L0 ;E3D thermistor - connected to e0_heat
    ;Define Heaters
    M950 H0 C"out0" T0 ;Bed heater is on out0
    M950 H1 C"out1" T1 ;Hotend heater is on out1
    ;Define Bed
    M140 H0
    M307 H0 R0.394 K0.158:0.000 D13.55 E1.35 S1.00 B0 ;Bed Duet 3 configuration
    M307 H1 R3.039 K0.399:0.000 D3.49 E1.35 S1.00 B0 V23.8 ;Phaetus Hotend Duet 3 configuration
    ;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 S360 ;Hot end may be a little slow to heat up so allow it 180 seconds
    M143 S285 ;Set max hotend temperature
    ; Fans
    M950 F0 C"out6" Q100 ;Layer fan on "out6" connector
    M106 P0 S0 H-1 C"Part Fan" ;Layer fan
    M950 F1 C"!out4+out4.tach" Q250 ;Hotend fan on "out4" connector with PWM
    M106 P1 S0 H-1 C"Hotend Fan" ;M106 P1 S255 H1 T50 "Hotend Fan" ;enable thermostatic mode for hotend fan
    ;M950 F2 C"out4" Q100 ;Extruder fan on "out4" connector
    ;M106 P2 S0 H-1 C"Extruder Fan" ;Extruder fan
    ; Accelerometer
    M955 P0 C"spi.cs3+spi.cs2" ; all wires connected to temp DB connector
    ; Input Shaping
    M593 P"mzv" F70
    ; 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.01 ; set extruder 0 pressure advance to 0.01 seconds
    ; Euclid
    M558 P5 C"^io7.in" H5 F200 T20000
    ; Tip: A larger trigger height in G31 moves you CLOSER to the bed
    G31 X0 Y40 Z3.0 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

    I am not sure what is going on and any help would be much appreciated

    undefined 1 Reply Last reply 3 Apr 2023, 15:50 Reply Quote 0
    • undefined
      dc42 administrators @agmeadows
      last edited by 3 Apr 2023, 15:50

      @agmeadows if the crashes are truly random then the most likely cause is electrostatic discharge between the hot end metalwork and the hot end temperature sensor, which occurs when extrusion causes static build-up on the hot end. The fix is to ground the hot end metalwork to Duet ground, either directly to the ground VIN terminal, or via a resistor (e.g. 100K) to any Duet ground connection. The resistor is to protect the Duet in case of a short between the hot end heater and the hot end metalwork, which can happen if the heater cartridge develops a fault.

      However, the M122 report you posted does not appear to me to be typical of random crashes caused by ESD; so if you get continued random crashes then please post M122 reports taken after each crash so that I can see if there is a pattern.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      undefined 2 Replies Last reply 3 Apr 2023, 22:07 Reply Quote 0
      • undefined
        agmeadows @dc42
        last edited by 3 Apr 2023, 22:07

        @dc42 Thank you for the information. ESD sounds like it might be the culprit. I switch my build plate to a PEI sheet yesterday and that may be a contributing factor. I was using Gekotek sheets for a while and never had an issue. I have made sure the nozzle now has continuity to ground and am testing now.

        Are you aware of any other ways to insulate from static, specifically the temperature sensor? Having one more wire run in an already full loom is less than ideal. Also, the hotend is coated so getting a good connection is difficult.

        1 Reply Last reply Reply Quote 0
        • undefined
          agmeadows @dc42
          last edited by 5 Apr 2023, 17:06

          @dc42 running a dedicated grounding wire seems to have solved the problem. Do you have suggestions for other methods to ground the hot end or to isolate the sensor? Maybe how to integrate an ESD protection circuit with the sensor?

          undefined 1 Reply Last reply 5 Apr 2023, 18:29 Reply Quote 0
          • undefined
            dc42 administrators @agmeadows
            last edited by 5 Apr 2023, 18:29

            @agmeadows where no ground connection is readily available at the hot end, a high value resistor (e.g. 100K) between the hot end metalwork and the VSSA side of the sensor can be used.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            undefined 1 Reply Last reply 5 Apr 2023, 21:14 Reply Quote 0
            • undefined
              agmeadows @dc42
              last edited by 5 Apr 2023, 21:14

              @dc42 turns out I spoke too soon... The printer crashed again midway into a print. I made changes to the way I ran the wire and am testing again. Here is the log:

              === Diagnostics ===
              RepRapFirmware for Duet 3 MB6HC version 3.4.5 (2022-11-30 19:35:23) running on Duet 3 MB6HC v1.01 (standalone mode)
              Board ID: 08DJM-956BA-NA3TJ-6JTD8-3SJ6J-1UA2U
              Used output buffers: 3 of 40 (22 max)
              === RTOS ===
              Static ram: 152760
              Dynamic ram: 97584 of which 76 recycled
              Never used RAM 100252, free system stack 204 words
              Tasks: NETWORK(ready,151.5%,230) ETHERNET(notifyWait,0.3%,401) HEAT(notifyWait,0.1%,322) Move(notifyWait,0.0%,351) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,336) CanClock(delaying,0.1%,333) TMC(notifyWait,41.6%,91) MAIN(running,325.0%,925) IDLE(ready,0.0%,30), total 518.5%
              Owned mutexes:
              === Platform ===
              Last reset 01:58:14 ago, cause: software
              Last software reset at 2023-04-05 14:10, reason: MemoryProtectionFault mmarValid daccViol, Platform spinning, available RAM 95836, slot 2
              Software reset code 0x4160 HFSR 0x00000000 CFSR 0x00000082 ICSR 0x00427804 BFAR 0x61c30f6c SP 0x2041b608 Task MAIN Freestk 1738 ok
              Stack: 00000000 00000000 9e3cf497 00000000 0000036c 00476159 00474eae 21000000 00000000 204194f4 20419a84 8100001b 00493838 2042474c 00000000 00000000 00000000 00000000 20430238 00000000 20430b84 00000000 00000189 00476159 20430b3c 00474ebf 07ef5235
              Error status: 0x00
              Step timer max interval 130
              MCU temperature: min 36.6, current 37.3, max 40.0
              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.1, under voltage events: 0
              Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
              Events: 0 queued, 0 completed
              Driver 0: standstill, SG min 0, mspos 8, reads 15072, writes 15 timeouts 0
              Driver 1: standstill, SG min 0, mspos 568, reads 15073, writes 15 timeouts 0
              Driver 2: standstill, SG min 0, mspos 184, reads 15073, writes 15 timeouts 0
              Driver 3: standstill, SG min 0, mspos 696, reads 15073, writes 15 timeouts 0
              Driver 4: standstill, SG min 0, mspos 616, reads 15073, writes 15 timeouts 0
              Driver 5: standstill, SG min 0, mspos 344, reads 15073, writes 15 timeouts 0
              Date/time: 2023-04-05 16:08:30
              Slowest loop: 4.58ms; fastest: 0.06ms
              === Storage ===
              Free file entries: 10
              SD card 0 detected, interface speed: 25.0MBytes/sec
              SD card longest read time 2.3ms, write time 0.0ms, max retries 0
              === Move ===
              DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
              === MainDDARing ===
              Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
              === AuxDDARing ===
              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 1 is on, I-accum = 0.0
              === GCodes ===
              Segments left: 0
              Movement lock held by 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
              Code queue is empty
              === Filament sensors ===
              Extruder 0: pos -6.54, errs: frame 5 parity 0 ovrun 0 pol 0 ovdue 0
              === CAN ===
              Messages queued 63853, received 0, lost 0, boc 0
              Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 35475/0/0
              Tx timeouts 0,0,35474,0,0,28377 last cancelled message type 30 dest 127
              === Network ===
              Slowest loop: 2.77ms; fastest: 0.03ms
              Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
              HTTP sessions: 2 of 8
              = Ethernet =
              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

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