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

    Duet-Wifi Fans won't turn off

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    9
    40
    7.0k
    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.
    • kraegarundefined
      kraegar
      last edited by

      Hi - just got my duet wifi, and finished connecting everything. Things are generally great, except for one oddity that just started. I had some standard 12v fans going, and wanted to try a "BerdAir" pump - it's a 12v 1A air pump. I connected it to the fan output, and things seemed fine. I can turn the PWM up to 255 and it went high. But now neither an M107, or a M106 P0 S0 turns it all the way off. I connected my old fans again, and same thing. They go lower, but not all the way off.

      Anyone know why this would be?

      Co-Creator of the RailcoreII CoreXY printer
      https://www.thingiverse.com/thing:2407174

      1 Reply Last reply Reply Quote 0
      • T3P3Tonyundefined
        T3P3Tony administrators
        last edited by

        Which Fan input are you using? If you have them set as thermostatic fans they won't go below 50%

        Have you seen this page?:
        https://duet3d.com/wiki/Connecting_and_configuring_fans

        www.duet3d.com

        1 Reply Last reply Reply Quote 0
        • W3DRKundefined
          W3DRK
          last edited by

          Those fan mosfets are only rated to dissipate 1W of power. I'd be VERY careful running a pump that draws 1 amp, since it's possible the inrush current my be several times that. It's also possible that using PWM to regulate speed could exceed the 1W dissipation rating and damage the mosfet.

          Personally if it were me I'd use a beefier mosfet off-board to control that pump.

          1 Reply Last reply Reply Quote 0
          • kraegarundefined
            kraegar
            last edited by

            I'm currently using Fan 0.

            M106 P0 H-1
            M106 P0 S0

            Does not fully turn off the fan still

            So, did I damage my duet just 2 days after getting it?

            Co-Creator of the RailcoreII CoreXY printer
            https://www.thingiverse.com/thing:2407174

            1 Reply Last reply Reply Quote 0
            • kraegarundefined
              kraegar
              last edited by

              Do all 3 pwm fans share a single mosfet?

              I get the same behavior on all 3 fan connections (testing the other 2 connections with my old standard blower fans, not the air pump)

              Co-Creator of the RailcoreII CoreXY printer
              https://www.thingiverse.com/thing:2407174

              1 Reply Last reply Reply Quote 0
              • kraegarundefined
                kraegar
                last edited by

                I take that back,

                M106 P2 H-1
                M106 P2 S0
                M106 P2 S255
                M106 P2 S0

                Gives the expected results (off, on full, off)

                Same for P1….

                So I guess I broke only P0

                Co-Creator of the RailcoreII CoreXY printer
                https://www.thingiverse.com/thing:2407174

                1 Reply Last reply Reply Quote 0
                • W3DRKundefined
                  W3DRK
                  last edited by

                  I just looked up that pump and can see right away it uses a brushed motor.

                  I don't have the Duet WiFi schematic in-front of me, but I doubt the Duet WiFi was designed to handle inductive loads on the fan outputs since everyone uses brushless fans. Without sufficient protection built into the fan outputs, it's possible the mosfet was damaged by back-emf from the brushed motor.

                  1 Reply Last reply Reply Quote 0
                  • kraegarundefined
                    kraegar
                    last edited by

                    Suggestions for an external PWM controller to drive that pump safely off a duet as a fan?

                    Co-Creator of the RailcoreII CoreXY printer
                    https://www.thingiverse.com/thing:2407174

                    1 Reply Last reply Reply Quote 0
                    • T3P3Tonyundefined
                      T3P3Tony administrators
                      last edited by

                      Kraegar, are you using both hotends? if not then you could use the second one to control it.

                      www.duet3d.com

                      1 Reply Last reply Reply Quote 0
                      • kraegarundefined
                        kraegar
                        last edited by

                        No, single hotend. Curious how that'd work?

                        I found those mosfets are rated for 2A, and know at least one other person running that same pump off a fan control on a DuetWifi. Thought I'd done enough homework.

                        Co-Creator of the RailcoreII CoreXY printer
                        https://www.thingiverse.com/thing:2407174

                        1 Reply Last reply Reply Quote 0
                        • W3DRKundefined
                          W3DRK
                          last edited by

                          It's not so much the current draw that's the issue.

                          In addition to that, because of something called the flyback effect, depending on the PWM carrier frequency being used there's a LOT of time for the motor's winding to generate quite a bit of voltage as the magnetic field collapses been cycles. Depending on the motor I wouldn't be surprised to see over 100-volt spikes on an oscilloscope.

                          Regardless of the mosfet used, at the very least I'd put a clamping diode across the motor's contacts to protect whatever you're powering it with.
                          https://en.wikipedia.org/wiki/Flyback_diode

                          A ceramic cap wouldn't hurt either, as that will help reduce RF interference from 3rd order harmonics. Regulating the speed of a brushed motor with PWM can effectively make a powerful spark-gap transmitter, potentially angering any HAM radio operators in your area.

                          EDIT: I'd suggest something like this. As a bonus its also galvanically isolated to help protect the MCU from ground loops and other mishaps.

                          http://www.ebay.com/itm/3V-5V-Low-Control-High-Voltage-12V-24V-36V-E-switch-MOS-FET-Module-for-Arduino-/291743208726?hash=item43ed401516:g:fisAAOSwgY9XfHr7

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

                            The fan outputs on the Duet do not include a flyback diode because the usual brushless fan motors do not need one. However a brushed DC motor does.

                            Fortunately the fan MOSFETs are not difficult to replace, and on the Duet Wifi we added an extra resistor to protect the processor if the fan mosfet fails.

                            I will add a note to the documentation about adding a flyback diode if a brushed DC motor is connected.

                            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
                            • kraegarundefined
                              kraegar
                              last edited by

                              Thanks dc42 - so I should be OK to use the motor via the fan PWM outputs as long as I have a sufficiently rated flyback diode between the leads of the motor?

                              Co-Creator of the RailcoreII CoreXY printer
                              https://www.thingiverse.com/thing:2407174

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

                                @kraegar:

                                Thanks dc42 - so I should be OK to use the motor via the fan PWM outputs as long as I have a sufficiently rated flyback diode between the leads of the motor?

                                The running current of 1A is well within the fan mosfet ratimg, but the startup current might be too high. Best measure the resistance with a multimeter, calculate the startup current, and compare it with the current rating on the mosfet data sheet.

                                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
                                • kraegarundefined
                                  kraegar
                                  last edited by

                                  4.5 ohms, measured through the motor at rest. Not finding a calculation for startup current, though.

                                  Co-Creator of the RailcoreII CoreXY printer
                                  https://www.thingiverse.com/thing:2407174

                                  1 Reply Last reply Reply Quote 0
                                  • W3DRKundefined
                                    W3DRK
                                    last edited by

                                    Unless you're able to "zero" your meter before measuring such a low value, figure about a quarter to half an ohms of resistance is in the probe leads themselves, so the motor is likely closer to about 4-4.25 ohms.

                                    Using Ohms law Volts = Current * Resistance, we can solve for current.

                                    So 12V = I (current) * R 4.25 ohms

                                    12V/4.25ohm = 2.82A

                                    That's about 2.8 to maybe 3 amps of in-rush current depending on your probes. That's obviously not the most accurate way of calculating inrush current, but it should be pretty ballpark.

                                    1 Reply Last reply Reply Quote 0
                                    • peridotundefined
                                      peridot
                                      last edited by

                                      As an aside, can I point out that this should serve as a warning to us all?

                                      When the MOSFET failed, it failed shorted, leaving the attached device running at full. For a fan, this is annoying, but for a heater a shorted MOSFET could start a fire. The board would happily detect an overtemperature condition, but it would respond only by commanding the MOSFET to shut off, which would do nothing. If the setup used PS_ON, and if the firmware triggered an emergency stop on overtemperature, the fire would be averted.

                                      1 Reply Last reply Reply Quote 0
                                      • elmoretundefined
                                        elmoret
                                        last edited by

                                        I would make the argument that heaters capable of auto igniting a fire shouldn't be used without direct full supervision, but that's just me. 🙂

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

                                          @W3DRK:

                                          Unless you're able to "zero" your meter before measuring such a low value, figure about a quarter to half an ohms of resistance is in the probe leads themselves, so the motor is likely closer to about 4-4.25 ohms.

                                          Using Ohms law Volts = Current * Resistance, we can solve for current.

                                          So 12V = I (current) * R 4.25 ohms

                                          12V/4.25ohm = 2.82A

                                          That's about 2.8 to maybe 3 amps of in-rush current depending on your probes. That's obviously not the most accurate way of calculating inrush current, but it should be pretty ballpark.

                                          The fan mosfet is rated at 4.4A for up to 5 seconds at 25C ambient temperature with 4.5V gate drive. The rating will be a little lower at 3.3V gate drive or if the board is warm, but probably still sufficient. If you want to reduce the inrush current, you could connect an inrush current limiting thermistor such as B57153S0200M0 in series with the pump.

                                          You definitely need to use a flyback diode when driving a brushed motor.

                                          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
                                          • kraegarundefined
                                            kraegar
                                            last edited by

                                            I've ordered a pwm/mosfet board to drive the motor, so that'll keep it off the duet. I'll look into getting the mosfet on my duet replaced, and for now, just use the next fan channel.

                                            Is there a way to make m106 default to fan1? Or do I have to force that in gcode?

                                            Co-Creator of the RailcoreII CoreXY printer
                                            https://www.thingiverse.com/thing:2407174

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