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.
    • 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