Converting 4-Pin PWM Fan to 3-Pin

Some times you have a 4-pin regulated fan output that does not allow voltage control, but what you want to use is a 2-pin or 3-pin fan that is controlled by its operating voltage. For me, this happened when I wanted to replace the fan on my graphics card due to noise. I had a very nice 3 pin fan, but no way to control its speed from the graphics card. A search on the web was unsatisfactory. I only found rather primitive circuits and hence decided to roll my own.

PWM to Voltage circuit

This circuit assumes the PWM output uses an open-collector/open-drain design at around 25kHz, as is standard for PWM-controlled PC fans. The Zener Diode on the left limits the voltage seen by the PWM output to 4.7V. While some PWM outputs can take more, others may not be able to and the standard requires appliying not more than 5.25V and in fact suggets limiting the voltage to 3.3V. The 3k3 pull-up resistor supplies around 4mA current on input low. The standard allows a maximum of 5mA. The double LC low-pass filter does the conversion from PWM to voltage. The capacitors can probably be reduced to 0.1uF without significant impact. A standard LM324 then drives a PNP transistor that drives the fan. The diodes in the LM324 output path are there because the output of the LM324 cannot reach the positive voltage rail and without them, the minimal fan voltage would be pretty high.

For the unused amplifiers, tie their output to the negative input and the positive input to GND. You could in theory also use the LM358 (dual version) or even the LM321 (single version), but at least from my supplier they are more expensive than the LM324. You could also use a single OPAmp like the TLC271.

On the bottom, there is an optional circuit for adjusting the floor-point, i.e. the minimal voltage the fan sees. Without it, at 0% PWM-on, the fan will get close to 0V. With it, it can be adjusted in the range 0V....12V. This is useful if your PWM output delivers a floor-point where your fan does not start.

Maximum Load

I recommend using a heat-sink from 0.2A fan current at 12V upwards. For the 0.15A fan I used, no heat-sink is necessary (you are welcome to add one though). Make sure the transisor has airflow, no packing it in heat-shrink tubing or the like. If you use a heat-sink, mount the transistor insulated, as it carries the positive fan voltage on its case.

Adjustment

The 100k adjustable resitor in the feedback path is used to set the amplification. With the input open (corresponding to 100% PWM on), adjust it to the maximum fan speed you want to see. It is possible to adjust it higher, so that the fan will reach full speed at less PWM-"on" level, but that requires a calibration aid, see below.

If you have the floor-point circuit, first adjust the amplification with PWM input open, and then tie the PWM input to GND and adjust the floor-point.

PWM Calibration Aid

The circuit below generates an open-drain PWM signal with "on"-time between 10% and 90%. It is suitable for finer adjustment of the PWM-to-voltage converter. Unding a CMOS 555 timer allows for easy duty-cycle adjustment, as pin 3 has a pretty symmetric ouput voltage, different from a bipolar 555. And the discharge pin (pin 7) is perfect as open-drain output.

Note that while the ICM7555 datasheet does not state any ESD immunity, the chip has upper and lower protection diodes at all pins (except pin 7, which just has a lower one, as an upper one would break the usability as open-drain output) and should be pretty rugged against ESD. I assume the same is true for the other CMOS 555 variants.

The circuit is missing the traditional filter cap on pin 5. The datasheet for the ICM7555 says it is not needed. If you do not have a 3.3nF capacitor, use a 2.2nF and 1nF one in paralell, or a 4.7nF and 10nF one in series.

Pictures




Last update: February, 2014 Arno Wagner