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

    Hotend fan not linked to tool, but follows part fan %

    Scheduled Pinned Locked Moved Solved
    Using Duet Controllers
    2
    3
    153
    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.
    • seventhwhiskeyundefined
      seventhwhiskey
      last edited by

      I have a dual nozzle setup with a part cooling fan (F0) and two hotend fans (F1 and F2), both F1 and F2 are configured to 100% speed when either hotend gets above 45C. Duet 3 MB6HC.

      -If I set either tool temperature higher than 45C, F1 and F2 go to 100% as expected.
      -If I print something using Tool 1, F1 follows the speed of F0 while F2 remains thermostatically controlled as desired
      -If I print something using Tool 2, F2 follows the speed of F0 while F1 remains thermostatically controlled as desired

      This means if I print the first five layers with F0 set to 0%, one of the tool fans is also at 0% for the first five layers.

      Cura has the cooling fan number set to 0 for both hotends.

      I can't see anything wrong with my config. Any ideas?

      ; Configuration file for Duet 3 (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Feb 01 2022 16:47:18 GMT-0600 (Central Standard Time)
      
      ; General preferences
      G90                                                       ; send absolute coordinates...
      M83                                                       ; ...but relative extruder moves
      M550 P"duet3"                                             ; set printer name
      
      ; Drives
      M569 P0.0 S1                                              ; physical drive 0.0 goes backwards
      M569 P0.1 S1                                              ; physical drive 0.1 goes forwards
      M569 P0.2 S1                                              ; physical drive 0.2 goes backwards
      M569 P0.3 S0                                              ; physical drive 0.3 goes forwards
      M569 P0.4 S0                                              ; physical drive 0.4 goes forwards
      M569 P0.5 S1                                              ; physical drive 0.5 goes backwards
      M584 X0.0 Y0.1 Z0.2:0.3 E0.4:0.5                          ; set drive mapping
      M350 X32 Y32 Z32 E64:64 I0                             ; configure microstepping without interpolation
      M92 X160.00 Y160.00 Z1600.00 E1660:1660.00         ; set steps per mm
      M566 X1500 Y1500 Z180.00 E400.00:400.00        ; set maximum instantaneous speed changes (mm/min)
      M203 X12000.00 Y12000.00 Z800.00 E1200.00:1200.00  ; set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z100.00 E500.00:500.00        ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800E800:800 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 X350 Y300 Z400 S0                                    ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"io0.in"                                      ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in
      M574 Y2 S1 P"io1.in"                                      ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in
      
      ; Z-Probe
      M950 S0 C"io7.out"                                        ; create servo pin 0 for BLTouch
      M280 P0 S60
      M558 P9 C"io7.in" H5 F600 T6000                   		  ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X-44 Y-9 Z1.03                                    ; set Z probe trigger value, offset and trigger height
      M557 X50:300 Y50:300 S20                                  ; define mesh grid
      
      ; Heaters
      M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B4092              ; configure sensor 0 as thermistor on pin temp3
      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
      M140 H0                                                   ; map heated bed to heater 0
      M143 H0 S100                                               ; set temperature limit for heater 0 to 80C
      
      M308 S1 P"temp1" Y"thermistor" A"T1 ExtLeft" T100000 B4685 C6.519681e-8 ; configure sensor 1 as thermistor on pin temp1
      M950 H1 C"out1" T1                                        ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                                          ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S280                                              ; set temperature limit for heater 1 to 280C
      
      M308 S2 P"temp2" Y"thermistor" A"T2 ExtRight" T100000 B4685 C6.519681e-8 ; configure sensor 2 as thermistor on pin temp2
      M950 H2 C"out2" T2                                        ; create nozzle heater output on out2 and map it to sensor 2
      M307 H2 B0 S1.00                                          ; disable bang-bang mode for heater  and set PWM limit
      M143 H2 S280                                              ; set temperature limit for heater 2 to 280C
      
      ; Fans
      ;M950 F0 C"out7" Q500                                      ; create fan 0 on pin out7 and set its frequency
      ;M106 P0 C"part-cooling" S0.65 H-1                         ; set fan 0 name and value. Thermostatic control is turned off
      
      M950 F0 C"!out4+out4.tach" Q25000
      M106 P0 C"part-cooling" S0 H-1
      
      M950 F1 C"out8" Q500                                      ; create fan 1 on pin out8 and set its frequency
      M106 P1 C"hotend1L" S1.0 H1:2 T45                       ; set fan 1 name and value. Thermostatic control is turned on
      
      M950 F2 C"out9" Q500                                      ; create fan 2 on pin out9 and set its frequency
      M106 P2 C"hotend2R" S1.0 H1:2 T45                          ; set fan 2 name and value. Thermostatic control is turned on
      
      ; Tools
      M563 P1 D0 H1                                          ; define tool 1 (assumes fan 0 as part fan, so not defined here)
      G10 P1 X-7 Y0 Z0                                          ; set tool 1 axis offsets
      G10 P1 R0 S0                                              ; set initial tool 1 active and standby temperatures to 0C
      M563 P2 D1 H2                                          ; define tool 2 (assumes fan 0 as part fan, so not defined here)
      G10 P2 X7 Y0 Z0                                           ; set tool 2 axis offsets
      G10 P2 R0 S0                                              ; set initial tool 2 active and standby temperatures to 0C
      
      ; Custom settings
      M929 S3                                                   ; enable logging
      
      ; Miscellaneous
      M501                                                      ; load saved parameters from non-volatile memory
      M911 S12 R20 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"        ; set voltage thresholds and actions to run on power loss
      

      Cura Start G-Code:

      
      G1 Z15.0 F6000 ;Move the platform down 15mm
      ;Prime the extruder
      G92 E0
      G1 F200 E3
      G92 E0
      
      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @seventhwhiskey
        last edited by

        @seventhwhiskey said in Hotend fan not linked to tool, but follows part fan %:

        ; Tools
        M563 P1 D0 H1 ; define tool 1 (assumes fan 0 as part fan, so not defined here)
        G10 P1 X-7 Y0 Z0 ; set tool 1 axis offsets
        G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
        M563 P2 D1 H2 ; define tool 2 (assumes fan 0 as part fan, so not defined here)
        G10 P2 X7 Y0 Z0 ; set tool 2 axis offsets
        G10 P2 R0 S0

        You need to define the part cooling fans in your tool definitions.

        If F0 is the part cooling for both, you need to add F0 to M563 for each tool.

        Just to be clear with terminology, part cooling fan is the fan that blows on the hot plastic. The hotend fans cool the heatsink on the print head.

        Z-Bot CoreXY Build | Thingiverse Profile

        seventhwhiskeyundefined 1 Reply Last reply Reply Quote 0
        • seventhwhiskeyundefined
          seventhwhiskey @Phaedrux
          last edited by

          @phaedrux
          That was it. Apparently the RRF Config Tool doesn't attach F0 to the tool by default and is supposed to be assumed, but the explicit definition is required for it to work properly with two tools.

          1 Reply Last reply Reply Quote 0
          • dc42undefined dc42 marked this topic as a question
          • dc42undefined dc42 has marked this topic as solved
          • First post
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA