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

3.4.0beta2: fan does not start

Scheduled Pinned Locked Moved
Beta Firmware
4
14
420
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.
  • undefined
    chrishamm administrators @MartinNYHC
    last edited by 5 Aug 2021, 16:30

    @martinnyhc Can you check your M563 line in config.g? It should either have F0 in it or no F parameter at all (provided fan 0 is supposed to be controlled via M106/M107 without P parameter).

    Duet software engineer

    1 Reply Last reply Reply Quote 0
    • undefined
      MartinNYHC
      last edited by 5 Aug 2021, 16:34

      It's the bed fan, not for the tool.

      ; Bed heater (dual thermistor setup)
      M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp1
      M950 H0 C"out1" T0 ; create bed heater output on out1 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
      M950 F0 C"121.out1" Q10000 ; create fan 1 on pin out5 and set its frequency
      M106 P0 C"Bed" S0 H-1
      M950 F1 C"121.out2" ; create fan 1 on pin out5 and set its frequency
      GCODE
      [...]
      M106 S63.75
      1 Reply Last reply Reply Quote 0
      • undefined
        Phaedrux Moderator
        last edited by 5 Aug 2021, 16:37

        Can you share the full config?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • undefined
          MartinNYHC
          last edited by 5 Aug 2021, 16:38

          Sure...

          #
          #
          #
          G4 S1 ;wait for expansion boards to start
          ; General preferences
          M111 S0 ; Debugging off
          G21 ; Work in millimetres
          G90 ; Send absolute coordinates...
          M83 ; ...but relative extruder moves
          M669 K1 ; Select CoreXY mode
          M564 S1 H1 ; Forbid axis movements when not homed
          ; --- Z Drive map ---
          ; _______
          ; | 3 | 4 |
          ; | ----- |
          ; | 2 | 5 |
          ; -------
          ; front
          ;
          ; Drive directions
          M569 P0 S1 ; A (X)
          M569 P1 S1 ; B (Y)
          M569 P2 S1 ; Z1
          M569 P3 S0 ; Z2
          M569 P4 S1 ; Z3
          M569 P5 S0 ; Z4
          M569 P121.0 S1 ; E
          ; Motor mapping and steps per mm
          M584 X1 Y0 Z2:3:4:5 E121.0
          M350 X16 Y16 Z16 E16 I1 ; Use 1/16 microstepping with interpolation everywhere
          M92 X80 Y80 Z400 E760.22 ; Set XYZE steps per mm (1.8deg motors)
          ; Drive currents
          M906 X1500 Y1500 Z1500 E800 ; XYZ and E current
          M906 I30 ; Idle current percentage
          M84 S120 ; Idle timeout
          ; Accelerations and speed
          ;M566 X1000 Y1000 Z60 E10000 ; Set maximum instantaneous speed changes (mm/min)
          M566 X600 Y600 Z60 E8000 ; Set maximum instantaneous speed changes (mm/min)
          M203 X18000 Y18000 Z3000 E15000 ; Set maximum speeds (mm/min)
          M201 X5000 Y5000 Z250 E1800 ; Set maximum accelerations (mm/s^2)
          ;M204 P4000 T1000 ; Set printing acceleration and travel accelerations
          ; PA, DAA
          M572 D0 S0.026 ; Pressure Advance
          ;M593 F38 S0.2
          ;M593 P"zvd" F80.3 ;X
          ;M593 P"zvd" F54.4 ;Y
          ; Accelerometer
          ;M955 P121.0 I05
          ; Axis travel limits
          M208 X5 Y-5 Z0 S1 ; Set axis minima
          M208 X350 Y350 Z375 S0 ; Set axis maxima
          ; Endstops
          M574 X2 S1 P"^io1.in" ; Xmax endstop on hall effect board
          M574 Y2 S1 P"^io2.in" ; Ymax endstop on hall effect board
          ;M574 Z1 S1 P"^io3.in" ; Z endstop switch
          M574 Z0 P"nil" ; No Z endstop
          ; Z probes
          ;M558 P8 C"^121.io0.in" T18000 F120 H5 A5 S0.01 R0.2 ; Omron
          M558 P8 C"^121.io0.in" T18000 F400 H5 A31 S0.003 ; Klicky Probe
          ;G31 K0 P500 X0 Y25 Z0 ; Omron
          ;G31 K0 P500 X0 Y19.75 Z8.42 ; Klicky Probe
          G31 K0 P500 X0 Y19.75 Z10.5 ; Klicky Probe
          M558 K1 P8 C"^io3.in" T18000 F240:120 H5 A10 S0.005 R0.2
          ;G31 K1 P500 X0 Y0 Z0.53 ; Z switch offset (if positive, greater value = lower nozzle. if negative, more negative = higher nozzle)
          ; Filament Sensor
          M950 J1 C"121.io2.in"
          M581 P1 T2 S0 R1
          ; Bed leveling
          M671 X-53:-53:400:400 Y-5:420:420:-5 S20 ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right)
          M557 X20:330 Y20:300 P5:5 ; Define bed mesh grid (inductive probe, positions include the Y offset!)
          ; Bed heater (dual thermistor setup)
          M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp1
          M950 H0 C"out1" T0 ; create bed heater output on out1 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
          ; Hotend heater
          M308 S1 P"121.temp1" Y"thermistor" T100000 B3950
          M950 H1 C"121.out0" T1 ; create nozzle heater output on out2 and map it to sensor 1
          M307 H1 B0 S0.8 ; disable bang-bang mode for heater and set PWM limit
          M143 H1 S350 ; Set temperature limit for heater 1 to 350C
          ; Chamber Thermistor
          M308 S2 P"temp1" A"Chamber" Y"thermistor" T100000 B3950
          ; MCU sensors
          M308 S3 Y"mcu-temp" A"MCU"
          M308 S4 Y"drivers" A"Drivers"
          M912 P0 S-13 ; MCU temp calibration
          ; Fans
          M950 F0 C"121.out1" Q10000 ; create fan 1 on pin out5 and set its frequency
          M106 P0 C"Bed" S0 H-1
          M950 F1 C"121.out2" ; create fan 1 on pin out5 and set its frequency
          M106 P1 C"Hotend" L1 X1 H1 T70 S1
          M950 F2 C"out7" Q10 ; create fan 1 on pin out5 and set its frequency
          M106 P2 C"Filter" S0 H-1 B0.2
          M950 F3 C"out4" Q24000 ; create fan 2 on pin out6 and set its frequency
          M106 P3 S0.50 H-1 B1 C"Bay Left" ; set fan 2 value. Thermostatic control is turned off
          M950 F4 C"1.out3" Q24000 ; create fan 2 on pin out6 and set its frequency
          M106 P4 S0 H-1 B1 C"Bay Right" ; set fan 2 value. Thermostatic control is turned off
          M950 F5 C"out5" ; create fan 3 on pin out7 and set its frequency
          M106 P5 S0.2 H-1 C"SBC"
          M950 F6 C"out6" ; create fan 2 on pin fan2
          M106 P6 S1 H-1 C"Light"
          ; Tools
          M563 P0 S"Hotend" D0 H1 F1 ; 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
          ; Enable debugging via USB
          ;M111 S1 P0 ; Platform
          ;M111 S1 P1 ; Network
          ;M111 S1 P2 ; Webserver
          ;M111 S1 P3 ; GCodes
          ;M111 S1 P4 ; Move
          ;M111 S1 P5 ; Heat
          ;M111 S1 P6 ; DAA
          ;M111 S1 P7 ; Roland
          ;M111 S1 P8 ; Scanner
          ;M111 S1 P9 ; PrintMonitor
          ;M111 S1 P10 ; Storage
          ;M111 S1 P11 ; PortControl
          ;M111 S1 P12 ; DuetExpansion
          ;M111 S1 P13 ; FilamentSensor
          ;M111 S1 P14 ; Wifi
          ;M111 S1 P15 ; Display
          ;M111 S1 P16 ; LinuxInterface
          ;M111 S1 P17 ; CAN
          M575 P1 S1 B115200 ; enable support for PanelDue
          M501 ; load config-override.g
          T0 ; select tool 0
          undefined 1 Reply Last reply 5 Aug 2021, 16:42 Reply Quote 0
          • undefined
            Phaedrux Moderator @MartinNYHC
            last edited by 5 Aug 2021, 16:42

            @martinnyhc said in 3.4.0beta2: fan does not start:

            M950 F1 C"121.out2" ; create fan 1 on pin out5 and set its frequency
            M106 P1 C"Hotend" L1 X1 H1 T70 S1

            @martinnyhc said in 3.4.0beta2: fan does not start:

            M563 P0 S"Hotend" D0 H1 F1 ; define tool 0

            You have fan1 set as thermostatic, but also bound to tool0 as the part cooling fan. Tool fans cannot be thermostatically controlled.

            Which fan do you want your slicer to control? That fan number should be used in the tool definition.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • undefined
              MartinNYHC
              last edited by 5 Aug 2021, 16:53

              Now I'm a little bit confused. OK, let's wrap it up.

              Heater0 and Fan0 are for the bed

              M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp1
              M950 H0 C"out1" T0 ; create bed heater output on out1 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
              M950 F0 C"121.out1" Q10000 ; create fan 1 on pin out5 and set its frequency
              M106 P0 C"Bed" S0 H-1

              Heater1 and Fan1 are the Hotend

              M308 S1 P"121.temp1" Y"thermistor" T100000 B3950
              M950 H1 C"121.out0" T1 ; create nozzle heater output on out2 and map it to sensor 1
              M307 H1 B0 S0.8 ; disable bang-bang mode for heater and set PWM limit
              M143 H1 S350 ; Set temperature limit for heater 1 to 350C
              M950 F1 C"121.out2" ; create fan 1 on pin out5 and set its frequency
              M106 P1 C"Hotend" L1 X1 H1 T70 S1
              M563 P0 S"Hotend" D0 H1 F1 ; define tool 0

              When you are saying, that tool fans cannot be thermostatically controlled, I can say you: it's working brilliant 🤠 The tool fan starts at full speed as soon as the hotend reaches 70°C.

              What I want to control per slicer is - as susual - the bed fan.

              grep M106 Downloads/foo.gcode
              M106 S76.5
              M106 S150.45
              M106 S76.5
              M106 S150.45
              M106 S76.5
              M106 S150.45
              M106 S76.5
              M106 S150.45
              M106 S76.5
              M106 S150.45
              M106 S76.5
              M106 S150.45
              M106 S76.5
              M106 S150.45
              [...]

              Isn't that how it should work? I'm using this for several years now and latest during a print directly before upgrading to 3.4.0beta2.

              So I don't really see a problem. Or am I too confused today (already found out multiple times that today is not my day 😅 ).

              1 Reply Last reply Reply Quote 0
              • undefined
                CCS86
                last edited by 5 Aug 2021, 17:08

                I think you are using the wrong terminology. I have never heard of a "bed fan"

                Generally, you have a "hot end fan", which cools the heat-break of your hot end. It's very common to have that thermostatically controlled.

                Then, you have a "tool fan", which you control via M106 and which blows on your printed part.

                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by 5 Aug 2021, 17:10

                  I think we are having a miscommunication on the difference between a hotend heatsink fan and a tool fan or part cooling fan.

                  The hotend heatsink fan should be thermostatically controlled and tied to the hotend heater.

                  The part cooling fan or tool fan is the fan that the slicer controls to cool your part as it's being printed. This fan cannot be thermostatically controlled because it would interfere with the slicers fan commands. Do you want the slicer to control it or the temperature to control it? Right now you have Fan1 thermostatically controlled AND attempting to be controlled by the slicer.

                  I have no idea what you mean by bed fan. Is this the fan that cools your part? If so, then your tool definition needs to change.

                  M563 P0 S"Hotend" D0 H1 F1 ; define tool 0

                  The F1 in this command is your thermostatically controlled hotend heatsink fan, and this is the fan that the slicer will be trying to control. If you want to use your "bed fan" for slicer control, you need to change this F1 to F0.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    MartinNYHC
                    last edited by 5 Aug 2021, 17:14

                    Got it. Then I just used a wrong terminology.

                    Then I'll just change the fan for the tool definition.

                    Very interesting that it worked for years. Lucky me.

                    Thanks!

                    undefined 1 Reply Last reply 5 Aug 2021, 17:20 Reply Quote 0
                    • undefined
                      Phaedrux Moderator @MartinNYHC
                      last edited by 5 Aug 2021, 17:20

                      @martinnyhc said in 3.4.0beta2: fan does not start:

                      Very interesting that it worked for years. Lucky me.

                      Well it would mostly work because the thermostatically controlled fan would just be on when the temp was up which would be when you're printing and when you'd want the cooling fan going. When the slicer tried to control the fan with a M106 it may or may not have an effect though. So if you wanted to print in ABS or something with no fan on, you would have found that you couldn't actually turn it off I think.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        MartinNYHC
                        last edited by 5 Aug 2021, 17:21

                        I printed a lot of ABS and often switched it on and off 🙂 Haha. Crazy.

                        undefined 1 Reply Last reply 5 Aug 2021, 17:25 Reply Quote 0
                        • undefined
                          Phaedrux Moderator @MartinNYHC
                          last edited by Phaedrux 8 May 2021, 17:25 5 Aug 2021, 17:25

                          @martinnyhc But did the slicer switch off the "bed" fan or the hotend heatsink fan? Or were you controlling it manually?

                          Either way, you see now where the conflict was.

                          And more to the point, after correcting that, is it now working as expected in 3.4 beta2?

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            MartinNYHC
                            last edited by 5 Aug 2021, 17:26

                            It was controlling the "bed fan" 😉

                            Will check tomorrow. Currently printing the ringing tower.

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