Hotend heater fault status



  • I have two toolboards connected via the tool distribution board with T0 under address 20, and T1 under address 21. I am using out0 on both boards to power my hotend heaters. The sensors work and are displayed as being paired with each tool however, when it comes to throwing some heat at it, my DWC reports they fault out in a matter of a second.

    Here is my current config.g

    ; Axis Definitions====>>>>>
    ; X = Left (on X-axis) Extruder U = Right (on X-axis) Extruder /// Y = Y-Axis /// Z = Z-Axis
    
    ; ======={ Drives }========================================	
    ; 0.x corresponds to main board /// 20.x corresponds to tooloard-1 /// 21.x corresponds to toolboard-2
    ; X
    M569 P0.0 S1                                    ; physical drive 0.0 goes forwards
    M569 P0.1 S1									; physical drive 0.1 goes forwards
    ; Y
    M569 P0.2 S1                                    ; physical drive 0.2 goes forwards
    M569 P0.3 S0									; physical drive 0.3 goes backwards
    ; Z
    M569 P0.4 S0                                    ; physical drive 0.4 goes backwards
    M569 P0.5 S0									; physical drive 0.5 goes backwards
    
    ; ======={ Extruders }=====================================
    M569 P1.0 S1                                    ; physical drive 1.0 goes forwards
    M569 P2.0 S1                                    ; physical drive 2.0 goes forwards
    M584 X0.0 Y0.2:0.3 Z0.4:0.5 U0.1 E20.0:21.0     ; set drive mapping
    
    ; ======={ Movement }======================================
    M350 X16 Y16 Z16 U16 E16:16 								; configure microstepping with interpolation
    M92 X81.387 Y81.275 Z1606.43 U81.387 E420.00:420.00			; set steps per mm
    M566 X900.00 Y900.00 Z24.00 U900.00 E120.00:120.00			; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z360.00 U6000.00 E1200:00:1200.00	; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 U500.00 Y500.00 Z20.00 U500.00 	; set accelerations (mm/s^2)
    M906 X700 Y700 Z700 E300:300 U700 I30						; set motor currents (mA) and motor idle factor in percent
    M84 S20                                         			; Set idle timeout
    
    ; ======={ Axis Limits }===================================
    M208 X0 Y17 Z0 U64 S1                                    ; set axis minima
    M208 X523 Y454 Z640 U587 S0                      	     ; set axis maxima
    
    ; ======={ Endstops }======================================
    M574 X1 S1 P"!io2.in"							;X-Min Homes Left carriage as Endstop index 0
    M574 Y2 S1 P"!io5.in"							;Y-Max Homes Y as endstop index 1
    M574 Z1 S1 P"!io3.in+!io4.in"					;Z-Min Homes Z (bed) as endstop index 2
    M574 U2 S1 P"!io1.in"							;U-Max Homes Right carriage as Endstop index 3
    
    ; ======={ Z-Probe }=======================================
    M558 P0 H5 F120 T6000                           ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:439 Y15:439 S20                        ; define mesh grid
    ;M558 P2 H5 F120 T6000							; enable modulated IR Z probe sensor, dive height, probe speed and travel speed
    
    ; ======={ Heaters }=======================================
    ; Bed>>>
    M308 S0 P"temp0" Y"thermistor" T100000 B4138    ; configure sensor 2 as thermocouple temp0 pin
    M950 H0 C"out1" T0                              ; create bed heater output on out1 and map it to sensor 2
    M307 H0 A340.0 C140.0 D80 B0                               ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                         ; map heated bed to heater 2
    M143 H0 S280                                    ; set temperature limit for heater 2 to 280C
    
    ; Chamber>>>
    M308 S1 P"temp1" Y"thermistor" T100000 B4138    ; configure sensor 3 as thermocouple via temp1 pin
    M950 H1 C"out2" T1                              ; create chamber heater output on out2 and map it to sensor 3
    M307 H1 A340.0 C140.0 D80 B0
    ;M307 H1 B1 S1.00                                ; enable bang-bang mode for the chamber heater and set PWM limit
    M141 H1                                         ; map chamber to heater 3
    
    ; Left nozzle>>>
    M308 S2 P"spi.cs0" Y"rtdmax31865" A"PT100 (L)" ; configure sensor 0 as thermocouple via CS pin spi.cs0
    M950 H2 C"20.out0" T2                            ; create nozzle heater output on 1.out0 and map it to sensor 0
    ;M307 H2 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
    H143 H2 S300									; set temperature limit for heater 0 to 300C
    
    ; Right nozzle>>>
    M308 S3 P"spi.cs1" Y"rtdmax31865" A"PT100 (R)" ; configure sensor 1 as thermocouple via CS pin spi.cs1
    M950 H3 C"21.out0" T3                            ; create nozzle heater output on 2.out0 and map it to sensor 1
    ;M307 H3 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
    H143 H3 S300									; set temperature limit for heater 1 to 300C
    
    ; ======={ Fans }==========================================
    M950 F0 C"out4" Q500                            ; create fan 0 on pin out4 and set its frequency
    M106 P0 S1 H-1                                  ; set fan 0 value. Thermostatic control is turned off
    ;M950 F1 C"out5" Q500                            ; create fan 1 on pin out5 and set its frequency
    ;M106 P1 S1 H-1                                  ; set fan 1 value. Thermostatic control is turned off
    
    ; ======={ Tools}==========================================
    M563 P0 S"LEFT" D0 H2 							; define tool 0
    G10 P0 X0 Y0 Z0                               ; set tool 0 axis offsets
    G10 P0 R35 S200                                 ; set initial tool 0 active and standby temperatures to 0C
    M563 P1 S"RIGHT" D1 H3			                ; define tool 1
    G10 P1 X587 Y0 Z0                               ; set tool 1 axis offsets
    G10 P1 R35 S200                                 ; set initial tool 1 active and standby temperatures to 0C
    
    ; ========{ Filament Monitoring }==========================
    ; M591 D1.0 P5 C"20.io_0" R40:120 E3.0 S0			;Driver 1.0, laser sensor, pinname, Tol. 40-120%, 3.0mm detection, disabled
    ; M591 D2.0 P5 C"21.io_0" R40:120 E3.0 S0			;Driver 2.0, laser sensor, pinname, Tol. 40-120%, 3.0mm detection, disabled
    
    ; ========={ Miscellaneous }===============================
    M575 P1 S1 B57600                               ; enable support for PanelDue
    


  • Hi,

    Where are the M307 commands for the two nozzle heaters?

    Did you run heater tuning and forget to include the results in the config.g file?

    Frederick



  • @fcwilt I had the M307 commented out for the hot ends after I tried heating it up. I tried auto tune then realized the toolboards do not support auto tuning. I will need to tune those heaters manually or via the mainboard. Is the issue likely the M307?



  • UPDATE:

    M307 H2
    Heater 2 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.00, calibration voltage 0.0, mode PID
    Computed PID parameters for setpoint change: P13.4, I0.482, D51.4 Computed PID parameters for load change: P13.4, I0.949, D51.4

    M307 H2 A340.0 C140.0 D5.5 B0
    

    Should be what I update in my config.g correct? Either way if I connect the heater to the open out3 port on the mainboard the heater fires up like a champ but faults out via the toolboard.

    Even with the updated config.g and the M307 command being present with the tuned parameters.



  • Hi,

    I'm surprised that auto-tuning is not supported. I wonder why.

    I've got a D3 main board and a tool board but I have not had a chance to work with them.

    Perhaps @dc42 will respond to you.

    Frederick



  • @fcwilt Right on, more of a concept question here. If hypothetically the board wasn't getting a high enough current (i.e. 2-8A) would the out0 does the heater fault out? I plan on conducting a test for current/voltage to see what kind of power I can expect heading towards the heater.



  • see

    https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations

    Heater tuning is not yet supported on expansion or tool boards (M303). Support is planned in release 3.3.0.



  • @Veti
    from the link:

    A heater on an expansion or tool board can only be controlled by a temperature sensor on the same expansion board

    I am measuring my hot ends with pt100 sensors on a temperature daughterboard. I feel as though as I will have to swap around my arrangement, perhaps swap my extruder driver to the main board and run my two hot-end carriages (they move independently along the x-axis). I also have IR filament monitors I need to setup.

    Currently:
    Driver 0 -- X (left carriage/X axis)
    Driver 1 -- X (right carriage/U axis)
    Driver 2 -- Y1 motor
    Driver 3 -- Y2 motor
    Driver 4 -- Z1 motor
    Driver 5 -- Z2 motor
    Toolboard 20 Driver 0 -- E0
    Toolboard 21 Driver 0 -- E1
    out1 -- signal to bed idec relay
    out2 -- signal to chamber idec relay
    temp0 -- Bed thermistor
    temp1 -- Chamber thermistor

    Revisions implemented:
    Driver 0 -- E0
    Driver 1 -- E1
    out1 -- left hot end
    out2 -- right hot end
    Driver 20.0 -- X (left carriage)
    Driver 21.0 -- X (right carriage)
    20.out0 -- signal to bed idec relay
    21.out0 -- signal to chamber idec relay
    20.temp0 -- bed thermistor
    21.temp0 -- chamber thermistor

    this way my extruder motors are monitored by filament monitors and pt100 on the same board. And my heaters are all being monitored by sensors on the same address.



  • This issue was resolved for those who experience a similar issue... I had my hotend heater mapped to a toolboard using pt100 sensors on the mainboard. Some rewiring and swapping pins around was in play.


Log in to reply