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

Status-based fan mode

Scheduled Pinned Locked Moved
Firmware wishlist
3
6
831
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.
  • undefined
    wilriker
    last edited by 3 Jun 2018, 09:53

    I want to have a fan turning on whenever the heated bed is heating. This fan is used to cool my PSU and the PSU only get's hotter when a large consumer like the heated bed is drawing enough current. Currently I have it set to whenever heated bed is warmer than 25°C but this could in theory be also because it is a warm day on the room temperature is already above that. It is not really a harm if the fan turns on then also but it is unnecessary in my opinion.

    Also it would be great to have a fan being able to turn on when motors are on. That would then be a trigger to start cooling the Duet. Currently I still have low-current motors that will probably never heat up the drivers anyway but besides buying higher-current motors I also plan to put the Duet into an enclosure that will also have a fan. This one could maybe be simplified by using the already existing virtual heater channel for the drivers that currently reports 0°C in case of no warning and 100/150°C in case of warning or overheating. I have not checked the code base in this regard but I have the feeling this could maybe extended in a way where 0°C means drivers are off, 50°C (or any other value between 0 and 100) means drivers are on but everything OK and 100/150°C keep their current meaning.

    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

    undefined 1 Reply Last reply 3 Jun 2018, 11:09 Reply Quote 0
    • undefined
      deckingman @wilriker
      last edited by 3 Jun 2018, 11:09

      @wilriker

      The drivers only supply warning flags. There is no output from the driver chips that report actual temperature. So if you want to control fans based on temperature, you need to stick temperature sensors (thermistors) directly onto the driver chip. You could do likewise with the PSU - that way fans will only come on when cooling is needed due to temperature and will take account of ambient temperature as well as PSU load.

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

      undefined 1 Reply Last reply 3 Jun 2018, 11:14 Reply Quote 0
      • undefined
        wilriker @deckingman
        last edited by wilriker 6 Mar 2018, 18:57 3 Jun 2018, 11:14

        @deckingman I know that the drivers do not actually report temperatures and that 100/150°C are also just values that are set by RRF based on flags the drivers set in various responses. What I was asking for is to extend that behavior with another (fixed) value above 0 and below 100 that will only indicate that the driver is currently powering the motor (in contrast to being disabled by M18/M84). This way one could setup a thermostatically controlled fan the usual way using this specific temperature as trigger value.

        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
        • undefined
          dc42 administrators
          last edited by 3 Jun 2018, 11:16

          Have you considered wiring the PSU fan in parallel with the bed heater? You might need to increase the bed heater PWM frequency from its default value to e.g. 100Hz to avoid the sound of it cutting in and out when the bed heater power is reduced.

          For the electronics, you could have the cooling fan triggered by CPU temperature and by any driver overheat warnings.

          This one could maybe be simplified by using the already existing virtual heater channel for the drivers that currently reports 0°C in case of no warning and 100/150°C in case of warning or overheating. I have not checked the code base in this regard but I have the feeling this could maybe extended in a way where 0°C means drivers are off, 50°C (or any other value between 0 and 100) means drivers are on but everything OK and 100/150°C keep their current meaning.

          That's an interesting idea, I'll give it some thought.

          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

          undefined 2 Replies Last reply 3 Jun 2018, 18:50 Reply Quote 0
          • undefined
            wilriker @dc42
            last edited by 3 Jun 2018, 18:50

            @dc42 said in Status-based fan mode:

            Have you considered wiring the PSU fan in parallel with the bed heater? You might need to increase the bed heater PWM frequency from its default value to e.g. 100Hz to avoid the sound of it cutting in and out when the bed heater power is reduced.

            To quote you even more: That's an interesting idea, I'll give it some thought. 😉

            This would also save me a fan connector on the board which I would run short otherwise...

            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
            • undefined
              wilriker @dc42
              last edited by 18 Jun 2018, 11:45

              @dc42 said in Status-based fan mode:

              This one could maybe be simplified by using the already existing virtual heater channel for the drivers that currently reports 0°C in case of no warning and 100/150°C in case of warning or overheating. I have not checked the code base in this regard but I have the feeling this could maybe extended in a way where 0°C means drivers are off, 50°C (or any other value between 0 and 100) means drivers are on but everything OK and 100/150°C keep their current meaning.

              That's an interesting idea, I'll give it some thought.

              I created https://github.com/dc42/RepRapFirmware/pull/180 for this.

              wilriker opened this pull request 18 Jun 2018, 11:45 in dc42/RepRapFirmware

              open Report 40°C on virtual TMC heater channel for any driver being active #180

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