Duet 3 Mini 5+ motor driver stop working
-
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 sayIt 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.
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
-
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
-
@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
-
@droftarts very good idea!! Thanks!!!
-
@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 -
@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
-
@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 -
@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
-
@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
-
@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