Duet 3 drivers quit working
-
Hi.
I am relatively new to 3D printing, but have some experience with building and operating lead screw driven open-source CNC machines. In the last month, I built my first 3D printer with a Duet 3 controller. The printer build and setup went smoothly, as did the calibration steps. For about a week, the printer worked fine, printing multiple, simple jobs each day. About a week after it was fully operational, it was in the middle of a print job and suddenly quit with multiple faults showing on several drivers. Unfortunately, I didn't capture those errors before they were gone. When I began troubleshooting, it became apparent that Drivers 0 and 1 were still operational, while drivers 2-5 were non-functional. I tested all 4 of my steppers on each of the drivers to verify this as well as to verify that it was not a wiring/connection issue. At the time of failure, only Drivers 0, 1, 2, and 3 were in use - Drivers 4 and 5 were disconnected. When I run an M122 Diagnostic, I can't see any errors associated with any of the Drivers, although I admit that I only know what I have read on this forum. So I need help! Anyone have any suggestions for how to move forward? I emailed MatterHackers (where it was purchased) and they suggested I post the situation here to hopefully find a fix or get the board replaced under warranty.The Config.g file is here:
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 20 2021 13:19:17 GMT-0400 (EDT); General preferences
G90
M83
M550 P"Duet 3"; Drives
M569 P0.1 S0
M569 P0.4 S1
M569 P0.5 S0
M569 P0.0 S1
M584 X0.1 Y0.4 Z0.5 E0.0
M350 X16 Y16 Z16 E16 I1
M92 X80.00 Y80.00 Z3000.00 E837.00
M566 X900.00 Y900.00 Z60.00 E120.00
M203 X6000.00 Y6000.00 720.00 E1200.00
M201 X500.00 Y500.00 Z500.00 E250.00
M906 X800 Y800 Z800 E800 I30
M84 S30; Axis Limits
M208 X0 Y0 Z0 S1
M208 X275 Y255 Z285 S0; Endstops
M574 X1 S1 P"io1.in"
M574 Y1 S1 P"io2.in"
M574 Z1 S1 P"io3.in"; Filament Detection
M591 P2 C"io4.in" S1 D0; Z-Probe
M558 P0 H5 F600 T6000
M557 X15:260 Y15:240 S20; Lights
M950 P3 C"out9" Q500
M42 P3 S1; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B3950
M950 H0 C"out0" T0
M307 H0 R0.321 C318.1 D6.15 S1.00 V23.5 B0
M140 H0
M143 H0 S120
M308 S1 P"temp1" Y"thermistor" T100000 B4138
M950 H1 C"out1" T1
M307 H1 R2.333 C200.9 D4.95 S1.00 V23.9 B0
M143 H1 S280; Fans
M950 F0 C"out7" Q500
M106 P0 H0 S1 T45
M950 F1 C"out8" Q500
M106 P1 H-1 S255
M950 F2 C"out6" Q500
M106 P2 H-1 S255; Tools
M563 P0 S"Extruder 1" D0 H1 F0
G10 P0 X0 Y0 Z0
G10 P0 R0 S0; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600
M501The Diagnostic Report is as follows:
5/4/2021, 8:37:57 PM: Connected to 192.168.1.15
5/4/2021, 8:38:11 PM: m122: === Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-956L2-G43S8-6J9FD-3SJ6N-TB06G
Used output buffers: 1 of 40 (10 max)
=== RTOS ===
Static ram: 149788
Dynamic ram: 62812 of which 64 recycled
Never used RAM 146168, free system stack 126 words
Tasks: Linux(blocked,85) HEAT(blocked,297) CanReceiv(blocked,927) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,53) MAIN(running,1190) IDLE(ready,19)
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 11:43:59 ago, cause: power up
Last software reset at 2021-05-03 19:58, reason: User, none spinning, available RAM 146168, slot 2
Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task Linu Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
MCU temperature: min 19.1, current 36.3, max 39.6
Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 11.9, current 12.0, max 12.0, under voltage events: 0
Driver 0: position 0, ok, reads 46899, writes 14 timeouts 0, SG min/max 0/0
Driver 1: position -40400, ok, reads 46894, writes 19 timeouts 0, SG min/max 0/0
Driver 2: position 0, ok, reads 46902, writes 11 timeouts 0, SG min/max 0/0
Driver 3: position 0, ok, reads 46902, writes 11 timeouts 0, SG min/max 0/9
Driver 4: position 0, ok, reads 46895, writes 19 timeouts 0, SG min/max 0/9
Driver 5: position 0, ok, reads 46895, writes 19 timeouts 0, SG min/max 0/9
Date/time: 2021-05-04 20:38:09
Slowest loop: 97.95ms; fastest: 0.04ms
=== 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 7139018ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 10, completed moves 10, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], 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
=== 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 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 sensor: ok
=== CAN ===
Messages queued 168858, send timeouts 380054, received 0, lost 0, longest wait 0ms for reply type 0, free buffers 48
=== SBC interface ===
State: 4, failed transfers: 0
Last transfer: 1ms ago
RX/TX seq numbers: 60269/60269
SPI underruns 0, overruns 0
Number of disconnects: 0, IAP RAM available 0x2c8a8
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.2.2
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 17.93
Maximum length of RX/TX data transfers: 2800/820I can provide more information if it is helpful. I appreciate any help that I can get. Thanks in advance.
Jon
-
@jgassett said in Duet 3 drivers quit working:
M203 X6000.00 Y6000.00 720.00 E1200.00
I guess that '720.00' is the value for Z-axis, but there is no letter 'Z'
Can you try to run M98 P"config.g" on the console to see if any other errors pop up?@jgassett said in Duet 3 drivers quit working:
M584 X0.1 Y0.4 Z0.5 E0.0
Is this the original driver mapping, or did you change it for testing? Anyway, it doesn't match your description about the driver setup.
-
@o_lampe Thanks for the reply. Yes - the drive mapping shown in my original post was the final troubleshooting where I was checking the previously unused drivers 4 and 5, neither of which are working. I switched the mapping back to how it was at the time of the crash and tried to move the motors - with no result. I also corrected the Z omission that you caught before trying again. Finally, I ran an M98 P"config.g" as you suggested. The only error that pops up is one related to a heater that is possibly overpowered (its not). Here is the new config.g
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 20 2021 13:19:17 GMT-0400 (EDT); General preferences
G90
M83
M550 P"Duet 3"; Drives
M569 P0.1 S0
M569 P0.2 S1
M569 P0.3 S0
M569 P0.0 S1
M584 X0.1 Y0.2 Z0.3 E0.0
M350 X16 Y16 Z16 E16 I1
M92 X80.00 Y80.00 Z3000.00 E837.00
M566 X900.00 Y900.00 Z60.00 E120.00
M203 X6000.00 Y6000.00 Z720.00 E1200.00
M201 X500.00 Y500.00 Z500.00 E250.00
M906 X800 Y800 Z800 E800 I30
M84 S30; Axis Limits
M208 X0 Y0 Z0 S1
M208 X275 Y255 Z285 S0; Endstops
M574 X1 S1 P"io1.in"
M574 Y1 S1 P"io2.in"
M574 Z1 S1 P"io3.in"; Filament Detection
M591 P2 C"io4.in" S1 D0; Z-Probe
M558 P0 H5 F600 T6000
M557 X15:260 Y15:240 S20; Lights
M950 P3 C"out9" Q500
M42 P3 S1; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B3950
M950 H0 C"out0" T0
M307 H0 R0.321 C318.1 D6.15 S1.00 V23.5 B0
M140 H0
M143 H0 S120
M308 S1 P"temp1" Y"thermistor" T100000 B4138
M950 H1 C"out1" T1
M307 H1 R2.333 C200.9 D4.95 S1.00 V23.9 B0
M143 H1 S280; Fans
M950 F0 C"out7" Q500
M106 P0 H0 S1 T45
M950 F1 C"out8" Q500
M106 P1 H-1 S255
M950 F2 C"out6" Q500
M106 P2 H-1 S255; Tools
M563 P0 S"Extruder 1" D0 H1 F0
G10 P0 X0 Y0 Z0
G10 P0 R0 S0; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600
M501And here is the new M122 Diagnostic based on those changes:
5/5/2021, 8:05:33 AM: Connected to 192.168.1.15
5/5/2021, 8:05:43 AM: m122: === Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-956L2-G43S8-6J9FD-3SJ6N-TB06G
Used output buffers: 1 of 40 (16 max)
=== RTOS ===
Static ram: 149788
Dynamic ram: 62812 of which 64 recycled
Never used RAM 146168, free system stack 126 words
Tasks: Linux(ready,107) HEAT(blocked,297) CanReceiv(blocked,927) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,53) MAIN(running,1100) IDLE(ready,19)
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:06:54 ago, cause: software
Last software reset at 2021-05-05 07:58, reason: User, none spinning, available RAM 146208, slot 2
Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task Linu Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
MCU temperature: min 36.1, current 36.3, max 36.4
Supply voltage: min 24.0, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 11.9, current 12.0, max 12.0, under voltage events: 0
Driver 0: position 0, ok, reads 41617, writes 0 timeouts 0, SG min/max 0/0
Driver 1: position -40400, ok, reads 41616, writes 0 timeouts 0, SG min/max 0/0
Driver 2: position 0, ok, reads 41616, writes 0 timeouts 0, SG min/max 0/0
Driver 3: position 0, ok, reads 41616, writes 0 timeouts 0, SG min/max 9/9
Driver 4: position 0, ok, reads 41616, writes 0 timeouts 0, SG min/max 9/9
Driver 5: position 0, ok, reads 41616, writes 0 timeouts 0, SG min/max 9/9
Date/time: 2021-05-05 08:05:41
Slowest loop: 0.42ms; fastest: 0.06ms
=== 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 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 10, completed moves 10, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], 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
=== 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 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 sensor: ok
=== CAN ===
Messages queued 122, send timeouts 275, received 0, lost 0, longest wait 0ms for reply type 0, free buffers 47
=== SBC interface ===
State: 4, failed transfers: 0
Last transfer: 1ms ago
RX/TX seq numbers: 14534/14534
SPI underruns 0, overruns 0
Number of disconnects: 0, IAP RAM available 0x2c8a8
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.2.2
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 35.12
Maximum length of RX/TX data transfers: 3868/796 -
With the drivers configured and the motors connected are you getting any error messages now when you try and drive them? It sounds like the drivers have failed, but would expect to see some error messages to that effect if that was the case.
-
@phaedrux No. Drivers 0, 1, 2, and 3 are configured to drive my axes and extruder. I tried to move them all before printing the last M122 Diagnostic report in my original post. Interestingly (or not) when I execute a "Home All" command, the X homes immediately, the Z indicates homed after about 5 minutes (although the axis never moves, and the DWC indicates the Y axis is trying to home, but it never does. After a bit, it tells me that the Y axis has not homed. I have already tested Drivers 4 and 5 as well (the original M122 in my post) even though I have never used them. It appears that Drivers 2-5 failed in mid-print with a "fault to ground error" but they are now non-functional and I can't reproduce that error.
-
When and where did you purchase the Duet?
-
@phaedrux I also forgot to mention earlier that I am using a SBC setup with a Raspberry Pi 3. I can't see how this could cause the problem, but I wanted to make sure everyone had all the information.
-
@phaedrux MatterHackers in February of this year. Receipt attached.
-
Thanks. Please update Matterhackers and let them know we have authorized a warranty replacement. Please include a link to this forum thread as authorization.
-
@phaedrux Thank you!