BNIB duet 3 short to ground on multiple drivers
-
I just purchased my second duet 3 and received it today. When I went to install/configure the board I ran into multiple short to ground faults on drivers 0 2. I then tested all the other drivers and received short to ground faults on all other drivers except driver 1.
I've run multiple diagnostics but I am out of ideas, so please let me know your thoughts or if there is some other way I should test things.
Things I've done:
-
Updated firmware to current 3.1.1
-
Tested nema17 motor and cabling for correct pin configuration with multimeter (A1,A2,B1,B2), and tested motor on a free driver port of another duet 3 with success. Motor and wiring is good.
-
Visually inspected board and found no solder shorts, scorch marks or other indication of a visible short on either side of the board.
-
Tested power supply with multimeter, reads 24.1v. Tested board with 2nd power supply just in case.
-
Tested board with no nema17 motor attached, still received "short to ground" errors
-
Tested with microstepping on and off. No change. Stealthchop was never enabled.
-
Oddly I can't get the drivers to report a temperature. MCU reports temp fine but drivers report a temp of 0c. Examined board and drivers with an infrared thermometer and got between 32 and 36c.
-
While I don't think its a config.g issue, I set up a new config.g with only an x axis to test drivers one at a time (with power down when unplugging motors).
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; GENERAL PREFERENCES G90 ; send absolute coordinates... M83 ; ...but relative extruder moves G21 ; Work in millimetres M555 P2 ; Set firmware compatibility to look like Marlin ; set machine name & networking M550 P"Duet 3" ; set printer name M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; printer type M669 K0 ; select cartesian mode ; DRIVE DIRECTION/ORIENTATION M569 P0.0 S0 ; X physical drive 0.0 goes backwards ; STEPPER MOTOR SETTINGS M584 X0.0 ; set drive mapping ; microsteppings M350 X16 ; configure microstepping with interpolation, 1/16 enabled ; axis limits M208 X-35:328.5 ; set axis minima:maxima ; extruder steps M92 X100 ; set steps per mm ; accelerations/jerk M566 X600 ; set maximum instantaneous speed changes (mm/min) M203 X14400 ;set maximum speeds (mm/min) M201 X3000 ; set accelerations (mm/s^2) M906 X1340 ; set motor currents (mA) and motor idle factor in per cent M84 S120 ; Set idle timeout ; MISC SETTINGS M593 F50 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) ;M376 H15 ; bed compensation taper over 15mm M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory i.e. config-override.g
Setup for testing:
-
SBC mode with raspberry pi 4
-
motor attached (verified wiring) to appropriate driver. LDO 1.68a motor driven at 1340mah i.e.~80%.
-
Only config commands changed were M569 P0.D, and M584 X0.D (with D being the driver tested).
-
Only commands issued after start up were M564 H0 to allow movement without homing, and G1 X100 F10000
M122 report after start up
M122 M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6JTDJ-3SJ6K-980AG Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 154604 Dynamic ram: 161360 of which 52 recycled Exception stack ram used: 224 Never used ram: 76976 Tasks: NETWORK(ready,1980) HEAT(blocked,1416) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1436) TMC(blocked,204) MAIN(running,4952) IDLE(ready,76) Owned mutexes: === Platform === Last reset 00:00:47 ago, cause: software Last software reset at 2020-07-29 01:03, reason: User, spinning module LinuxInterface, available RAM 76000 bytes (slot 1) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 32.1, current 32.2, max 32.5 Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Driver 0: standstill, reads 37420, writes 12 timeouts 0, SG min/max 0/0 Driver 1: standstill, reads 37422, writes 11 timeouts 0, SG min/max 0/0 Driver 2: standstill, reads 37422, writes 11 timeouts 0, SG min/max 0/0 Driver 3: standstill, reads 37422, writes 11 timeouts 0, SG min/max 0/0 Driver 4: standstill, reads 37423, writes 11 timeouts 0, SG min/max 0/0 Driver 5: standstill, reads 37423, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2020-07-29 01:04:27 Slowest loop: 3.70ms; fastest: 0.14ms === 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 === Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = -1 -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 ready with "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. === Network === Slowest loop: 1.49ms; fastest: 0.01ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 0 of 8 - Ethernet - State: disabled Error counts: 0 0 0 0 0 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages sent 0, longest wait 0ms for type 0 === Linux interface === State: 0, failed transfers: 0 Last transfer: 18ms ago RX/TX seq numbers: 1288/1290 SPI underruns 0, overruns 0 Number of disconnects: 0 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.1.1 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 31.02
M122 report (truncated to motor section) when testing driver 0
MCU temperature: min 32.9, current 33.1, max 33.2 Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.2, under voltage events: 0 Driver 0: short-to-ground standstill, reads 30562, writes 0 timeouts 0, SG min/max not available Driver 1: standstill, reads 30562, writes 0 timeouts 0, SG min/max not available Driver 2: standstill, reads 30562, writes 0 timeouts 0, SG min/max not available Driver 3: standstill, reads 30562, writes 0 timeouts 0, SG min/max not available Driver 4: standstill, reads 30562, writes 0 timeouts 0, SG min/max not available Driver 5: standstill, reads 30562, writes 0 timeouts 0, SG min/max not available
M122 report (truncated to motor section) when testing driver 1
Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.2, under voltage events: 0 Driver 0: standstill, reads 58042, writes 0 timeouts 0, SG min/max not available Driver 1: standstill, reads 58039, writes 3 timeouts 0, SG min/max 0/40 Driver 2: standstill, reads 58042, writes 0 timeouts 0, SG min/max not available Driver 3: standstill, reads 58042, writes 0 timeouts 0, SG min/max not available Driver 4: standstill, reads 58042, writes 0 timeouts 0, SG min/max not available Driver 5: standstill, reads 58042, writes 0 timeouts 0, SG min/max not available
M122 report (truncated to motor section) when testing driver 2
Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.2, under voltage events: 0 Driver 0: standstill, reads 37285, writes 0 timeouts 0, SG min/max not available Driver 1: standstill, reads 37285, writes 0 timeouts 0, SG min/max not available Driver 2: short-to-ground standstill, reads 37282, writes 3 timeouts 0, SG min/max 0/9 Driver 3: standstill, reads 37285, writes 0 timeouts 0, SG min/max not available Driver 4: standstill, reads 37286, writes 0 timeouts 0, SG min/max not available Driver 5: standstill, reads 37285, writes 0 timeouts 0, SG min/max not available
M122 report (truncated to motor section) when testing driver 3
MCU temperature: min 34.2, current 34.3, max 34.5 Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.2, under voltage events: 0 Driver 0: standstill, reads 17689, writes 0 timeouts 0, SG min/max not available Driver 1: standstill, reads 17690, writes 0 timeouts 0, SG min/max not available Driver 2: standstill, reads 17689, writes 0 timeouts 0, SG min/max not available Driver 3: short-to-ground, reads 17686, writes 3 timeouts 0, SG min/max 0/8 Driver 4: standstill, reads 17689, writes 0 timeouts 0, SG min/max not available Driver 5: standstill, reads 17689, writes 0 timeouts 0, SG min/max not available
M122 report (truncated to motor section) when testing driver 4
Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.2, under voltage events: 0 Driver 0: standstill, reads 47364, writes 0 timeouts 0, SG min/max not available Driver 1: standstill, reads 47365, writes 0 timeouts 0, SG min/max not available Driver 2: standstill, reads 47364, writes 0 timeouts 0, SG min/max not available Driver 3: standstill, reads 47364, writes 0 timeouts 0, SG min/max not available Driver 4: short-to-ground, reads 47361, writes 3 timeouts 0, SG min/max 0/67 Driver 5: standstill, reads 47364, writes 0 timeouts 0, SG min/max not available
M122 report (truncated to motor section) when testing driver 5
MCU temperature: min 34.3, current 34.3, max 34.5 Supply voltage: min 24.1, current 24.1, max 24.1, 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 Driver 0: standstill, reads 22339, writes 0 timeouts 0, SG min/max not available Driver 1: standstill, reads 22339, writes 0 timeouts 0, SG min/max not available Driver 2: standstill, reads 22339, writes 0 timeouts 0, SG min/max not available Driver 3: standstill, reads 22339, writes 0 timeouts 0, SG min/max not available Driver 4: standstill, reads 22339, writes 0 timeouts 0, SG min/max not available Driver 5: short-to-ground standstill, reads 22336, writes 3 timeouts 0, SG min/max 0/0
As I said, anyone with ideas please let me know. I'm assuming this is either a bad board I got, or I'm doing something incredibly stupid.
Cheers
Martin -
-
Hi, sorry to hear you're having some issues. Please try commanding the motors to move without any motors connected and then send M122 and report the driver section.
-
@martin-blank Given that this is a known good motor, no temperature is being reported and you are getting the same issue on all the motors I suspect an issue with the SPI comms to the drivers. Either way please contact your reseller for a warranty replacement and reference this thread in the form you will be asked to complete.
-
T3P3Tony, thanks for letting me know regarding potential issues with the SPI bus. I have contacted the reseller and asked for a warranty replacement and referred to this thread. I will mark this thread as resolved once I hear back from the reseller and the replacement process has started.
Cheers
-
Replacement board has short to ground issues on all 6 drivers. Serial for original was WD416XX, serial for replacement is WD414XX. The diode codes have also been verified as KAXS4.
Email sent to info@duet3d.com with full details.
-
@martin-blank sorry about this, looks like you had your Duet replaced just as we found out about this issue https://forum.duet3d.com/topic/18011/duet-3-6hc-short-to-ground-issue
Have a look at your board and see if it is effected by the diode issue. We'll get you a replacement as soon as the issue is resolved and we have reliable boards.
Ian
-
Right now we know that some boards with serial number 414xx, 417xx and 418xx show this fault, and at least some 413xx, 415xx and 418xx boards are OK. Each reel of diodes does 125 boards. So most probably there are 2, 3 or possibly 4 sequences of 125 boards with the likelihood of this fault.
-
Hopefully the last update. I've received the replacement for the replacement. Motor drivers tested as good for all six drivers. Serial number is 413XX.
Big thanks to Filastruder and Duet for promptly dealing with the issues.