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

      On that note I’ve just found this https://noctua.at/media/wysiwyg/Noctua_PWM_specifications_white_paper.pdf page 6

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

        @gtj0 Yes, I appreciate that but the bit that I can't get my head around is that, in this case, the OP doesn't want to vary the speed. He wants the fan to run at full speed. Which means that PWM will always be high and never switch to low doesn't it? In which case, why does it matter what frequency that never switching to low occurs at?

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

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

          @deckingman it doesn’t I think @gtj0 was just letting me know that my original Q value was quite low for a PWM fan.

          1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA