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

    Thermostatic controlled fan coming on at 50%

    Scheduled Pinned Locked Moved
    General Discussion
    7
    37
    2.3k
    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.
    • richardmckennaundefined
      richardmckenna
      last edited by

      Ok now I am confused!

      So I set Q back to 500 just to rule out any other changes. I set S255

      M106 P1 S255 H1 T45 C"Hemera"

      Under 45ºC i get

      Fan 1 (Hemera), speed: 100%, min: 10%, max: 100%, blip: 0.10, temperature: 45.0:45.0C, sensors: 1, current speed: 0%:
      

      Over 45ºC i get

      Fan 1 (Hemera), speed: 100%, min: 10%, max: 100%, blip: 0.10, temperature: 45.0:45.0C, sensors: 1, current speed: 100%:
      

      So all good 🙂 In order to verify this I set it back to S1, let the printer cool below 45ºC and restarted the printer
      M106 P1 S1 H1 T45 C"Hemera"

      Under 45ºC I now get

      Fan 1 (Hemera), speed: 100%, min: 10%, max: 100%, blip: 0.10, temperature: 45.0:45.0C, sensors: 1, current speed: 0%:
      

      instead of what I was originally getting

      Fan 1 (Hemera), speed: 0%, min: 10%, max: 100%, blip: 0.10, temperature: 45.0:45.0C, sensors: 1, current speed: 50%:
      

      And over I get

      Fan 1 (Hemera), speed: 100%, min: 10%, max: 100%, blip: 0.10, temperature: 45.0:45.0C, sensors: 1, current speed: 100%:
      

      Why am I now seeing different results when changing S back to 1 as in my original settings?

      Board: Duet 3 MB6HC
      Firmware: RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 3.01-RC2 (2020-02-18b1)
      Running in standalone mode.

      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @richardmckenna
        last edited by

        @richardmckenna said in Thermostatic controlled fan coming on at 50%:

        Why am I now seeing different results when changing S back to 1 as in my original settings?

        My guess is that there was an error in your original line so that instead of S1 you had Sl (lowercase L instead of 1) or S<space>1 or S<invisible character>1. In each case it would have been treated as S0; however the firmware enforces a minimum 50% PWM for thermostatic fans.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        richardmckennaundefined 1 Reply Last reply Reply Quote 0
        • richardmckennaundefined
          richardmckenna @dc42
          last edited by

          @dc42 hmmm that may be it just strange as that line was from the original output from the configuration tool I just added the name parameter to the end.

          Anyway, at least it is behaving now 🙂

          1 Reply Last reply Reply Quote 0
          • richardmckennaundefined
            richardmckenna
            last edited by

            @dc42 ok nope. turned the printer on this evening this is the fan config I have at the moment, copy and pasted from the DWC editor, so there definitely isn't a lower case L

            M950 F1 C"!out4" Q500
            M106 P1 S1 H1 T45 C"Hemera"
            

            and the fan came on at 50%

            Fan 1 (Hemera), speed: 0%, min: 10%, max: 100%, blip: 0.10, temperature: 45.0:45.0C, sensors: 1, current speed: 50%:
            
            dc42undefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              Can you test S255 instead of S1?

              Z-Bot CoreXY Build | Thingiverse Profile

              richardmckennaundefined 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @richardmckenna
                last edited by

                @richardmckenna, I think you have a M106 P1 S0 command somewhere, or possibly you have a F1 parameter in one of your M563 commands and a M107 command in the file you are printing.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • richardmckennaundefined
                  richardmckenna @Phaedrux
                  last edited by

                  @Phaedrux same with S255

                  @dc42 ok I have an interesting development.

                  I don't have any M106 P1 S0 commands anywhere I do have M106 P0 S0 in my slicer start and end gcode. I'm using Simplify3D

                  I do have M563 P0 S"Hemera" D0 H1 F1 for my tool definition but no M107 commands anywhere.

                  So I have it set with this at the moment

                  M950 F1 C"!out4" Q500
                  M106 P1 S255 H1 T45 C"Hemera"
                  

                  If I increase the temperature it comes on at 100%

                  If I let it cool then start a print, when it gets to temperature it starts at 50%. If I then cancel the print the fan then goes to 100% without me doing anything.

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators
                    last edited by

                    I think there is something in your print file that is causing it. Please post the first 50 lines or so, not counting the comments at the start.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    richardmckennaundefined 2 Replies Last reply Reply Quote 0
                    • richardmckennaundefined
                      richardmckenna @dc42
                      last edited by richardmckenna

                      @dc42 right, getting somewhere 🙂 Where is that first M106 S0 coming from? There must be some extra settings in Simplify3D somewhere.

                      G90
                      M83
                      M106 S0
                      M140 S70
                      M190 S70
                      M104 S230 T0
                      M109 S230 T0
                      ; My start gcode
                      M106 P0 S0 ; Turn part fan off
                      G28 ; Home all
                      ;G32 ; True Bed Levelling
                      G0 X0 Y0 F9000 ; Go to front
                      G0 Z0.15 ; Drop to bed
                      G92 E0 ; zero the extruded length
                      G1 X200 E25 F500 ; Extrude 25mm of filament in a 4cm line
                      G92 E0 ; zero the extruded length
                      G1 E-1 F500 ; Retract a little
                      G1 X220 F4000 ; Quickly wipe away from the filament line
                      G1 Z0.3 ; Raise and begin printing.
                      ; process Process1
                      ; layer 1, Z = 0.450
                      T0
                      G1 E-1.0000 F1800
                      ; feature skirt
                      ; tool H0.450 W0.480
                      G1 Z0.450 F1002
                      G1 X93.300 Y88.189 F7200
                      G1 E1.0000 F1800
                      G1 X98.689 Y82.800 E0.6844 F600
                      G1 X191.311 Y82.800 E8.3176
                      G1 X196.700 Y88.189 E0.6844
                      G1 X196.700 Y102.431 E1.2789
                      G1 X196.686 Y102.792 E0.0324
                      G1 X196.566 Y104.310 E0.1368
                      
                      1 Reply Last reply Reply Quote 0
                      • richardmckennaundefined
                        richardmckenna @dc42
                        last edited by

                        @dc42 ok figured it out.

                        I had to create a custom firmware config in Simplify3D which had custom gcode for turning the fan on/off.

                        Then use that firmware config in my process. Never needed to do that before so didn't realise.

                        Thank you and everyone else for all your help.

                        deckingmanundefined 1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @richardmckenna
                          last edited by

                          @richardmckenna That's still not making sense because M106 P0 refers to the part cooling fan not the hot end fan. To set the speed of the hot end fan it would need to be M106 P1. An M106 generated by the slicer with an S parameter but no P parameter will still control the part cooling fan(s) and not the hot end fan. To set the speed of the hot end fan, there needs to be an explicit P1 in the M106 command. Or alternatively and as DC said, if fan 1 gets mapped to a tool with an M563 P1.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          richardmckennaundefined 2 Replies Last reply Reply Quote 0
                          • richardmckennaundefined
                            richardmckenna @deckingman
                            last edited by

                            @deckingman I'm not sure then as changing the slicer to set that first M106 S0 to M106 P0 S$ has fixed the issue.

                            Screenshot 2020-03-21 at 13.27.53.png

                            GCode

                            G90
                            M83
                            M106 P0 S0
                            M140 S70
                            M190 S70
                            M104 S230 T0
                            M109 S230 T0
                            ; My start gcode
                            M106 P0 S0 ; Turn part fan off
                            G28 ; Home all
                            ;G32 ; True Bed Levelling
                            G0 X0 Y0 F9000 ; Go to front
                            G0 Z0.15 ; Drop to bed
                            G92 E0 ; zero the extruded length
                            G1 X200 E25 F500 ; Extrude 25mm of filament in a 4cm line
                            G92 E0 ; zero the extruded length
                            G1 E-1 F500 ; Retract a little
                            G1 X220 F4000 ; Quickly wipe away from the filament line
                            G1 Z0.3 ; Raise and begin printing.
                            ; process Process1
                            ; layer 1, Z = 0.450
                            T0
                            G1 E-1.0000 F1800
                            ; feature skirt
                            ; tool H0.450 W0.480
                            G1 Z0.450 F1002
                            G1 X61.184 Y78.054 F7200
                            G1 E1.0000 F1800
                            G1 X61.811 Y77.602 E0.0694 F600
                            G1 X64.932 Y75.731 E0.3268
                            G1 X65.496 Y75.444 E0.0568
                            G1 X67.621 Y74.540 E0.2074
                            

                            When starting a print, it gets up to temperature and starts the fan at 100%

                            1 Reply Last reply Reply Quote 0
                            • richardmckennaundefined
                              richardmckenna
                              last edited by

                              In RRF3 does M106 without P default to P0 like it does in RRF2?

                              dc42undefined 1 Reply Last reply Reply Quote 0
                              • richardmckennaundefined
                                richardmckenna @deckingman
                                last edited by

                                @deckingman wait so if you look at my config in my original post.

                                should my tool definition be

                                M563 P0 S"Hemera" D0 H1 F1
                                

                                or

                                M563 P0 S"Hemera" D0 H1 F0
                                
                                deckingmanundefined 1 Reply Last reply Reply Quote 0
                                • deckingmanundefined
                                  deckingman @richardmckenna
                                  last edited by deckingman

                                  @richardmckenna The latter - F0. The fan that gets assigned to a tool is the part cooling fan and this is normally fan 0. Slicers often insert M106 commands with an S (speed) parameter but no P parameter (fan number). When the firmware see such an M106 Snn (but no "P") command it will default to setting the speed for fan 0 unless you have explicitly assigned some other fan to a tool using M563.

                                  Edit. So if slicer generated M106 commands start to control the hot end fan (Fan 1) then it means that somewhere, there is an M563 command that is assigning fan 1 to a tool, and that is overriding the M563 F0 that is in your config.g. Places to look for such a command are config_override, the slicer start gcode (doesn't look it that's the culprit though), any pre-print macros that get run (including homing files) or any tool change macros (tpre etc).

                                  Ian
                                  https://somei3deas.wordpress.com/
                                  https://www.youtube.com/@deckingman

                                  richardmckennaundefined 1 Reply Last reply Reply Quote 0
                                  • richardmckennaundefined
                                    richardmckenna @deckingman
                                    last edited by

                                    @deckingman ah right ok so I have read something wrong somewhere along the line.

                                    Thank you for your help with this 😁

                                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                                    • deckingmanundefined
                                      deckingman @richardmckenna
                                      last edited by

                                      @richardmckenna It's easy to get confused with the distinction between tools and heaters when discussing fans. It also doesn't help that different commands use different parameters to refer to the same thing (i.e. F0 in M563 but P0 in M106). It would be nice if a heater was always an "H", a tool was always a "T", a fan was always an "F", an extruder was always an "E", a drive was always a "D" etc but for various reasons, that's not possible.

                                      Ian
                                      https://somei3deas.wordpress.com/
                                      https://www.youtube.com/@deckingman

                                      1 Reply Last reply Reply Quote 2
                                      • dc42undefined
                                        dc42 administrators @richardmckenna
                                        last edited by

                                        @richardmckenna said in Thermostatic controlled fan coming on at 50%:

                                        In RRF3 does M106 without P default to P0 like it does in RRF2?

                                        It's the same as in RRF2: if a tool is selected, and the M563 definition for that tool has an F parameter, then it uses the fan(s) specified in that F parameter; otherwise it uses fan 0.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        1 Reply Last reply Reply Quote 1
                                        • Schild0rundefined
                                          Schild0r
                                          last edited by Schild0r

                                          Just noticed this too on both of my machines although on the first machine this didn't create any problems so far with a few 100 hrs of print time. This thread helped me find the cause of this tho and I figured I'd put my findings here:
                                          I set up both machines using the rrf config tool. Turns out that the config tool assigns both the hotend fan and the part cooling fan to the tool so if then the slicer puts in any M106 command without a P parameter (which most don't by default) the hotend fan will be influenced too by that, down to the minimum fan speed of 50% for thermostatic fans that David mentioned above (which isn't actually reported in M106 btw)

                                          dc42undefined 1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators @Schild0r
                                            last edited by

                                            @schild0r said in Thermostatic controlled fan coming on at 50%:

                                            Turns out that the config tool assigns both the hotend fan and the part cooling fan to the tool ...

                                            It should only do that of you tell it to. If you think it is assigning the hot end fan to the tool without you telling it to, then please post a screen shot of the relevant pages of the config tool, and also the generated config.g file.

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA