Hotend Fan not starting



  • Hi *,

    I have one tool and I want to have a temp controlled Fan:

    M950 F1 C"fan1" Q500
    M106 P1 S1 H1 T45 C"Hotend" 
    M563 P0 S"Extrudor" D0 H1 F1
    

    I got this configuration idea from:
    https://duet3d.dozuki.com/Wiki/Connecting_and_configuring_fans

    My understanding is that the Fan should start at 45°C, but "noting" happens. The fan works when I connect it to "fan0". So I guess that the wiring is OK
    (Duet 2 FW; 3.01-RC12)

    I see the 24V on on the "fan1" when I measure without a fan and a temperature below 45. :? Should that be the case?

    The complete config is below.

    And ideas?

    Cheers, Chriss

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 10 2020 08:05:32 GMT+0200 (Central European Summer Time)
    
    ; General preferences
    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"Homer"                                  ; set printer name
    
    ; Network
    M552 S1                                        ; enable network
    M586 P0 S1                                     ; enable HTTP
    M586 P1 S0                                     ; disable FTP
    M586 P2 S0                                     ; disable Telnet
    
    ; Drives
    M569 P0 S0                                     ; physical drive 0 goes backward
    M569 P1 S1                                     ; physical drive 1 goes forwards
    M569 P2 S1                                     ; physical drive 2 goes forwards
    M569 P3 S1                                     ; physical drive 3 goes forwards
    
    M584 X0 Y1 Z9:2 E3                             ; Chriss - set drive mapping two Z motors connected to driver outputs E6(9) and Z(2)
    M671 X-20:220 Y0:0 S0.5                        ; Chriss - leadscrews at left (connected to Z) and right (connected to E6) of X axis
    
    
    M350 X16 Y16 Z16 E128 I1                       ; Chriss - configure microstepping with interpolation
    M92 X80.00 Y80.16 Z400.00 E137.81              ; Chriss - set steps per mm 2560
    M566 X900.00 Y900.00 Z12.00 E120.00            ; Chriss - set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z800.00 E1200.00        ; Chriss - set maximum speeds (mm/min) Z180
    M201 X500.00 Y500.00 Z20.00 E250.00            ; Chriss - set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30                   ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                        ; Set idle timeout
    
    ; Axis Limits
    M208 X0:310 Y0:300                             ; Chriss - X carriage moves from 0 to 310, Y bed goes from 0 to 310
    
    ; 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 low end on Y via pin ystop
    M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M558 P9 C"^zprobe.in" H5 F350 T6000            ; Chriss - set Z probe type to bltouch and the dive height + speeds F=down speed T=Speed between points
    M950 S0 C"duex.pwm5"                           ; Chriss - create servo pin 0 for BLTouch
    
    G31 P500 X-27.5 Y1.5 Z2.5                      ; set Z probe trigger value, offset and trigger height
    M557 X5:270 Y15:298 P10:10                     ; Chriss - define mesh grid - https://duet3d.dozuki.com/Wiki/Gcode#Section_M557_Set_Z_probe_point_or_define_probing_grid
    
    ; Heaters :: BED
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 S120                                   ; set temperature limit for heater 0 to 120C
    ;M307 H0 B1 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
    ;M307 H0 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
    M307 H0 A245.4 C400.5 D1.3 S1.00 V24.1 B0		; Chriss - Disable bang-bang, tuned with "M303 H0 S120"
    M140 H0                                        ; map heated bed to heater 0
    
    ; Heaters :: Hotend
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138  ; 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 S280                                   ; set temperature limit for heater 1 to 280C
    ;M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
    M307 H1 A709.3 C250.2 D3.4 S1.00 V24.0 B0      ; Chriss - tuned with "M303 H0 S280"
    
    
    ;; Fans
    ; Fan for the printed part:
    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
    ; Fan for the Hotend;
    M950 F1 C"fan1" Q500                           ; F="create fan 1" C="on pin fan1" Q="and set its frequency"
    M106 P1 S1 H1 T45 C"Hotend"                    ; P="set fan 1" S="value" H="Thermostatic control Heater No." T=" is turned on at 45°C"
    
    ; Tools
    M563 P0 S"Extrudor" D0 H1 F1                   ; 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
    
    ;; Filament Sensor: https://duet3d.dozuki.com/Wiki/Connecting_and_configuring_filament-out_sensors
    M591 D0 P1 C"e0_stop" S1  ; filament monitor connected to E0_stop
    
    
    
    ; Custom settings are not defined
    M575 P1 B57600 S1 
    
    


  • As many people before, you mixed up hotend fan with tool fan, Hotend fan is not your tool fan, printed part cooling fan is. So change F1 to F0 in your tools definition. That way printed part fan will be controlled by gcode and hotend fan by temperature, as it supposed to be.



  • @aidar

    Thanks for the tip, but I have to admit that I have a deadlock now in my brain.

    How does your recommendation, to use "F0" as the hot-end cooler, with the documentation than?

    We recommend you use the FAN1 connector for a thermostatically-controlled hot end fan, because on the Duet 2 it defaults to being on at power up, to provide maximum safety if you restart your Duet when the hot end is hot.
    

    I understand here that FAN0 should cool the printed material and FAN1 is for the hot-end.
    https://duet3d.dozuki.com/Wiki/Connecting_and_configuring_fans#Section_Allocating_fans_to_tools
    tells me:

    After this whenever tool 0 is selected, sending M106 Snnn will control fan 0. With tool 1, fan 1 and tool 2 fan 2.
    

    I'm sure your approach is correct and will work, but I want to understand where I misunderstood the documentation than.

    Cheers, Chriss



  • @Chriss Your fans look fine to me. Fan 0 is the part cooling fan - non thermostatic - all fine and dandy. Fan1 is the hot end fan - comes on a 45 with heater1, which is the hot end heater - again, all fine and dandy.

    I think the problem is in your tool definition. This:...........

    M563 P0 S"Extrudor" D0 H1 F1

    ............Sets the part cooling fan for that tool to be fan 1. BUT fan 1 is the hot end cooling fan, not the part cooling fan. So take the "F1" off the end of that M563 (or use F0) and you should be good.

    Edit. Think of a tool as a combination of one or more heaters, one or more extruders, and one or more part cooling fans and remember that thermostatically controlled fans are separate items and are independent of tools.



  • @deckingman said in Hotend Fan not starting:

    M563 P0 S"Extrudor" D0 H1 F1
    ............Sets the part cooling fan for that tool to be fan 1. BUT fan 1 is the hot end cooling fan, not the part cooling fan. So take the "F1" off the end of that M563 (or use F0) and you should be good.

    Exactly what i said.



  • @aidar said in Hotend Fan not starting:

    Exactly what i said.

    I know. But @Chriss said "I have a deadlock now in my brain". So I thought some elaboration on your concise explanation might help him to understand.



  • Yes, i hope so, thank you.



  • @aidar @deckingman

    Thanks for your patience.

    @aidar You explanations made aidar's explanation a bit clearer to me.

    But I'm still a bit lost. With at least two things:

    1:
    I still have the two fans:
    0 = "Part cooling fan"
    1= "Hot end fan"
    And the tool:
    M563 P0 S"Extrudor" D0 H1 F0
    I understand that this binds the Fan0 (aka "the part cooling fan") to the tool "Extrudor". But how do I tell the "Fan1" than that it cools this tool?

    2:
    The change you guys advised did not changed the behavior. The fan on the terminal do not start spinning when the temperature reaches 45°C or higher.

    Cheers, Chriss



  • @Chriss

    1. You don't need to. Fan 1 is "tied" to heater 1 and heater 1 is "tied" to tool 0. So when heater 1 reaches 45, the fan should come on.

    2. Check the wiring. Check the fan itself. Does it work if you connect it to a different port on the board? Is it the voltage set correctly for that fan?



  • @deckingman said in Hotend Fan not starting:

    1. You don't need to. Fan 1 is "tied" to heater 1 and heater 1 is "tied" to tool 0. So when heater 1 reaches 45, the fan should come on.

    Unfortunately is that not my experience, my confusion may come from that. I have never seen a working set.

    1. Check the wiring. Check the fan itself. Does it work if you connect it to a different port on the board? Is it the voltage set correctly for that fan?

    Yes, the fan works when I connect it to any of the always on fans. I tested already with a "testfan, a simple fan just with a connector and without any complex wiring or buck-down modules.
    The voltage is, as expected, 24V.

    I measure 24V when there is nothing connected to FAN1, it drops down down to 3-4V as soon as I connect a fan. I guess that comes from the regulator itself.

    I changed M950 to test with "fan2"

    M950 F1 C"fan1" Q500
    

    Without luck unfortunately.

    Any other ideas?

    Cheer, Chriss



  • @Chriss Can you post your config.g as it is now. Just so we can eliminate the possibility that it's a configuration issue. Does Fan 0 work? Test by sending M106 P0 S255.



  • @deckingman

    Yes, Fan0 works, I can control it via the slider on the web-interface and the g-code. The two fans work accordingly to the connectors where they are connected to.

    I removed the Fan1 from the tool to make it controllable as Fan0. Without any success. 😞

    I added now "Fan2" for testing:

    M950 F2 C"fan2" Q500
    M106 P2 S0 H-1
    

    I connected my test fan to it and used the slider to tune it, without any success. So I understand now that "Fan0" is the only one which works.

    I'm close to give up here.
    I have a Duex5 connected to the board, too. I think I will go for that and connect the hot-end fan to one of this connectors. That makes to me more sense anyway. The physical fan needs 12V, the board is on 24V. So I can configure the fans on the Duex5 to 12V if I got it right.

    Or I will jump up to FW 3.1 first.. I'm not sure...

    (complete config.g below)

    Cheers, Chriss

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 10 2020 08:05:32 GMT+0200 (Central European Summer Time)
    
    ; General preferences
    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"Homer"                                  ; set printer name
    
    ; Network
    M552 S1                                        ; enable network
    M586 P0 S1                                     ; enable HTTP
    M586 P1 S0                                     ; disable FTP
    M586 P2 S0                                     ; disable Telnet
    
    ; Drives
    M569 P0 S0                                     ; physical drive 0 goes backward
    M569 P1 S1                                     ; physical drive 1 goes forwards
    M569 P2 S1                                     ; physical drive 2 goes forwards
    M569 P3 S1                                     ; physical drive 3 goes forwards
    
    M584 X0 Y1 Z9:2 E3                             ; Chriss - set drive mapping two Z motors connected to driver outputs E6(9) and Z(2)
    M671 X-20:220 Y0:0 S0.5                        ; Chriss - leadscrews at left (connected to Z) and right (connected to E6) of X axis
    
    
    M350 X16 Y16 Z16 E128 I1                       ; Chriss - configure microstepping with interpolation
    M92 X80.00 Y80.16 Z400.00 E137.81              ; Chriss - set steps per mm 2560
    M566 X900.00 Y900.00 Z12.00 E120.00            ; Chriss - set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z800.00 E1200.00        ; Chriss - set maximum speeds (mm/min) Z180
    M201 X500.00 Y500.00 Z20.00 E250.00            ; Chriss - set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30                   ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                        ; Set idle timeout
    
    ; Axis Limits
    M208 X0:310 Y0:300                             ; Chriss - X carriage moves from 0 to 310, Y bed goes from 0 to 310
    
    ; 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 low end on Y via pin ystop
    M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M558 P9 C"^zprobe.in" H5 F350 T6000            ; Chriss - set Z probe type to bltouch and the dive height + speeds F=down speed T=Speed between points
    M950 S0 C"duex.pwm5"                           ; Chriss - create servo pin 0 for BLTouch
    
    G31 P500 X-27.5 Y1.5 Z2.5                      ; set Z probe trigger value, offset and trigger height
    M557 X5:270 Y15:298 P10:10                     ; Chriss - define mesh grid - https://duet3d.dozuki.com/Wiki/Gcode#Section_M557_Set_Z_probe_point_or_define_probing_grid
    
    ; Heaters :: BED
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 S120                                   ; set temperature limit for heater 0 to 120C
    ;M307 H0 B1 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
    ;M307 H0 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
    M307 H0 A245.4 C400.5 D1.3 S1.00 V24.1 B0		; Chriss - Disable bang-bang, tuned with "M303 H0 S120"
    M140 H0                                        ; map heated bed to heater 0
    
    ; Heaters :: Hotend
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138  ; 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 S280                                   ; set temperature limit for heater 1 to 280C
    ;M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
    M307 H1 A709.3 C250.2 D3.4 S1.00 V24.0 B0      ; Chriss - tuned with "M303 H0 S280"
    
    
    ;; Fans
    ; Fan for the printed part:
    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
    ; Fan for the Hotend;
    M950 F1 C"fan1" Q500                           ; F="create fan 1" C="on pin fan1" Q="and set its frequency"
    M106 P1 S1 H1 T45 C"Hotend"                    ; P="set fan 1" S="value" H="Thermostatic control Heater No." T=" is turned on at 45°C"
    ; Fan for testing
    M950 F2 C"fan2" Q500
    M106 P2 S0 H-1
    
    ; Tools
    M563 P0 S"Extrudor" D0 H1                      ; define tool 0 (Fan F1  is bonded automatically)
    G10 P0 X0 Y0 Z0                                ; set tool 0 axis offsets
    G10 P0 R0 S0                                   ; set initial tool 0 active and standby temperatures to 0C
    
    ;; Filament Sensor: https://duet3d.dozuki.com/Wiki/Connecting_and_configuring_filament-out_sensors
    M591 D0 P1 C"e0_stop" S1  ; filament monitor connected to E0_stop
    
    
    ; Configure the port for the display
    M575 P1 B57600 S1 
    ; Custom settings are not defined
    
    

Log in to reply