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

    Duet 3 Mini 5+ motor driver stop working

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    2
    14
    367
    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.
    • Jiarkoundefined
      Jiarko
      last edited by

      hi, I've tried 3 times to print a long job and all the time somewhere in the middle it fails. I've thought is something wrong with the slicer parameters but while watching the printing process I've noted on motor axis stop moving (it's a core XY printer).

      I've paused the print and checked wiring, connections, possible shortcuts but nothing. all drivers work fine except one. If I try to jog the axis the motor connected to "drive 0.1" doesn't move.

      here the output of the M122 comand (the printer is still in pause), the faulty driver is the "driver 1". I cannot figure out how to "re-energize" the driver... I must deliver a big print beginning next week and I'm stuck with no clue how to solve this, if someone can give me some advice... thanks

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 Mini 5+ version 3.4.5 (2022-11-30 19:41:16) running on Duet 3 Mini5plus WiFi (standalone mode)
      Board ID: XLJ3H-7396U-D65J0-40KMA-M313Z-7GVXS
      Used output buffers: 1 of 40 (28 max)
      === RTOS ===
      Static ram: 103652
      Dynamic ram: 110420 of which 48 recycled
      Never used RAM 27136, free system stack 120 words
      Tasks: NETWORK(notifyWait,58.4%,199) HEAT(notifyWait,0.1%,336) Move(notifyWait,2.6%,258) CanReceiv(notifyWait,0.1%,772) CanSender(notifyWait,0.0%,326) CanClock(delaying,0.0%,339) TMC(notifyWait,2.8%,72) MAIN(running,32.3%,417) IDLE(ready,0.2%,30) AIN(delaying,3.4%,263), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 02:08:08 ago, cause: software
      Last software reset at 2023-10-25 08:49, reason: User, GCodes spinning, available RAM 27664, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      MCU revision 3, ADC conversions started 7689200, completed 7689199, timed out 0, errs 0
      Step timer max interval 1491
      MCU temperature: min 33.3, current 43.4, max 48.6
      Supply voltage: min 24.0, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
      Events: 15 queued, 15 completed
      Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 25, reads 11406, writes 13, timeouts 1, DMA errors 0, CC errors 0, failedOp 0x71
      Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 26, reads 11406, writes 14, timeouts 0, DMA errors 0, CC errors 1
      Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 25, reads 11407, writes 13, timeouts 0, DMA errors 0, CC errors 0
      Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 19, reads 11410, writes 9, timeouts 0, DMA errors 0, CC errors 0
      Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 19, reads 11411, writes 9, timeouts 0, DMA errors 0, CC errors 0
      Driver 5: not present
      Driver 6: not present
      Date/time: 2023-10-25 10:57:19
      Cache data hit count 4294967295
      Slowest loop: 273.14ms; fastest: 0.07ms
      === Storage ===
      Free file entries: 9
      SD card 0 detected, interface speed: 22.5MBytes/sec
      SD card longest read time 6.8ms, write time 119.4ms, max retries 0
      === Move ===
      DMs created 83, segments created 19, maxWait 450760ms, bed compensation in use: mesh, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 7136, completed 7136, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 60], 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, chamber heaters -1 -1 -1 -1, ordering errs 0
      Heater 0 is on, I-accum = 0.2
      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
      === CAN ===
      Messages queued 76132, received 153824, lost 0, boc 0
      Longest wait 3ms for reply type 6053, peak Tx sync delay 275, free buffers 18 (min 13), ts 38445/38444/0
      Tx timeouts 0,0,0,0,0,0
      === Network ===
      Slowest loop: 274.22ms; fastest: 0.00ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      = WiFi =
      Network state is active
      WiFi module is connected to access point 
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.27
      WiFi MAC address f0:08:d1:02:eb:b4
      WiFi Vcc 3.38, reset reason Power up
      WiFi flash size 2097152, free heap 22480
      WiFi IP address 192.168.1.184
      WiFi signal strength -48dBm, mode 802.11n, reconnections 0, sleep mode modem
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0
      
      droftartsundefined 1 Reply Last reply Reply Quote 0
      • Jiarkoundefined
        Jiarko
        last edited by

        if I send a "M98 P"config.g" the driver come back "on", what can it be? in the middle of a printing process this is a mess!! thankss

        1 Reply Last reply Reply Quote 0
        • droftartsundefined
          droftarts administrators @Jiarko
          last edited by

          @Jiarko said in Duet 3 Mini 5+ motor driver stop working:

          Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 25, reads 11406, writes 13, timeouts 1, DMA errors 0, CC errors 0, failedOp 0x71
          Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 26, reads 11406, writes 14, timeouts 0, DMA errors 0, CC errors 1
          

          There are certainly some driver errors, but I'm not sure what could be causing them. Can you post your config.g? I've asked @dc42 to take a look at the report.

          Ian

          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

          Jiarkoundefined 1 Reply Last reply Reply Quote 0
          • Jiarkoundefined
            Jiarko @droftarts
            last edited by

            @droftarts thanks for answering!!

            here the config file

            ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue May 02 2023 21:46:45 GMT+0200 (Ora legale dell’Europa centrale)
            
            ; General preferences
            M575 P1 S1 B57600                                         ; enable support for PanelDue
            G90                                                       ; send absolute coordinates...
            M83                                                       ; ...but relative extruder moves
            M550 P"ALone"                                             ; set printer name
            M669 K1                                                   ; select CoreXY mode
            
            ; Wait a moment for the CAN expansion boards to start
            G4 S2
            
            ; Network
            M552 S1                                                   ; enable network
            ;M552 S2													  ; enable SSID
            M586 P0 S1                                                ; enable HTTP
            M586 P1 S0                                                ; disable FTP
            M586 P2 S0                                                ; disable Telnet
            
            ; Drives
            M569 P0.0 S0                                              ; physical drive 0.0 goes backwards
            M569 P0.1 S0                                              ; physical drive 0.1 goes backwards
            M569 P0.2 S1                                              ; physical drive 0.2 goes forwards
            M569 P121.0 S1                                            ; physical drive 121.0 goes forwards
            M584 X0.0 Y0.1 Z0.2 E121.0                                ; set drive mapping
            M350 X16 Y16 Z16 E16 I1                                   ; configure microstepping with interpolation
            M92 X100.00 Y100.00 Z640.00 E397.00                       ; set steps per mm
            M566 X480.00 Y480.00 Z60.00 E120.00                       ; set maximum instantaneous speed changes (mm/min)
            M203 X12000.00 Y12000.00 Z180.00 E1200.00                 ; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z20.00 E250.00                       ; set accelerations (mm/s^2)
            M906 X1200 Y1200 Z1200 E800 I30                           ; set motor currents (mA) and motor idle factor in per cent
            M84 S30                                                   ; Set idle timeout
            
            ; Axis Limits
            M208 X0 Y0 Z0 S1                                          ; set axis minima
            M208 X490 Y450 Z315 S0                                    ; set axis maxima
            
            ; Endstops
            M574 X2 S1 P"121.io2.in"                                      ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io0.in
            M574 Y2 S1 P"!io2.in"                                      ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io1.in
            M574 Z1 S2                                                ; configure Z-probe endstop for low end on Z
            
            ; Z-Probe
            M558 P8 C"121.io0.in" H5 F120 T6000                      ; set Z probe type to switch and the dive height + speeds
            G31 P500 X54.5 Y0 Z0.625                                 ; set Z probe trigger value, offset and trigger height
            M557 X20:470 Y20:470 S50                                  ; define mesh grid
            
            ; Heaters
            M308 S0 P"temp0" Y"thermistor" T100000 B4138              ; configure sensor 0 as thermistor on pin temp0
            M950 H0 C"out0" T0                                        ; create bed heater output on out0 and map it to sensor 0
            ;M307 H0 B0 S1.00                                          ; disable bang-bang mode for the bed heater and set PWM limit
            M307 H0 R0.500 K0.349:0.000 D5.16 E1.35 S1.00 B0
            M140 H0                                                   ; map heated bed to heater 0
            M143 H0 S120                                              ; set temperature limit for heater 0 to 120C
            M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 121.temp0
            M950 H1 C"121.out0" T1                                    ; create nozzle heater output on 121.out0 and map it to sensor 1
            ;M307 H1 B0 S1.00                                          ; disable bang-bang mode for heater  and set PWM limit
            M307 H1 R3.865 K0.369:0.000 D2.12 E1.35 S1.00 B0 ;V24.1
            M143 H1 S280                                              ; set temperature limit for heater 1 to 280C
            
            ; Fans
            M950 F0 C"121.out1" Q500                                  ; create fan 0 on pin 121.out1 and set its frequency
            M106 P0 S0 H-1                                            ; set fan 0 value. Thermostatic control is turned off
            M950 F1 C"121.out2" Q500                                  ; create fan 1 on pin 121.out2 and set its frequency
            M106 P1 S1 H1 T45                                         ; set fan 1 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
            T0
            ; Custom settings are not defined
            
            
            
            droftartsundefined 1 Reply Last reply Reply Quote 0
            • droftartsundefined
              droftarts administrators @Jiarko
              last edited by

              @Jiarko From @dc42 :

              it could be that the driver overheated and shut down as a result. Running config.g will probably have disabled and then re-enabled it, which would reset it. However, at 1200mA current I wouldn't expect a driver to overheat unless the board is very badly ventilated.

              Did you have any message in the console? Usually an overheating driver triggers a driver error event, pausing the printer; a driver warning sends a message to the console.
              Are your motors grounded? It's possible a build up of static is zapping the driver. We say

              It is highly recommended that the stepper motor casings be grounded, especially in belt-driven printers. Otherwise, motion of the belts causes static charge to build up, which eventually arcs over to the windings. Filament motion in extruders can cause static charge to build up on the extruder drive motor too. If the motors are screwed to a metal frame, grounding the frame is sufficient.

              https://docs.duet3d.com/en/User_manual/Connecting_hardware/Motors_connecting#using-the-internal-drivers

              Apart from that, you could try turning on logging and see if there are any additional messages there when the fault occurs. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m111-set-debug-level

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              1 Reply Last reply Reply Quote 0
              • Jiarkoundefined
                Jiarko
                last edited by

                thanks for answering!!

                the motors are directly connected to the metal frame, that is grounded.

                the board has a small fan ventilating the surrounding ambient, I've thought it could be a problem for long running prints, but no error in console appeared once the motor driver shut down. the print keep working without sending out any warning (that's what puzzled me) without the motor.

                the only thing I could add is that: when I've tried to home the axis (recall it is a corexy printer) one motor only worked and I've got a warning message in the console suggesting that maybe there was a bad motor connection. but i'm sure no connection issue. anyhow, once I've sent the M98 command everything turno to be up and running again.

                I'll move on and "improve the cooling" of the board and let you know.

                thanks again for your kind feedbacks!!

                ciao, Andrea

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @Jiarko
                  last edited by

                  @Jiarko It sounds like you have grounding and cooling covered. If you had a message about a bad motor connection, I think redoing the wiring and/or swapping out the motor might be sensible, too. If you suspect the driver may be bad, you could swap the motor connections to driver 3 and/or 4, as they appear to be free according to your config.g. I'd say it would be worth swapping anyway, to see if the fault follows the motor.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  Jiarkoundefined 2 Replies Last reply Reply Quote 0
                  • Jiarkoundefined
                    Jiarko @droftarts
                    last edited by

                    @droftarts very good idea!! Thanks!!!

                    1 Reply Last reply Reply Quote 0
                    • Jiarkoundefined
                      Jiarko @droftarts
                      last edited by

                      @droftarts hi, i've thought to swap motor vs. driver it would be just a matter of physically connect the motor to a different driver and set it accordingly into config file. so I've moved to driver 4 and set in the config the following (driver nomenclature having "base 0")

                      M569 P0.3 S0 
                      

                      but id doesn't work... what am I missing??

                      thanks
                      ciao
                      Andrea

                      droftartsundefined 1 Reply Last reply Reply Quote 0
                      • droftartsundefined
                        droftarts administrators @Jiarko
                        last edited by

                        @Jiarko is it X or Y you are moving? X (driver 0) appeared to have errors, but Y (driver 1) reported a fault. So assuming you’re moving Y, change the driver assignment in M584 to:

                        M584 X0.0 Y0.3 Z0.2 E121.0  
                        

                        You may want to move X to driver 4, too.

                        If the problem reoccurs, please get an M122 report before resetting or running config.g again.

                        Ian

                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                        Jiarkoundefined 1 Reply Last reply Reply Quote 0
                        • Jiarkoundefined
                          Jiarko @droftarts
                          last edited by

                          @droftarts when I try to change the settings as you suggested the "home" command doesn't trigger any more the endstop sensor. so I cannot change the driver mapping configurations.

                          BTW, is there any way to record the errors even after a reset or power down for further investigating?

                          thanks
                          ciao

                          droftartsundefined 1 Reply Last reply Reply Quote 0
                          • droftartsundefined
                            droftarts administrators @Jiarko
                            last edited by

                            @Jiarko Post your current config.g and homeall.g files.

                            It sounds like you may have mixed up the X and Y motors, as this is a CoreXY. Check the movement of the motors; see https://docs.duet3d.com/User_manual/Machine_configuration/Configuration_coreXY#testing-motor-movement

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            Jiarkoundefined 1 Reply Last reply Reply Quote 0
                            • Jiarkoundefined
                              Jiarko @droftarts
                              last edited by

                              @droftarts here it is, thanks a lot!! please let me know if there is a way to store errors for future readings...

                              ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
                              ; executed by the firmware on start-up
                              ;
                              ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue May 02 2023 21:46:45 GMT+0200 (Ora legale dell’Europa centrale)
                              
                              ; General preferences
                              M575 P1 S1 B57600                                         ; enable support for PanelDue
                              G90                                                       ; send absolute coordinates...
                              M83                                                       ; ...but relative extruder moves
                              M550 P"ALone"                                             ; set printer name
                              M669 K1                                                   ; select CoreXY mode
                              
                              ; Wait a moment for the CAN expansion boards to start
                              G4 S2
                              
                              ; Network
                              M552 S1                                                   ; enable network
                              ;M552 S2													  ; enable SSID
                              M586 P0 S1                                                ; enable HTTP
                              M586 P1 S0                                                ; disable FTP
                              M586 P2 S0                                                ; disable Telnet
                              
                              ; Drives315
                              M569 P0.0 S0                                              ; physical drive 0.0 goes backwards
                              M569 P0.1 S0                                              ; physical drive 0.1 goes backwards
                              M569 P0.2 S1                                              ; physical drive 0.2 goes forwards
                              M569 P121.0 S1                                            ; physical drive 121.0 goes forwards
                              M584 X0.0 Y0.3 Z0.2 E121.0                                ; set drive mapping
                              
                              M350 X16 Y16 Z16 E16 I1                                   ; configure microstepping with interpolation
                              M92 X100.00 Y100.00 Z640.00 E397.00                       ;
                              M566 X480.00 Y480.00 Z12.00 E300.00						  ; 
                              M203 X12000.00 Y12000.00 Z180.00 E3600.00                 ; set maximum speeds (mm/min) 
                              M201 X500.00 Y500.00 Z20.00 E1000.00                      ; set accelerations (mm/s^2)
                              M906 X1200 Y1200 Z1200 E950 I30                           ; set motor currents (mA) and motor idle factor in per cent
                              M84 S30                                                   ; Set idle timeout
                              
                              ; Axis Limits
                              M208 X0 Y0 Z0 S1                                          ; set axis minima
                              M208 X490 Y450 Z315 S0                                    ; set axis maxima
                              
                              ; Endstops
                              M574 X2 S1 P"121.io2.in"                                  ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io0.in
                              M574 Y2 S1 P"!io2.in"                                     ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io1.in
                              M574 Z1 S2                                                ; configure Z-probe endstop for low end on Z
                              
                              ; Z-Probe
                              M558 P8 C"121.io0.in" H5 F120 T6000                       ; set Z probe type to switch and the dive height + speeds
                              G31 P500 X54.5 Y0 Z1.860                                  ; set Z probe trigger value, offset and trigger height
                              M557 X20:470 Y20:470 S50                                  ; define mesh grid
                              
                              ; Heaters
                              M308 S0 P"temp0" Y"thermistor" T100000 B4138              ; configure sensor 0 as thermistor on pin temp0
                              M950 H0 C"out0" T0                                        ; create bed heater output on out0 and map it to sensor 0
                              M307 H0 R0.500 K0.349:0.000 D5.16 E1.35 S1.00 B0          ; disable bang-bang mode for the bed heater and set PWM limit
                              M140 H0                                                   ; map heated bed to heater 0
                              M143 H0 S120                                              ; set temperature limit for heater 0 to 120C
                              
                              M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 121.temp0
                              M950 H1 C"121.out0" T1                                    ; create nozzle heater output on 121.out0 and map it to sensor 1
                              M307 H1 R3.865 K0.369:0.000 D2.12 E1.35 S1.00 B0 ;V24.1   ; disable bang-bang mode for heater  and set PWM limit
                              M143 H1 S280                                              ; set temperature limit for heater 1 to 280C
                              
                              ; Fans
                              M950 F0 C"121.out1" Q500                                  ; create fan 0 on pin 121.out1 and set its frequency
                              M106 P0 S0 H-1                                            ; set fan 0 value. Thermostatic control is turned off
                              M950 F1 C"121.out2" Q500                                  ; create fan 1 on pin 121.out2 and set its frequency
                              M106 P1 S1 H1 T45                                         ; set fan 1 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
                              T0
                              
                              ; filament monitor setup
                              M591 D0 P3 C"121.io1.in" S1 L25.3						  ; filament monitor connected to E0 endstop
                              ; Custom settings are not defined
                              
                              
                              droftartsundefined 1 Reply Last reply Reply Quote 0
                              • droftartsundefined
                                droftarts administrators @Jiarko
                                last edited by

                                @Jiarko Most likely, your Y motor is running in the wrong direction. You need to add a line for M569 for the new driver (0.3). Because S1 is the default, and you were using S0 on driver 0.1, which was the Y axis driver. So add M569 P0.3 S0 to config.g, in the Drives section, eg:

                                ; Drives315
                                M569 P0.0 S0                                              ; physical drive 0.0 goes backwards
                                M569 P0.1 S0                                              ; physical drive 0.1 goes backwards
                                M569 P0.2 S1                                              ; physical drive 0.2 goes forwards
                                M569 P0.3 S0                                              ; physical drive 0.1 goes backwards
                                M569 P121.0 S1                                            ; physical drive 121.0 goes forwards
                                M584 X0.0 Y0.3 Z0.2 E121.0                                ; set drive mapping
                                

                                Ian

                                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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