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.

Thanx, this is on my to make list.
ReplyDeleteAny bad side effects on disabling #define FAST_PWM_FAN
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.
ReplyDeleteI reported it as a bug on the Marlin github but it doesn't seem to have much interest.