Part cooling fan not working right

Discussion in 'Calibration, Help, and Troubleshooting' started by gonzalo, May 10, 2018.

  1. gonzalo

    gonzalo Well-Known Member

    Joined:
    Mar 17, 2016
    Messages:
    223
    Likes Received:
    129
    My part cooling fan will not run at all if I send any speed less than 200...
    201 to 255 works, anything below that it will not spin at all.
    The LCD shows the requested speed, the rumba board lights up the green led next to the fan pins, the stl G code shows the correct M106 commands... the fan will not spin for any less than 200 speed.
    Any ideas?
     
  2. dc42

    dc42 Well-Known Member

    Joined:
    Aug 16, 2016
    Messages:
    250
    Likes Received:
    88
    Try a lower PWM frequency.
     
  3. gonzalo

    gonzalo Well-Known Member

    Joined:
    Mar 17, 2016
    Messages:
    223
    Likes Received:
    129
    And how do I do that??? :eek:
     
  4. dc42

    dc42 Well-Known Member

    Joined:
    Aug 16, 2016
    Messages:
    250
    Likes Received:
    88
    In 32-bit firmwares it's generally a setting in the boot-time configuration file on the SD card. In 8-bit firmwares it may be a setting in one of the header files in the firmware source code.
     
  5. Old_Tafr

    Old_Tafr Well-Known Member

    Joined:
    Mar 7, 2016
    Messages:
    660
    Likes Received:
    87
    Both needing re-compiling and flashing the firmware?

    Unless you use the Duet
     
  6. jfb

    jfb Well-Known Member

    Joined:
    Mar 30, 2016
    Messages:
    135
    Likes Received:
    29
    In Marlin, it will be a setting in configuration.h - not a setting I've ever had cause to touch so I can't say how well it works, but some info here http://marlinfw.org/docs/configuration/configuration.html and yes, this needs the firmware recompiled and flashed. You may need to experiment a bit. - //#define FAN_SOFT_PWM and #define SOFT_PWM_SCALE 0 - are the lines to look for.

    For duet wifi I think it would be M106 - as far as I know only some fans are controllable - https://duet3d.dozuki.com/Wiki/Gcode#Section_M106_Fan_On
     
  7. gonzalo

    gonzalo Well-Known Member

    Joined:
    Mar 17, 2016
    Messages:
    223
    Likes Received:
    129
    I am on the original RUMBA board with RC6.
    I saw this line, but I don't know what to do with it... //#define FAN_SOFT_PWM
    I can compile an flash no problem, I just want to know what to fix.
    Any body has had this issue and found a solution?
    Thank you.
     
  8. jfb

    jfb Well-Known Member

    Joined:
    Mar 30, 2016
    Messages:
    135
    Likes Received:
    29
    As far as I can gather from the docs, the two lines work together.

    // is a comment marker, which comments out any text to the end of the line. So this line is commented out by default.

    Remove the // in front of #define FAN_SOFT_PWM to enable it, giving you a 'very low frequency'. I have no idea what 'very low' is in numbers. Once that's done, the number after #define SOFT_PWM_SCALE acts as a multiplier - incrementing by one doubles the frequency. There was a bug reported around that only working for one fan if I recall correctly, but I think it's been fixed in recent builds.

    Hope that helps - as I said though, I've not used that setting myself. If I was going to, I'd uncomment #define FAN_SOFT_PWM (remove the '//') and try that with no other changes. I'd only start trying other values for SOFT_PWM_SCALE if that didn't work.

    If all else fails, I'd probably look to use an external PWM controller as in the Project Whisper thread. Sorry I can't help more, but I've replaced my RUMBA with a Duet WiFi. I'm still running Marlin on my Prusa i3 clone (Arduino + RAMPS 1.4) but I've not had any reason to touch the firmware for ages. I'd likely steer you wrong if I just guess.
     
    gonzalo likes this.
  9. gonzalo

    gonzalo Well-Known Member

    Joined:
    Mar 17, 2016
    Messages:
    223
    Likes Received:
    129
    I’ll try that, thank you sir!
     
  10. gonzalo

    gonzalo Well-Known Member

    Joined:
    Mar 17, 2016
    Messages:
    223
    Likes Received:
    129
    It worked!
    I commented out the line that reads #define FAST_PWM_FAN
    And uncommented the FAN_SOFT and the SCALE ones, left the scale value at 0.
    Thank you for all the help!
     
  11. jfb

    jfb Well-Known Member

    Joined:
    Mar 30, 2016
    Messages:
    135
    Likes Received:
    29
    Nice one! Glad it's working for you :)
     

Share This Page