Part fan turns off under 85%
-
Hi,
I have a Duet2 board and have upgraded my part fan and under 85% it shuts down.
It's a 24V fan and when tested on a bench power supply the speed does change when lowering the voltage all the way down to 10V which is great (24V full speed, 10% spins very lightly, all in all works great on the bench).
When I tested the Duet2 output I have noticed that under 85% it gets to 20V which works perfectly on the bench meaning that it doesn't only lower the voltage (which is what I expected) but probably lowers the current.
Is there a way to fix that without going with a 4 wire fan? (even though I'm not sure it can be hooked up to the Duet2 since it has only a 2 wire output)
Roy
-
@roig12 Fan outputs on Duet boards don't vary the voltage like your bench supply does, they vary the PWM amount. It sounds like your fan either doesn't work with PWM control, or the fan expects a different PWM frequency. What fan is it? If you can look up the fan specification, it should say there how best to control it with a PWM signal. Please post your config.g, or at least the part that configures the fan.
Ian
-
@droftarts said in Part fan turns off under 85%:
@roig12 Fan outputs on Duet boards don't vary the voltage like your bench supply does, they vary the PWM amount. It sounds like your fan either doesn't work with PWM control, or the fan expects a different PWM frequency. What fan is it? If you can look up the fan specification, it should say there how best to control it with a PWM signal. Please post your config.g, or at least the part that configures the fan.
Config.g
; Configuration file for Duet 3 (firmware version 3.4.5)
; General preferences
G4 S2
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; relative extruder moves
M550 P"BROORYA" ; set printer name
;
; Network
M552 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
;
; Drives
M569 P0 S0 ; physical drive 0 X
M569 P1 S0 ; physical drive 1 U
M569 P2 S1 R-1 ; physical drive 2
M569 P3 S0 ; physical drive 3 Ex
M569 P4 S0 ; physical drive 4 Eu
M569 P5 S1 R1 T2.5:2.5:5:5 ; physical drive 5 Y1
M569 P6 S1 R1 T2.5:2.5:5:5 ; physical drive 6 Y2
M569 P7 S1 R1 T2.5:2.5:5:5 ; physical drive 7 Z3
M569 P8 S1 R1 T2.5:2.5:5:5 ; physical drive 8 Z4
M569 P9 S1 R1 T2.5:2.5:5:5 ; physical drive 9 Y
M584 X0 U1 Y9 Z8:6:5:7 E3:4 ; set drive mapping
M350 X16 U16 E16 I0 ; configure microstepping without interpolation
M92 X160.00 Y160.00 Z2400.00 E409.00:409.00 U160.00 ; set steps per mm
M566 X200.00 Y200.00 Z40.00 E600.00:600.00 U200.00 ; set maximum instantaneous speed changes (mm/min)
M203 X12000.00 Y12000.00 Z200.00 E6000.00:6000.00 U12000.00 ; set maximum speeds (mm/min)
M201 X1000.00 Y1000.00 Z100.00 E1000.00:1000.00 U1000.00 ; set accelerations (mm/s^2)
M204 T1000 P800 ; set accelerations (mm/s^2)
M906 X1333 E800:800 U1333 I19 ; set motor currents (mA) and motor idle factor in per cent
M84 S666 ; Set idle timeout
M671 X-155:625:625:-155 Y60:60:560:560 S19
;
; Axis Limits
M208 X0:410 Y0:600 Z-1.0:700 U48.0:458.0 ; set axis minima and maxima
;
; Endstops
M574 X1 S1 P"xstop" ; configure sensorlees homing for low end on X
M574 Y1 S1 P"ystop" ; configure sensorlees homing for low end on Y
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
M574 U2 S1 P"e0stop" ; configure sensorlees homing for low end on X
;
; Z-Probe___________________________________________________________
G31 P500 X0 Y-30
M950 S0 C"!exp.heater7" ; Create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T12000 ; BLTouch connected to Z probe IN pin
M376 H100
;
; Heaters
;_______________________________________________AC BED
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"bedheat" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 R0.149 K0.136:0.000 D13.51 E1.35 S1.00 B0 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 P0 S70 ; map heated bed to heater 0
M143 H0 S100 ; set temperature limit for heater 0 to 110C
M140 S-444
;_______________________________________________T0
M308 S1 P"e0temp" Y"thermistor" A"Ex" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"e0heat" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 R2.481 K0.357:0.000 D6.84 E1.35 S1.00 B0 V23.7 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S300 ; set temperature limit for heater 1 to 300C
;_______________________________________________T1
M308 S2 P"e1temp" Y"thermistor" A"Eu" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin temp2
M950 H2 C"e1heat" T2 ; create nozzle heater output on out2 and map it to sensor 2
M307 H2 R1.446 K0.374:0.000 D6.79 E1.35 S1.00 B0 V24.0 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S300 ; set temperature limit for heater 2 to 300C
;
M308 S3 Y"mcu-temp" A"MCU-temp"
M308 S4 Y"drivers" A"Drivers"
;M308 S5 Y"drivers-duex" A"Drivers-Duex"
;
; Fans and LEDs
;_______________________________________________T0
M950 F0 C"fan0" Q500 ; create fan 0 on pin out4 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
;M950 F1 C"fan3" Q500 ; create fan 1 on pin out5 and set its frequency
;M106 P1 S1 H1 T46 ; set fan 1 value. Thermostatic control is turned on
;_______________________________________________T1
M950 F2 C"fan2" Q500 ; create fan 0 on pin out4 and set its frequency
M106 P2 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
;M950 F3 C"fan5" Q500 ; create fan 1 on pin out5 and set its frequency
;M106 P3 S1 H2 T46 ; set fan 1 value. Thermostatic control is turned on
M950 P9 C"fan1" ; Create output port0 attached to fan2 pin - RED
;
; Tools
;_______________________________________________T0
M563 P0 S"Ex" D0 H1 F0 ; define tool 0
G10 P0 X-20 Y0 Z0 ; set tool 0 axis offsets
M568 P0 R0 S210 ; set initial tool 0 active and standby temperatures
M309 P0 S0 ; set heater feedforward
;_______________________________________________T1
M563 P1 S"Eu" D1 H2 X3 F2 ; define tool 1
G10 P1 X0 Y0.6 U-20 Z0 ; set tool 1 axis offsets
M568 P1 R0 S210 ; set initial tool 1 active and standby temperatures
M309 P1 S0 ; set heater feedforward
;
; Miscellaneous
M911 S22 R30 P"M913 X0 Y0 U500 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
M207 S3.0 F2000 Z1 ; firmware retraction
M570 H1 P19 T19 ; Configure heater fault detection
M570 H2 P19 T19 ; Configure heater fault detection
M593 P"zvd" F38
M591 D0 P1 C"e1stop" S1 ; Regular filament sensor for Ex
M950 J7 C"zstop"
M581 T0 P7
;M564 H0 S0 ; Negative movements are allowed
;M302 P1 ; Allow cold extrusion
M84
M280 P0 S160
M42 P9 S0
M501 -
I think you misunderstood me about the fan wires.
As I mentioned, it's a 2 wire fan, not a 4 wire with separate PWM control. -
@roig12 said in Part fan turns off under 85%:
I think you misunderstood me about the fan wires.
As I mentioned, it's a 2 wire fan, not a 4 wire with separate PWM control.No, I didn't misunderstand. PWM control is how the Duet controls all fans, it can't vary voltage. Most fans work okay with this, some fans don't. See https://docs.duet3d.com/en/User_manual/Connecting_hardware/Fans_connecting#supported-fans
The rotation speed of most commonly-available fans is usually voltage-controlled, i.e. lowering the voltage reduces fan speed. However, Duet boards use Pulse Width Modulation (PWM) to control the speed; this effectively means the fan is getting the full voltage, but this is being turned on and off very quickly. The speed of most fans can be controlled this way, but some fans only support voltage control not PWM, and will only work at 100%. The fan speed may not always scale smoothly with PWM. Ideally, choose fans that support PWM speed control.
This is the same for 2, 3 and 4 wire fans. 4 wire fans have the advantage that they expect PWM control.
For your fan, try changing the M950 Q parameter to Q250 or Q100, which may work better.
Ian
-
@roig12 It is as @droftarts says. For info, I had some particularly troublesome fans at one point, but I managed to get reasonable speed control by setting the PWM frequency (the "Q" value) at what might seem a ridiculously low value of 10 Hz.
-
Thanks guys!
Actually lowering made it worse so I raised it and found the sweet spot at Q7000 which lets me go down to 20% power while under that it shuts off which is perfect for my needs!Appreciate the help!
-
-