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

    Fan controls don't work, console does

    Scheduled Pinned Locked Moved
    Duet Web Control
    5
    11
    693
    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.
    • Mentaluproarundefined
      Mentaluproar
      last edited by

      When I try to control the fans using the webUI, they don't all show up and changing the visibility of sliders does some strange things. The slider that does appear does not control anything, but M106 and M42 commands on those pins work fine in the console. I took a screen recording of the strange recording. Below is my config.g and a link to the screencap. This behavior occurs in both firefox and safari.

      https://youtu.be/zN1I1f39ffc

      config.g

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Feb 13 2020 22:21:56 GMT-0500 (Eastern Standard Time)

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"foamboard forge" ; set printer name

      ; Network
      M552 S1 ; enable network
      M586 P0 S1 ; enable HTTP
      M586 P1 S0 ; disable FTP
      M586 P2 S0 ; disable Telnet

      ; Drives
      M569 P0 S1 ; physical drive 0 goes forwards
      M569 P1 S1 ; physical drive 1 goes forwards
      M569 P2 S0 ; physical drive 2 goes backwards
      M569 P3 S1 ; physical drive 3 goes forwards
      M569 P4 S1 ; physical drive 4 goes forwards
      M584 X0 Y1 Z2 E3:4 ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00 E420.00:420.00 ; set steps per mm
      M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z1800.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800 E800:800 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 min
      M208 X608 Y300 Z350 S0 ; set axis max

      ; Endstops
      M574 X1 S1 P"xstop" ; configure active-low endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop" ; configure active-low endstop for low end on Y via pin ystop
      M574 Z1 S1 P"zstop" ; configure active-low endstop for low end on Z via pin zstop

      ; Z-Probe
      ; M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
      ; M557 X15:215 Y15:195 S20 ; define mesh grid

      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
      M143 H0 S120 ; set temperature limit for heater 0 to 120C
      M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0 ; map heated bed to heater 0
      M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin duex.e2temp
      M950 H1 C"duex.e2heat" T1 ; create hotend heater output on duex.e2heat and map it to sensor 1
      M143 H1 S280 ; set temperature limit for heater 1 to 280C
      M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

      ; Fans
      M950 F3 C"duex.fan3" ; create fan 3 on pin duex.fan3 for cooling board
      M106 P3 C"MCU" T45:65 H100:101:102 ; activate fan 3 if temp is between 45-65 (speed increases with board temp), also activates if drivers report overtemp
      M950 F4 C"duex.fan4" ; create fan 4 on pin duex.fan4 for hotend
      M106 P4 C"hotend" T30 S1.0 H1 ; activate fan 4 at 100% if hotend temp exceeds 30C
      M950 F5 C"duex.fan5" ; create fan 5 on pin duex.fan5 for part cooling
      M106 P1 C"part cooler" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off
      M950 P6 C"duex.fan6" ; create pin 3 (LED)
      M106 P6 C"lighting" H-1 ; display lighting control

      ; Tools
      M563 P0 S"hotend" D0:1 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
      M568 P0 S1 ; enable mixing for tool 0
      M567 P0 E0.5:0.5 ; set mixing ratios for tool 0

      ; Custom settings are not defined

      1 Reply Last reply Reply Quote 0
      • aidarundefined
        aidar
        last edited by

        @Mentaluproar said in Fan controls don't work, console does:

        M950 F5 C"duex.fan5" ; create fan 5 on pin duex.fan5 for part cooling
        M106 P1 C"part cooler" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off

        Is it fan 5 or fan 1 ? And thermostatically controlled fans are not shown in DWC because you cant control them manually anyway, they are controlled by firmware.

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

          ; Fans

          M950 F3 C"duex.fan3" ; create fan 3 on pin duex.fan3 for cooling board
          M106 P3 C"MCU" T45:65 H100:101:102 ; activate fan 3 if temp is between 45-65 (speed increases with board temp), also activates if drivers report overtemp
          M950 F4 C"duex.fan4" ; create fan 4 on pin duex.fan4 for hotend
          M106 P4 C"hotend" T30 S1.0 H1 ; activate fan 4 at 100% if hotend temp exceeds 30C
          M950 F5 C"duex.fan5" ; create fan 5 on pin duex.fan5 for part cooling
          M106 P1 C"part cooler" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off
          M950 P6 C"duex.fan6" ; create pin 3 (LED)
          M106 P6 C"lighting" H-1 ; display lighting control

          ; Tools

          M563 P0 S"hotend" D0:1 H1 F0 ; define tool 0

          You have called the part cooling fan F5 in the M950 command, P1 in the M106 command, and F0 in the M563 command. Change it to fan 0 in all 3.

          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
          • Mentaluproarundefined
            Mentaluproar
            last edited by Mentaluproar

            EDIT: Updating DWC fixes the dashboard fan control problem.

            @dc42 said in Fan controls don't work, console does:

            950 F5 C"duex.fan5" ; create fan 5 on pin duex.fan5 for part cooling
            M106 P1 C"part cooler" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off
            M950 P6 C"duex.fan6" ; create pin 3 (LED)
            M106 P6 C"lighting" H-1 ; display lighting control
            ; Tools
            M563 P0 S"hotend" D0:1 H1 F0 ; define tool 0
            Okay, so I cleaned some things up. I didn't realize fans had to start at zero and go up from there. Fan0 work properly everywhere. I haven't tested fan1 since I want powering the heaters to be the last thing I do. Fan2 controls the MCU fan manually, but only on the status page. On the dashboard, the controls take input, but ignore it and flip back to the part cooler. It's supposed to be thermostatically controlled. I don't mind having a slider I can mess around with and see move by itself though, but the behavior should be consistent. Pin3 doesn't respond to M106, which I can understand because it isn't a fan, but I can't make a slider for the lighting. I can only use a macro of M42 to turn them on and off.

            So, closer, but not there yet. new config.g below:

            ; Configuration file for Duet WiFi (firmware version 3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Feb 13 2020 22:21:56 GMT-0500 (Eastern Standard Time)

            ; General preferences
            G90 ; send absolute coordinates...
            M83 ; ...but relative extruder moves
            M550 P"foamboard forge" ; set printer name

            ; Network
            M552 S1 ; enable network
            M586 P0 S1 ; enable HTTP
            M586 P1 S0 ; disable FTP
            M586 P2 S0 ; disable Telnet

            ; Drives
            M569 P0 S1 ; physical drive 0 goes forwards
            M569 P1 S1 ; physical drive 1 goes forwards
            M569 P2 S0 ; physical drive 2 goes backwards
            M569 P3 S1 ; physical drive 3 goes forwards
            M569 P4 S1 ; physical drive 4 goes forwards
            M584 X0 Y1 Z2 E3:4 ; set drive mapping
            M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
            M92 X80.00 Y80.00 Z400.00 E420.00:420.00 ; set steps per mm
            M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
            M203 X6000.00 Y6000.00 Z1800.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
            M906 X800 Y800 Z800 E800:800 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 min
            M208 X608 Y300 Z350 S0 ; set axis max

            ; Endstops
            M574 X1 S1 P"xstop" ; configure active-low endstop for low end on X via pin xstop
            M574 Y1 S1 P"ystop" ; configure active-low endstop for low end on Y via pin ystop
            M574 Z1 S1 P"zstop" ; configure active-low endstop for low end on Z via pin zstop

            ; Z-Probe
            ; M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
            ; M557 X15:215 Y15:195 S20 ; define mesh grid

            ; Heaters
            M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
            M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
            M143 H0 S120 ; set temperature limit for heater 0 to 120C
            M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
            M140 H0 ; map heated bed to heater 0
            M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin duex.e2temp
            M950 H1 C"duex.e2heat" T1 ; create hotend heater output on duex.e2heat and map it to sensor 1
            M143 H1 S280 ; set temperature limit for heater 1 to 280C
            M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

            ; Fans
            M950 F0 C"duex.fan5" ; create fan 0 on pin duex.fan5 for part cooling
            M106 P0 C"part cooler" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
            M950 F1 C"duex.fan4" ; create fan 1 on pin duex.fan4 for hotend
            M106 P1 C"hotend" T30 S1.0 H1 ; activate fan 1 at 100% if hotend temp exceeds 30C
            M950 F2 C"duex.fan3" ; create fan 2 on pin duex.fan3 for cooling board
            M106 P2 C"MCU" L50 X255 T15:65:65 H100:101:102 ; activate fan 2 if MCU temp is over 15, driver temp is over 65, or duex driver is over 65
            M950 P3 C"duex.fan6" ; create pin 3 (LED)
            M106 P3 C"lighting" S0 H-1 ; display lighting control

            ; Tools
            M563 P0 S"hotend" D0:1 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
            ; M568 P0 S1 ; enable mixing for tool 0 (commented: obsolete)
            M567 P0 E0.5:0.5 ; set mixing ratios for tool 0

            ; Custom settings are not defined

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

              Is everything working now?

              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
              • Mentaluproarundefined
                Mentaluproar
                last edited by

                No. Sorry I didn't get my quote levels right. From above:

                Okay, so I cleaned some things up. I didn't realize fans had to start at zero and go up from there. Fan0 work properly everywhere. I haven't tested fan1 since I want powering the heaters to be the last thing I do. Fan2 controls the MCU fan manually, but only on the status page. On the dashboard, the controls take input, but ignore it and flip back to the part cooler. It's supposed to be thermostatically controlled. I don't mind having a slider I can mess around with and see move by itself though, but the behavior should be consistent. Pin3 doesn't respond to M106, which I can understand because it isn't a fan, but I can't make a slider for the lighting. I can only use a macro of M42 to turn them on and off.

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @Mentaluproar
                  last edited by

                  @Mentaluproar Please post current config.g. Thermostatic fans don’t show a slider, as they are automatically controlled. Tool fans only show when the tool is active. Name fans/LEDs with C parameter in M106. Change visibility of fans in DWC in the status page. See other threads about LED lights.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  1 Reply Last reply Reply Quote 0
                  • Mentaluproarundefined
                    Mentaluproar
                    last edited by

                    I started over with the reprap configurator, plugging in values from this config but letting the tool create the config.g for me. Fans behaved. For future reference, here is my config.g file. Everything but bltouch works, but I'll do another post for that.

                    ; Configuration file for Duet WiFi (firmware version 3)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Wed Feb 26 2020 00:58:29 GMT-0500 (Eastern Standard Time)

                    ; General preferences
                    G90 ; send absolute coordinates...
                    M83 ; ...but relative extruder moves
                    M550 P"foamboard forge" ; set printer name

                    ; Network
                    M552 S1 ; enable network
                    M586 P0 S1 ; enable HTTP
                    M586 P1 S0 ; disable FTP
                    M586 P2 S0 ; disable Telnet

                    ; Drives
                    M569 P0 S1 ; physical drive 0 goes forwards
                    M569 P1 S1 ; physical drive 1 goes forwards
                    M569 P2 S0 ; physical drive 2 goes backwards
                    M569 P5 S1 ; physical drive 5 goes forwards
                    M569 P6 S1 ; physical drive 6 goes forwards
                    M584 X0 Y1 Z2 E5:6 ; set drive mapping
                    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
                    M92 X80.00 Y80.00 Z400.00 E824.00:824.00 ; set steps per mm
                    M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
                    M203 X6000.00 Y6000.00 Z1800.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
                    M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
                    M906 X800 Y800 Z800 E800:800 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 X300 Y300 Z350 S0 ; set axis maxima

                    ; Endstops
                    M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop
                    M574 Y1 S0 P"ystop" ; configure active-low endstop for low end on Y via pin ystop
                    M574 Z1 S0 P"zstop" ; configure active-low endstop for low end on Z via pin zstop

                    ; Z-Probe
                    M950 S0 C"duex.e3heat" ; create servo pin 0 for BLTouch
                    M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
                    G31 P500 X-40 Y-10 Z2.5 ; set Z probe trigger value, offset and trigger height
                    M557 X15:215 Y15:195 S20 ; define mesh grid

                    ; Heaters
                    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
                    M950 H0 C"e0heat" T0 ; create bed heater output on e0heat and map it to sensor 0
                    M143 H0 S120 ; set temperature limit for heater 0 to 120C
                    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
                    M140 H0 ; map heated bed to heater 0
                    M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin duex.e2temp
                    M950 H1 C"duex.e2heat" T1 ; create nozzle heater output on duex.e2heat and map it to sensor 1
                    M143 H1 S280 ; set temperature limit for heater 1 to 280C
                    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

                    ; Fans
                    M950 F0 C"duex.fan5" Q500 ; create fan 0 on pin duex.fan5 and set its frequency
                    M106 P0 C"part cooler" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
                    M950 F1 C"duex.fan4" Q500 ; create fan 1 on pin duex.fan4 and set its frequency
                    M106 P1 C"hotend" S0 H1:1 T30 ; set fan 1 name and value. Thermostatic control is turned on
                    M950 F2 C"duex.fan3" Q500 ; create fan 2 on pin duex.fan3 and set its frequency
                    M106 P2 C"mcu" S0 H-1 ; set fan 2 name and value. Thermostatic control is turned off
                    M950 F3 C"duex.fan6" Q500 ; create fan 3 on pin duex.fan6 and set its frequency
                    M106 P3 C"lighting" S1 H-1 ; set fan 3 name and value. Thermostatic control is turned off

                    ; Tools
                    M563 P0 S"hotend" D0:1 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
                    M568 P0 S1 ; enable mixing for tool 0
                    M567 P0 E0.5:0.5 ; set mixing ratios for tool 0

                    ; Custom settings
                    M308 S2 P"duex.e3temp" Y"thermistor" A"chamber temp" T100000 B3988 C0 R2200 ; chamber temperature sensor
                    M307 H0 A77.5 C296.9 D3.8 C24.1 B0 ; calibrate bed heater
                    M307 H1 A348.9 C165.7 D3.7 C24.2 B0 ; calibrate hotend heater

                    ; TODO
                    ; When a seperate lighting control method is found, break lighting out from fan controls

                    1 Reply Last reply Reply Quote 0
                    • Mentaluproarundefined
                      Mentaluproar
                      last edited by

                      Nope! Tool fan still shows up as a selectable and controllable fan on the UI, but it just copies the values of the parts cooler fan. Tool fan shouldn't show up under fan controls at all.

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

                        @Mentaluproar said in Fan controls don't work, console does:

                        Nope! Tool fan still shows up as a selectable and controllable fan on the UI, but it just copies the values of the parts cooler fan. Tool fan shouldn't show up under fan controls at all.

                        That's working as intended. The tool fan slider is for the currently selected tool. The part cooling fan is for that particular fan. You only have 1 tool, so they are the same. But if you had two print heads, or a tool changer, the tool fan would be for the currently selected tool, and then there would be the actual part cooling fans. The tool fan slider would control whichever tool was currently selected, and the part cooling fan sliders would control each individual part cooling fan.

                        I hope that makes sense.

                        I think in recent versions of DWC (2.0.7) you can choose to hide the sliders you don't want to see.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        Mentaluproarundefined 1 Reply Last reply Reply Quote 0
                        • Mentaluproarundefined
                          Mentaluproar @Phaedrux
                          last edited by

                          @Phaedrux okay, thanks.

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