Overheating Stepper Motors with Duet Maestro



  • I recently finished building a Prusa MK3-ish printer using a Haribo 3030 frame and some extra parts I had lying around, including a Duet Maestro. It had been working without problems until recently, when I changed some of the stepper motors out (if it works fix it until it doesn't right?). X and Y axis were changed to the Stepperonline 17HM15-0904S, a 0.9 degree 0.9A rated stepper. Z axis motors were changed to integrated leadscrew steppers from a real Prusa, which from my research are rated at 1.0A each.

    Since then I've had significant overheating issues on the X and Z axis motors. Originally I had currents set to 600 for the X-Axis and 560 for the Z-axis (stock value from Prusa firmware). However this caused significant overheating, to the point of layer shifts and failed prints. I have checked the motion of both axes by hand and they don't bind or have rough movement.

    I have it mostly under control by adding a heatsink to the X motor, reducing motor current and idle current and switching to spreadcycle mode (not sure if it helped but it didn't seem to hurt at least). However this feels wrong to me - I don't think I should need to reduce motor current so significantly to avoid overheating.

    Below is my config.g, and I'm running RRF 3.1.1

    ; Configuration file for Duet Maestro (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 10 2020 22:01:12 GMT-0400 (Eastern Daylight Time)
    
    ; General preferences
    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"Ender 3 Pro"                            ; set printer name
    
    M575 P1 S1 B57600		; turn on paneldue
    
    ; Network
    M552 P192.168.1.14 S1                          ; enable network and set IP address
    M553 P255.255.255.0                            ; set netmask
    M554 P192.168.1.254                            ; set gateway
    M586 P0 S1                                     ; enable HTTP
    M586 P1 S0                                     ; disable FTP
    M586 P2 S0                                     ; disable Telnet
    
    ; Drives
    M569 P0 S1   D2                                  ; physical drive 0 goes backwards
    M569 P1 S1     D2                                ; physical drive 1 goes backwards
    M569 P2 S1       D2                              ; physical drive 2 goes forwards
    M569 P3 S0    D2                                 ; physical drive 3 goes backwards and in spreadcycle mode
    M569 P4 S1         D2                            ; physical drive 4 goes backwards
    
    M584 X0 Y1 Z2:4 E3                               ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
    M92 X200.00 Y200.00 Z400.00 E409.00              ; set steps per mm
    M566 X480.00 Y480.00 Z20.00 E270.00 P1      ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z600.00 E6000.00        ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z80.00 E5000.00          ; set accelerations (mm/s^2)
    M906 X550 Y600 Z400 E700 I10                  ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                        ; Set idle timeout
    
    ; Axis Limits
    M208 X-20 Y0 Z0 S1                               ; set axis minima
    M208 X220 Y230 Z210 S0                         ; set axis maxima
    M671 X-56.5:272.5 Y115:115 S5			; set up dual leadscrews with 5mm allowable compensation
    
    ; Endstops
    M574 X1 S1 P"xstop"                            ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop"                            ; configure active-high endstop for high end on Y via pin ystop
    
    ; Z-Probe
    M558 P9 C"^zprobe.in" H5 F500 T6000 A6 S0.02 B1           ; set Z probe type to bltouch and the dive height + speeds, also set max probes to 6 and tolerance to 0.02mm
    G31 P25 X58 Y-10 Z2.215                       ; set Z probe trigger value, offset and trigger height larger offset = closer to bed
    M557 X40:220 Y15:220 P6                      ; define mesh grid
    M376 H15		;turn off mesh compensation at 15mm
    ; Heaters
    
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 S125                                   ; set temperature limit for heater 0 to 150C
    M307 H0 A164.8 C645.6 D2.6 V24.3 B0            ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                        ; map heated bed to heater 0
    M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8  ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S300                                   ; set temperature limit for heater 1 to 300C
    M307 H1 A727.1 C198.0 D3.3 V24.4 B0
    
    ; Fans
    M950 F0 C"fan0" Q500                         ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"!fan1"  Q100                    ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S0.7 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
    
    ; Custom settings are not defined
    
    ; Miscellaneous
    T0                                             ; select first tool
    M950 S0 C"zprobe.mod"  
    
    M950 P1 C"TWCK0" ;define GPIO Pin 1
    
    

    Are there any obvious errors with my config file or any other hardware things I should check?

    Thanks



  • @copperbricks said in Overheating Stepper Motors with Duet Maestro:

    Originally I had currents set to 600 for the X-Axis and 560 for the Z-axis (stock value from Prusa firmware). However this caused significant overheating

    how is the duet mounted?

    https://duet3d.dozuki.com/Wiki/Mounting_and_cooling_the_board#Section_Cooling



  • @copperbricks said in Overheating Stepper Motors with Duet Maestro:

    Since then I've had significant overheating issues on the X and Z axis motors.

    do you mean the motors or the motor drivers?



  • The board is mounted vertically, with venting at the top and whole bottom section of the board. However my issue is the steppers themselves overheating, the mainboard hasn't had any heat issues.



  • that is very strange. can you check by running M906 in the console that the motors are actually set to that current.

    then can you measure the resistance of one phase of the stepper z motor?


Log in to reply