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

    Any PWM Fan not working

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    20
    2.8k
    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.
    • number40fanundefined
      number40fan
      last edited by

      https://www.duet3d.com/forum/thread.php?id=2471#p23167

      If you look at that thread, he has 40x40x20 fans as well, but had to add the F10 at the end of his M106.

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

        @tommertens:

        Hi all,

        I have not been able to get any PWM fan working as a part cooling fan.
        I have tried all PWM fan outputs, ensuring that fan 1 and 2 aren't thermostatically controlled.

        The fans work when plugged into the 'always on' section but don't when not.

        Pictured are the fans in question, two 40mm x 20mm fans from Noctua.

        Thanks in advance,

        Tom

        Not all fans run happily with PWM. IIRC the default PWM frequency is 250Hz but lowering it to 100 or less may be what is needed for those particular fans. For a print cooling fan you'd need something like M106 P0 S0.0 I0 F100 (or maybe even lower) H-1 in you config.g. This all assumes that the fans are connected to the main Duex board. The Duex2 and Duex5 do not support variable PWM frequencies. HTH

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

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

          As Ian says, not all fans like PWM. Do they work on the PWM fan outputs when those are set to full on? M106 P0 S1

          www.duet3d.com

          1 Reply Last reply Reply Quote 0
          • tommertensundefined
            tommertens
            last edited by

            These fans were sold as PWM capable. Will try adding the M106 command to the config once I'm back in the office. Will let you know how it goes.

            Cheers all!

            1 Reply Last reply Reply Quote 0
            • tommertensundefined
              tommertens
              last edited by

              Adding the M106 command didn't do anything unfortunately.

              1 Reply Last reply Reply Quote 0
              • number40fanundefined
                number40fan
                last edited by

                F10 at the end?

                1 Reply Last reply Reply Quote 0
                • tommertensundefined
                  tommertens
                  last edited by

                  Yep, as below.

                  M106 P0 S0.3 I0 H-1 F10 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                  M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                  M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

                  1 Reply Last reply Reply Quote 0
                  • number40fanundefined
                    number40fan
                    last edited by

                    I don't have particular fan to try, but I do have a 40x40x30.

                    M106 P1 H-1
                    M563 P0 D0 H1 F0:1 is what I have in my config and I was able to PWM control it. Might be worth a shot.

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

                      @tommertens:

                      Yep, as below.

                      M106 P0 S0.3 I0 H-1 F10 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                      M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                      M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

                      You have fan 0 set at 30% PWM and fans 1 and 2 in thermostatic mode. Not a good test. Try them in non thermostatic mode at 100% speed:

                      M106 P0 S1 H-1
                      M106 P1 S1 H-1
                      M106 P2 S1 H-1

                      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
                      • deckingmanundefined
                        deckingman
                        last edited by

                        @tommertens:

                        Yep, as below.

                        M106 P0 S0.3 I0 H-1 F10 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                        M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                        M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

                        As Tony asked, does it work if you set full on by using S1?

                        If that works, then you could try S0.3 but use the B parameter to give it a blip https://duet3d.com/wiki/G-code#M106:_Fan_On

                        Edit. I was typing at the same time as David

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

                        1 Reply Last reply Reply Quote 0
                        • tommertensundefined
                          tommertens
                          last edited by

                          It doesn't work with S1 either. Neither did the F0:1 line.

                          1 Reply Last reply Reply Quote 0
                          • tommertensundefined
                            tommertens
                            last edited by

                            Here is my config.

                            ; CoreXY sample config file for dc42 Duet firmware
                            
                            M111 S0                             ; Debug off
                            M550 PMyCoreXY				        ; Machine name (can be anything you like)
                            M551 Preprap                        ; Machine password (used for FTP connections)
                            M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
                            ;*** Adjust the IP address and gateway in the following 2 lines to suit your network
                            M552 S1 P0.0.0.0						; IP address (0 = use DHCP)
                            M554 P192.168.1.1                   ; Gateway
                            M553 P255.255.255.0                 ; Netmask
                            M555 P1                             ; Set output to look like Marlin
                            M575 P1 B57600 S1					; Comms parameters for PanelDue
                            
                            ; Machine configuration
                            M569 P0 S0							; Drive 0 goes forwards (change to S0 to reverse it)
                            M569 P1 S1							; Drive 1 goes forwards
                            M569 P2 S0							; Drive 2 goes forwards
                            M569 P3 S1							; Drive 3 goes forwards
                            M569 P4 S1							; Drive 4 goes forwards
                            ; If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
                            M574 X1 Y1 Z0 S1					; set endstop configuration (X and Y and endstops only, at low end, active high)
                            M667 S1								; set CoreXY mode
                            M92 X80 Y80 Z800					; Set axis steps/mm
                            M92 E402:402						; Set extruder steps/mm
                            M906 X2000 Y2000 Z2000 E800           ; Set motor currents (mA)
                            M201 X600 Y500 Z5 E1000            ; Accelerations (mm/s^2)
                            M203 X15000 Y15000 Z500 E3600       ; Maximum speeds (mm/min)
                            M566 X600 Y600 Z30 E20              ; Maximum jerk speeds mm/minute
                            M208 X450 Y500 Z1083					; set axis maxima (adjust to suit your machine)
                            M208 X-8 Y0 Z-0.5 S1				; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
                            G21                                 ; Work in millimetres
                            G90                                 ; Send absolute coordinates...
                            M83                                 ; ...but relative extruder moves
                            
                            ; Z probe
                            M558 P1 X0 Y0 Z1                    ; Analog Z probe, also used for homing the Z axis
                            G31 Z1.20 P500                      ; Set the probe height and threshold (put your own values here)
                            ; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
                            ;*** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
                            M557 P0 X60 Y0                      ; Four... 
                            M557 P1 X60 Y165                    ; ...probe points...
                            M557 P2 X222 Y165                   ; ...for bed...
                            M557 P3 X222 Y0                     ; ...levelling
                            ;M557 P4 X141 Y82.5                 ; 5th probe point for levelling
                            
                            ; Thermistors and heaters
                            ;*** If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands
                            ; You can also use S and B parameters to define the parameters of the thermistors you are using
                            M305 P0 R4700 H0 L0					; Put your own H and/or L values here to set the bed thermistor ADC correction
                            M305 P1 R4700 H0 L0					; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
                            M305 P2 R4700 H0 L0					; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
                            M301 H1 P10 I0.10 D100 T0.50 S1.0	; PID settings for extruder 0
                            M301 H2 P10 I0.10 D100 T0.50 S1.0	; PID settings for extruder 1
                            M570 S120							; Increase to allow extra heating time if needed
                            
                            ; Tool definition
                            M563 P0 D0 H1 F0                  ; Define tool 0
                            G10 P0 S0 R0                        ; Set tool 0 operating and standby temperatures
                            ;*** If you have a dual-nozzle build, un-comment the following 3 lines
                            M563 P1 D1 H2 F0                     ; Define tool 1
                            G10 P1 S0 R0                       ; Set tool 1 operating and standby temperatures
                            
                            ;*** If you are using axis compensation, put the figures in the following command
                            M556 S78 X0 Y0 Z0                   ; Axis compensation here
                            T0									; select first hot end
                            
                            ; Fan Configuration
                            M106 P0 H-1 B0.2
                            M106 P1 H-1	B0.2
                            M106 P2 H-1	B0.2
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • number40fanundefined
                              number40fan
                              last edited by

                              Can you confirm that you are getting 12 volts and a ground out of the connection that you are using?

                              1 Reply Last reply Reply Quote 0
                              • tommertensundefined
                                tommertens
                                last edited by

                                I would have done but upon attempting to check with the multimeter I slipped and shorted something out. Board is dead.

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

                                  I'm sorry to hear of your misfortune. Is the board completely dead, or just the fan outputs?

                                  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