SOLVED 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


  • Moderator

    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.


  • administrators

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


  • Moderator

    @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


  • administrators

    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.


Log in to reply