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

    Duet 3 Expansion Fan Output issue

    Scheduled Pinned Locked Moved
    General Discussion
    4
    9
    417
    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.
    • maddyundefined
      maddy
      last edited by maddy

      I have a fan (F0) connected to Out6 of Duet 3 expansion, and trying to activate the fan thermostatically with heater (H1), which is the Out1 of the Duet 3 Mainboard.
      The fan F0 is not activated when the temp of H1 reaches the limit (T45), can somebody check the config.g file

      ; Heaters
      M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
      M307 H0 B1 S1.00                             ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                      ; map heated bed to heater 0
      M143 H0 S120                                 ; set temperature limit for heater 0 to 120C
      M308 S1 P"spi.cs0" Y"rtd-max31865"           ; configure sensor 1 as thermocouple via CS pin spi.cs0
      M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S280                                 ; set temperature limit for heater 1 to 280C
      M308 S2 P"spi.cs1" Y"rtd-max31865"           ; configure sensor 2 as thermocouple via CS pin spi.cs1
      M950 H2 C"out2" T2                           ; create nozzle heater output on out2 and map it to sensor 2
      M307 H2 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
      M143 H2 S280                                 ; set temperature limit for heater 2 to 280C
      M308 S3 P"spi.cs2" Y"rtd-max31865"           ; configure sensor 3 as thermocouple via CS pin spi.cs2
      M950 H3 C"out3" T3                           ; create nozzle heater output on out3 and map it to sensor 3
      M307 H3 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
      M143 H3 S280                                 ; set temperature limit for heater 3 to 280C
      
      ; Fans
      M950 F0 C"1.out6" Q500                       ; create fan 0 on pin 1.out6 and set its frequency
      M106 P0 S0.5 H1 T45                     		 ; set fan 0 value. Thermostatic control is turned on 
      M950 F1 C"1.out7" Q500                       ; create fan 1 on pin 1.out7 and set its frequency
      M106 P1 S1 H-1                               ; set fan 1 value. Thermostatic control is turned off
      M950 F2 C"1.out8" Q500                       ; create fan 2 on pin 1.out8 and set its frequency
      M106 P2 S1 H-1                               ; set fan 2 value. Thermostatic control is turned off
      
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        @maddy said in Duet 3 Expansion Fan Output issue:

        S0.5

        Can you try changing the S0.5 to S1. Perhaps it's trying to start up 50% power isn't enough to get it off and running. You could also try adding a B1 to the M106 P0 to give it a blip of full power for 1 second before going to 50% in case you want to have half speed for reduced noise or something.

        Does the fan work at all if you send M106 P0 H-1 S1?

        Z-Bot CoreXY Build | Thingiverse Profile

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

          In addition to what @Phaedrux has said, a couple of other things come to mind. The first is your tool definitions which you haven't posted. What I mean by that is that by default, fan 0 is the part cooling fan and is normally non thermostatic. So unless you have mapped some other fan to a tool, then any M106 without parameters will try to control fan 0. It's generally easier to stick with the default protocol and define fan 0 as the part cooling fan, and other fans as thermostatic.
          The second thing that comes to mind is the frequency. Some fans simply don't play nice with PWM. I have some tiny blower fans and find that they work best with a PWM (the Q value) set right down low at 10 (Hz - you have 500).

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

          1 Reply Last reply Reply Quote 0
          • maddyundefined
            maddy
            last edited by

            @Phaedrux the fan works fine, I tried with code M106 P0 H-1 S1.
            @deckingman Tried with fan0 and fan1. The duet3 MB controlled fan 0 (connected to out7) thermostatically, instead out7 of the duet3 MB, now I want to use out6 of duet3 expansion for thermostatically controlling the fan0.
            The duet3 expansion fan terminals (out3-8) behaving strangely, what I mean is that the fan is always ON on most terminals (out3-8) even if they are not called in the config.g. Also, I tested all the terminals (out3-8) to fan0, one by one I enabled once in the config.g file, the fan is always ON in all cases even after disabling them in the config.g file. See the test config.g file, I tried to change the code 1.outX (X=3...8) in the Fans section(line 50 M950 code).
            This behavior could be due to the latest firmware? I recently got the expansion board (duet3 exp v1.0) and updated the firmware 3.2.2. What do you suggest?

            ; Configuration file for Duet 3 (firmware version 3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Mar 12 2021 18:57:07 GMT-0500 (Eastern Standard Time)
            
            ; General preferences
            G90                                          ; send absolute coordinates...
            M83                                          ; ...but relative extruder moves
            M550 P"Duet 3"                               ; set printer name
            
            ; Drives
            M569 P0.0 S1                                 ; physical drive 0.0 goes forwards
            M569 P0.1 S1                                 ; physical drive 0.1 goes forwards
            M569 P1.0 S1                                 ; physical drive 1.0 goes forwards
            M584 X0.0 Y0.1 Z1.0                          ; set drive mapping
            M350 X16 Y16 Z16 I1                          ; configure microstepping with interpolation
            M92 X640.00 Y640.00 Z640.00                  ; set steps per mm
            M566 X900.00 Y900.00 Z60.00                  ; set maximum instantaneous speed changes (mm/min)
            M203 X6000.00 Y6000.00 Z180.00               ; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z20.00                  ; set accelerations (mm/s^2)
            M906 X800 Y800 Z800 I30                      ; set motor currents (mA) and motor idle factor in per cent
            M84 S30                                      ; Set idle timeout
            
            ; Axis Limits
            M208 X0 Y0 Z0 S1                             ; set axis minima
            M208 X150 Y150 Z30 S0                        ; set axis maxima
            
            ; Endstops
            M574 X1 S1 P"!io0.in"                        ; configure active-high endstop for low end on X via pin !io0.in
            M574 Y1 S1 P"!io1.in"                        ; configure active-high endstop for low end on Y via pin !io1.in
            M574 Z1 S2                                   ; configure Z-probe endstop for low end on Z
            
            ; Z-Probe
            M558 P5 C"^io7.in" H5 F120 T1800             ; set Z probe type to switch and the dive height + speeds
            G31 P500 X0 Y0 Z2.5                          ; set Z probe trigger value, offset and trigger height
            M557 X15:150 Y15:150 S20                     ; define mesh grid
            
            ; Heaters
            M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
            M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
            M307 H0 B1 S1.00                             ; enable bang-bang mode for the bed heater and set PWM limit
            M140 H0                                      ; map heated bed to heater 0
            M143 H0 S120                                 ; set temperature limit for heater 0 to 120C
            M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
            M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
            M307 H1 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
            M143 H1 S280                                 ; set temperature limit for heater 1 to 280C
            
            ; Fans
            M950 F0 C"1.out6" Q500                       ; create fan 0 on pin 1.out6 and set its frequency
            M106 P0 S0 H1 T45                            ; set fan 0 value. Thermostatic control is turned on
            
            ; Tools
            M563 P0 D0 H1 F0                             ; define tool 0
            G10 P0 X0 Y0 Z0                              ; set tool 0 axis offsets
            G10 P0 R0 S0                                 ; set initial tool 0 active and standby temperatures to 0C
            
            ; Custom settings are not defined
            
            ; Miscellaneous
            M575 P1 S1 B57600                            ; enable support for PanelDue
            
            
            
            jay_s_ukundefined deckingmanundefined 2 Replies Last reply Reply Quote 0
            • jay_s_ukundefined
              jay_s_uk @maddy
              last edited by

              @maddy said in Duet 3 Expansion Fan Output issue:

              fan is always ON

              I'm not surprised. you're setting the none thermostatically controlled fans to be on straight away. This is what the S1 does in M106

              Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

                @maddy

                Also, I tested all the terminals (out3-8) to fan0, one by one I enabled once in the config.g file, the fan is always ON in all cases even after disabling them in the config.g file.

                How did you test the terminals? The positive pin will always be live because the MOSFET switches the negative side.

                I have my part cooling fans connected to out6 of an expansion board (board 2 in my case).

                This is the relevant part of my config.g file

                M950 F0 C"2.out6" Q10; fan 0, part cooling fan frequency 10 hz, connected to expansion board 2 out6 (12v) 
                M106 P0 S0.0 H-1 C"Print Fan"; Set print cooling fan name, thermostatic control is turned off
                

                I've had to remove my part cooling fans temporarily but IIRC, they were working fine in RRF 3.2.2.

                Update. I've now refitted my part cooling fans, connected them to out6 on expansion board 2 and they work just fine (RRF 3.3Beta2)

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

                1 Reply Last reply Reply Quote 0
                • maddyundefined
                  maddy
                  last edited by maddy

                  Thank you @deckingman @Phaedrux @jay_s_uk your feedback is very helpful. After a couple of trials, I understood that the fan outputs of a board can ONLY be thermostatically controlled if they are linked to heaters of that board. For example, out6 of a duet3 expansion can only be thermostatically turned on if it is linked to the heaters (out0-3) of the expansion board in the M106 code.
                  In my case, I have heaters on the mainboard and the fans on the expansion board (in the above code), I tried to thermostatically activate the fans linked to the mainboard heaters, but it did not work.
                  I guess that the fan outputs have some kind of relationship with the heater outputs of a duet board, @dc42 can you please shed some light on this issue.

                  On the other note, it was suggested that to use high current outputs of a board for waterpump/airpump to better handle the current requirements of the motors. I tried to use heater output(out0) of the duet 3 expansion board for the air blower, it did not work. Any feedback on this, please?

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

                    @maddy said in Duet 3 Expansion Fan Output issue:

                    I guess that the fan outputs have some kind of relationship with the heater outputs of a duet board

                    Correct.

                    A thermostatically-controlled fan on an expansion board can only be controlled by a temperature sensor on the same expansion board.

                    https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • maddyundefined
                      maddy
                      last edited by maddy

                      @maddy said in Duet 3 Expansion Fan Output issue:

                      On the other note, it was suggested that to use high current outputs of a board for waterpump/airpump to better handle the current requirements of the motors. I tried to use heater output(out0) of the duet 3 expansion board for the air blower, it did not work. Any feedback on this, please?

                      It is now working when the terminal connections are reversed. While connecting the airpump to the board I followed the Wiring diagram of Duet3 Expan 3HC, https://duet3d.dozuki.com/Wiki/Duet_3_Expansion_3HC_Wiring_Diagram, the heater terminals on the board are opposite to the representation of the wiring diagram. I have the Duet 3 Expan 3HC V1.0 board.

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