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

    Fan ON when steppers are ON, OFF when steppers are OFF

    Scheduled Pinned Locked Moved
    General Discussion
    6
    9
    786
    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.
    • Moriquendiundefined
      Moriquendi
      last edited by

      Is there a way to have a fan turn on whenever the steppers are turned on but turn off whenever the steppers are turned off?

      I've just put my Duet in a case with a fan on the back side, my printer stays on permanently but most of the time it's idling and so doesn't need the fan running. I'm just wondering whether there's a way to automate switching it off and on?

      Idris

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • Vetiundefined
        Veti
        last edited by

        i just configured another fan to turn on when the hotend it above 45. this is usually when the steppers are moving.

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

          @moriquendi For my Duet cooling, I stuck a thermistor to the top of one of the driver chips (the a X axis driver that runs most) with small dab of epoxy. Then I monitor that temperature and run the fan thermostatically. I use the Duex5 for that but you could use spare temperature inputs and fans on the Duet if you don't have an expansion board. So in my case I have:

          M305 P103 X2 S"Driver Chip" T100000 B4725 R4700
          and then
          M106 P2 S255 I0 F250 H103 T40 which turns the fan on if the driver chip is above 40deg C and off when it is below.

          Edit. My observation of reported MCU temperature and driver chip temperature as measured by the above means, shows that driver chips are always hotter than the MCU once the motors are energised.

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

          1 Reply Last reply Reply Quote 1
          • Moriquendiundefined
            Moriquendi
            last edited by

            That's one option, I guess I was looking for something a bit more elegant. I'll look at the thermistor on the driver idea.

            Idris

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

              You can also configure a fan to monitor the MCU temperature and the driver overheat warning - that's what I did on my delta:

              M106 P2 H100:101 T45:55 L0.3 ; electronics cooling fan

              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

              Phaedruxundefined 1 Reply Last reply Reply Quote 1
              • wilrikerundefined
                wilriker
                last edited by

                There still is an open Pull Request from me that would allow for exactly that.

                @deckingman said:

                For my Duet cooling, I stuck a thermistor to the top of one of the driver chips (the a X axis driver that runs most)

                Counter-intuitively the drivers that have the most movement will be the coolest whereas those with least movement (usually Z) get hottest. The reason behind this is that as soon as the driver is energized the same amount of current is running through them all the time. But a driver that is moving a stepper will constantly redistribute this current among its internal MOSFETs whereas a stepper that is held at a position will have the MOSFETs kept powered with the same current distribution all the time while holding the position. And some positions (I don't remember which but I think it's half-way of the microstepping between full steps) is worst of all of them.

                Manuel
                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                with probably always latest firmware/DWC (incl. betas or self-compiled)
                My Tool Collection

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

                  @wilriker said in Fan ON when steppers are ON, OFF when steppers are OFF:

                  There still is an open Pull Request from me that would allow for exactly that.

                  @deckingman said:

                  For my Duet cooling, I stuck a thermistor to the top of one of the driver chips (the a X axis driver that runs most)

                  Counter-intuitively the drivers that have the most movement will be the coolest whereas those with least movement (usually Z) get hottest. The reason behind this is that as soon as the driver is energized the same amount of current is running through them all the time. But a driver that is moving a stepper will constantly redistribute this current among its internal MOSFETs whereas a stepper that is held at a position will have the MOSFETs kept powered with the same current distribution all the time while holding the position. And some positions (I don't remember which but I think it's half-way of the microstepping between full steps) is worst of all of them.

                  I bow to your superior knowledge o wise one. ☺

                  Although, wouldn't the total power for a chip be the same whether that total power is distributed through all the MOSFETS or just one or two?

                  Also, what about reduction to holding current? Does that work on a per motor basis or does it require all motors to be inactive before it kicks in? If it's the former, then the Z axis would reduce to the lower holding current whilst the X and Y motors are still using full operation current (providing the layer time is greater than the idle hold time).

                  Edit - for M906, the wiki state "This is the percentage of normal that the motor currents should be reduced to when the printer becomes idle but the motors have not been switched off". My take on that is that all motors have to be idle for the idle time out period so it's the latter case.

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

                  wilrikerundefined 1 Reply Last reply Reply Quote 0
                  • wilrikerundefined
                    wilriker @deckingman
                    last edited by

                    @deckingman said in Fan ON when steppers are ON, OFF when steppers are OFF:

                    Although, wouldn't the total power for a chip be the same whether that total power is distributed through all the MOSFETS or just one or two?

                    Basically yes, but when they see varying amounts of current the indiviual MOSFETs have time to cool down a little bit when the current is a bit lower while a MOSFET seeing a large-ish current over a prolonged period of time (a full layer can be very long) it has the chance to heat up to its maximum working temperature.

                    In the end mind that I used relative terms "coolest" and "hottest". They won't differ in huge amounts but they will differ slightly.

                    Also, what about reduction to holding current? Does that work on a per motor basis or does it require all motors to be inactive before it kicks in? If it's the former, then the Z axis would reduce to the lower holding current whilst the X and Y motors are still using full operation current (providing the layer time is greater than the idle hold time).

                    Edit - for M906, the wiki state "This is the percentage of normal that the motor currents should be reduced to when the printer becomes idle but the motors have not been switched off". My take on that is that all motors have to be idle for the idle time out period so it's the latter case.

                    Your take on idle current reduction is correct. This only kicks in when all motors are idle.
                    There are two other solutions though: one would be a software-side hold-current reduction (Trinamic even recommends that) but David already stated that this is very hard to implement reliably in regards that motors see full current again once they start moving.
                    The other is coolStep which is integrated into the TMC2660's. This will reduce current to a configurable amount once the motors see less load. But that requires stallGuard to be tune very precisely to work effectively. And currently this is a rather tedious manual action that has to be performed per stepper individually.

                    Manuel
                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                    My Tool Collection

                    1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @dc42
                      last edited by

                      @dc42 said in Fan ON when steppers are ON, OFF when steppers are OFF:

                      You can also configure a fan to monitor the MCU temperature and the driver overheat warning - that's what I did on my delta:

                      M106 P2 H100:101 T45:55 L0.3 ; electronics cooling fan

                      @Moriquendi If you go this route, don't forget to calibrate the cpu temp. https://duet3d.dozuki.com/Wiki/Calibrating_the_CPU_temperature

                      Z-Bot CoreXY Build | Thingiverse Profile

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