Parts fan always on



  • I have my parts fan wired to Fan0 PWM. Until recently it had been working fine, only coming on after the first few layers of my print.

    Tonight I noticed it came on from the time I powered it on. And it stayed on.

    My extruder fan still works fine and is always on so it isn't a simple mixup.

    The fan is a simple 2-wire 24 volt fan.

    Things I've tried:

    1. The Duet fan test (that test was unable to control the fans).

    2. M106 has no effect

    3. M107 has no effect

    4. I moved my fan from Fan0 PWM to Fan1 PWM (but left it at thermostatic mode) and the fan didn't come on. I configured Fan1 to turn off thermostatic mode and then the fan did come on all the time. I reverted the config.g changes and moved back to Fan0.

    5. I upgraded from 2.04 firmware to 2.05 and no change in behavior.

    6. I swapped my parts fan out with a spare fan and it behaved the same way.

    I recently migrated from an E3Dv6 hotend to a Chimera+ with two extruders and two nozzles (but still one parts fan). Since I have only one parts fan, I'm not doing any fan mapping since my slicer - Cura - should only be expecting one fan.

    I'm stumped and open to ideas and thank you in advance for your help!

    Here is my config.g if it helps:

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.0.4 on Thu Sep 26 2019 16:44:33 GMT-0700 (Pacific Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"JaxPrinter" ; set printer name
    ; Assign names to virtual heaters so that they show up in Duet Web Control
    ; Anonymous heaters do not show up in Duet Web Control
    ; Once we name them, we can show them in the temperature chart
    ; See https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual
    M305 P100 S"DuetProcessorTemp" ; Virtual heater 100 is preconfigured to use temperature sensor channel 1000 (MCU)
    M305 P101 S"DuetDriversTemp" ; Virtual heater 101 is preconfigured to use temperature sensor channel 1001 (TMC2660 on Duet2)

    ; 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 S0 ; physical drive 2 goes backwards
    M569 P3 S0 ; physical drive 3 goes backwards because Titan Extruder is inverted
    M569 P4 S0 ; physical drive 4 goes backwards because Titan Extruder is inverted

    ;JW add second extruder
    ;M584 X0 Y1 Z2 E3 ; set drive mapping
    M584 X0 Y1 Z2 E3:4 ; set drive mapping

    ;M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    ;JW add second extruder
    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation

    ;JW add second extruder
    M92 X100.00 Y100.00 Z400.00 E418.59:418.59 ; Nema 17 motor. Calculated 418.59 using hobb diameter of extruder

    ;M566 X600.00 Y600.00 Z18.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
    ;JW add second extruder
    M566 X600.00 Y600.00 Z18.00 E300.00:300.00 ; set maximum instantaneous speed changes (mm/min)

    ;M203 X7200.00 Y7200.00 Z180.00 E1200.00 ; set maximum speeds (mm/min). 7200=120 mm/sec. 180=3 mm/sec. 1200=20 mm/sec
    ;JW add second extruder
    M203 X7200.00 Y7200.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min). 7200=120 mm/sec. 180=3 mm/sec. 1200=20 mm/sec

    ;M201 X1500.00 Y1500.00 Z100.00 E10000.00 ; set accelerations (mm/s^2)
    ;JW add second extruder
    M201 X1500.00 Y1500.00 Z100.00 E10000.00:10000.00 ; set accelerations (mm/s^2)

    ;M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
    ;JW add second extruder
    M906 X800 Y800 Z800 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X-10 Y-17 Z0 S1 ; set axis minima - this works for my carriage and parts are centered correctly
    M208 X220 Y220 Z240 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S0 ; set active low and disabled endstops. not as safe but this is how my Anet A8 endstops wired

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X20:200 Y20:200 S40 ; define mesh grid

    ; Heaters
    M307 H0 B0 S0.90 ; disable bang-bang mode for the bed heater and set PWM limit to 90% based on doing M303 H0 S80 P0.9
    M305 P0 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 0
    M143 H0 S130 ; set temperature limit for heater 0 to 130C
    M301 H1 S0.69 ; set heater 1 PWM limit to 69% based on experiments. Finally doing M303 H1 S215 P0.69 and saving
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1
    M143 H1 S275 ; set temperature limit for heater 1 to 275C
    ; JW configuration for second hotend
    M301 H2 S0.69 ; set heater 2 PWM limit to 69% based on doing M303 H2 S215 P0.69
    M305 P2 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 2
    M143 H2 S275 ; set temperature limit for heater 2 to 275C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F0 ; define tool 0
    G10 P0 X-9 Y0 Z0 ; set tool 0 axis offsets. Chimera+ clone has 18 mm (empirically) between the nozzles so this X offset is -9.
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; JW second hotend
    M563 P1 D1 H2 ; define tool 1 and make sure it uses second extruder (D1) and second heater (H2). Should not need to specify F0
    G10 P1 X9 Y0 Z0 ; set tool 1 axis offsets. Chimera+ clone has 18 mm (empirically) between the nozzles so this X is offset +9.
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M501 ; load saved parameters from non-volatile memory
    T0 ; select first tool


  • Moderator

    @jrwaters2 It sounds like a mosfet failure on the fan. If you want to test it, this thread has a good guide for testing the fan mosfet: https://forum.duet3d.com/topic/10027/duet-2-wifi-fan-pwm-0-shorted-dead-fuse-not-blown. You should only attempt to replace the mosfet yourself if you have the necessary skills and experience, because there is a risk that you may damage the PCB or other components, which would void the warranty (if your Duet is still within warranty).

    It may just be simpler to move the fan to FAN1 pins and update the config.g to reflect this.

    Ian



  • @droftarts Thank you Ian!!

    I did move it to Fan 1 pins as you suggested and that seems to have done the trick.

    Soldering is sort of where I stop unless its really course work.

    The device is in warranty but I'd rather not have a nearly perfect board potentially wind up in a parts pile somewhere so I'm going to try out this way (Fan 1) and see if all continues to work as expected.


Log in to reply