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

    FAN control

    Scheduled Pinned Locked Moved
    General Discussion
    2
    8
    747
    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.
    • nedmoundefined
      nedmo
      last edited by

      Hi,

      Im having trouble with the setup of my fans on WiFi 2 board.

      I have a Chimera + hot end, with 2 parts cooling fans wired in parallel, as Cura doesnt allow individual contorl and it made my wiriing abit simpler.

      I have the parts cooling fans connected to FAN0 output and Hotend fan to FAN1

      I would like the below to work

      1. If H1 or H2 are above 50c, turn on FAN1. (currently working)
      2. Cura to control the parts cooling fans via gcode.
      3. Able to control the fans via the DWC (currently the sliders for TOOL FAN and FAN0 are linked together and they dont stay at the value selected. They will revert to 0)

      Here is my config

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Feb 24 2021 12:07:14 GMT+1100 (Australian Eastern Daylight Time)

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"V-King CXY" ; set printer name
      M669 K1 ; select CoreXY mode

      ; 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 S1 ; physical drive 2 goes forwards
      M569 P3 S0 ; physical drive 3 goes forwards
      M569 P4 S1 ; physical drive 4 goes forwards
      M584 X0 Y1 Z2 E3:4 ; set drive mapping
      M350 Z16 E16:16 I0 ; configure microstepping without interpolation
      M350 X16 Y16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z3200.00 E422.96:422.96 ; set steps per mm
      M566 X900.00 Y900.00 Z150.00 E600.00:600.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X18000.00 Y18000.00 Z600.00 E21600.00:21600.00 ; set maximum speeds (mm/min)
      M201 X3000.00 Y3000.00 Z120.00 E1000.00:1000.00 ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z600 E1000:1000 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 X325 Y390 Z330 S0 ; set axis maxima

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

      ; Z-Probe
      M950 S0 C"exp.heater7" ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F120 T18000 ; set Z probe type to bltouch and the dive height + speeds
      G31 P25 X58 Y-10.8 Z1.45 ; set Z probe trigger value, offset and trigger height
      M557 X0:290 Y15:370 S100 ; 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
      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
      M143 H0 S120 ; set temperature limit for heater 0 to 120C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as PT1000 on pin e0temp
      M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S300 ; set temperature limit for heater 1 to 300C
      M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as PT1000 on pin e1temp
      M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
      M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
      M143 H2 S300 ; set temperature limit for heater 2 to 300C

      ; Fans
      M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned on
      M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S1 H1:2 T50 ; set fan 1 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
      M563 P1 D1 H2 F0 ; define tool 1
      G10 P1 X20 Y0 Z0 ; set tool 1 axis offsets
      G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

      ; Custom settings are not defined

      ; Miscellaneous
      M575 P1 S1 B57600 ; enable support for PanelDue
      M501 ; load saved parameters from non-volatile memory
      T0 ; select first tool

      Thanks
      Ned

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

        @nedmo said in FAN control:

        I would like the below to work

        If H1 or H2 are above 50c, turn on FAN1. (currently working)
        Cura to control the parts cooling fans via gcode.
        Able to control the fans via the DWC (currently the sliders for TOOL FAN and FAN0 are linked together and they dont stay at the value selected. They will revert to 0)

        1 and 2 should work as you have it configured now, does it not?

        For 3, TOOL FAN and FAN0 slider are the same thing. Tool fan will control the part cooling fan of the currently selected tool, and both your tools use the same fan, Fan0.

        The slider will work to adjust the fan speed, but during a print that has fan control commands it will constantly change when commanded to by the gcode file you are printing. Is that what you're seeing?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • nedmoundefined
          nedmo
          last edited by

          So when I slice a file, the gcode is controlling the hot end fan and part cooling fan is free to be adjusted by DWC slider.

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

            The hotend fan will be controlled by the temperature of the heaters you've assigned.

            The part cooling fan will be controlled by Cura. The slider will work to change the part cooling fan speed temporarily, but during a print it will go back to whatever speed cura has it set to the next time it changes in the gcode file.

            In DWC there is a little Pin icon/button next to the slider that lets you lock the fan slider in place, but it only functions while dwc is open in the browser.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • nedmoundefined
              nedmo
              last edited by

              slicer is definitely controlling the hot end fan. Its speed increases at exactly layer 3 as per my settings. Part cooling fan remains off until its manually turned on by slider in DWC

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

                Please show your sliced gcode file so we can see what the slicer is sending for fan control commands.

                Are you sure you're got Fan0 and Fan1 connected the way you are describing?

                Your config should be correct, but I can't see the wiring or the slicer commands.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • nedmoundefined
                  nedmo
                  last edited by

                  Yep have confirmed that hot end fan is connected to FAN1 and part cooling is on FAN0

                  Here is gcode from slicer OFFROAD.gcode

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

                    Check your slicer for fan settings. If it's Cura, check the printer profile. It looks like you have it set to command Fan1.

                    M106 S127.5 P1

                    Note the P1.

                    Z-Bot CoreXY Build | Thingiverse Profile

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