3.4.0beta2: fan does not start
-
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.
-
@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).
-
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
-
Can you share the full config?
-
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
-
@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.
-
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 ).
-
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.
-
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.
-
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!
-
@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.
-
I printed a lot of ABS and often switched it on and off Haha. Crazy.
-
@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?
-
It was controlling the "bed fan"
Will check tomorrow. Currently printing the ringing tower.