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.
    • MartinNYHCundefined
      MartinNYHC
      last edited by MartinNYHC

      Just upgraded to 3.4.0beta2. Duet3 6HC, Duet3 3HC Exp, Duet 1LC, SBC.

      Slicer is configured to start fan at the seconbd layer at 25%. PanelDue says fan speed 25%, but DWC says 0 and the fan is off. When increasing the speed to the requested 15% via DWC it is starting.

      Before the upgrade I used 3.3 and one hour ago - directly before the upgrade - it worked.

      Forgot to mention that the 1LC is still on 3.3 because I read in another thread that there are some issues and you guys suggested to stay at 3.3 for the tool board.

      chrishammundefined 1 Reply Last reply Reply Quote 0
      • chrishammundefined
        chrishamm administrators @MartinNYHC
        last edited by

        @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
        • MartinNYHCundefined
          MartinNYHC
          last edited by

          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
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            Can you share the full config?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • MartinNYHCundefined
              MartinNYHC
              last edited by

              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
              
              
              
              
              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @MartinNYHC
                last edited by

                @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
                • MartinNYHCundefined
                  MartinNYHC
                  last edited by

                  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
                  • CCS86undefined
                    CCS86
                    last edited by

                    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
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      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
                      • MartinNYHCundefined
                        MartinNYHC
                        last edited by

                        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!

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

                          @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
                          • MartinNYHCundefined
                            MartinNYHC
                            last edited by

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

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

                              @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
                              • MartinNYHCundefined
                                MartinNYHC
                                last edited by

                                It was controlling the "bed fan" 😉

                                Will check tomorrow. Currently printing the ringing tower.

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