Friday, 27 July 2012

Sanguinololu fan hack

I needed to add a fan drive to my Sanguinololu in a hurry so I did this: -


It is just a 6 pin female connector with three of the pins bent out of the way and a protected logic drive MOSFET soldered across two pins. The fan wires are soldered to the tab of the MOSFET and the 12 V pin.

The connection details can be found here: http://www.thingiverse.com/image:131081. The gate of the MOSFET is pin 1 and it connects to the pin labelled PWM B12. It is actually digital pin 4. The source of the MOSFET, pin 3 connects to ground.

I used a BTS134D but pretty much any protected logic drive MOSFET will work. 

A plain MOSFET needs a series gate resistor to not exceed the maximum output current of the logic pin (and to prevent possible HF oscillation due source pin inductance), a pull down resistor to prevent it floating before the pin is defined as an output (during the bootstrap) and a diode for back EMF protection. That requires a small circuit board as in this Thingiverse thing.

I found that adding the FAN_PIN definition to Marlin corrupted the bed temperature reading unless I commented out #define FAST_PWM_FAN.

2 comments:

  1. Thanx, this is on my to make list.

    Any bad side effects on disabling #define FAST_PWM_FAN

    ReplyDelete
  2. The fan whines unless it is 100% on or off. As I use to cool the bed as fast as possible I don't use the PWM. If it was used to cool the object being built (as is needed for PLA or steep overhangs I think) then PWM might be needed so it could be a bit irritating.

    I reported it as a bug on the Marlin github but it doesn't seem to have much interest.

    ReplyDelete