The PWM fan controllers have many advantages against other rpm fan controllers. Yet, they tend to be difficult in construction when high frequency is required. The PWM controllers usually generate acoustic noises, when the PWM frequency is within the acoustic spectrum (20Hz to 20KHz). A high frequency PWM controller usually operates above the 20KHz, thus the human ear cannot hear this sound. Moreover, PWM controllers can achieve very stable and low speeds without the possibility of a fan stall.
The circuit that i will present to you has all the advantages of the high frequency PWM controllers, but it uses only a 555 timer to generate the pulses. Although the frequency is not very stable (come on it is just a 555 for crying out loud), it will never fall bellow 21KHz thus you will not hear a thing
The circuit is very easy to follow. The output (pin 3) of the 555 timer will control the charging and the discharging of the capacitor. This is the only point that needs of your attention. Usually the capacitor is charged through a resistor directly connected to the power supply, and discharged through pin 7 (discharging capacitor). Now the capacitor is charged from the output of the 555 when it is HIGH, and discharge the same way when the output is LOW. The frequency is calculated from the capacitor itself ( C1 ) as well as from the total resistance of the potentiometer parallel to R3.
Here is the circuit:
The PWM pulses
The duty cycle is changed according to the position of the potentiometer. For the complete period calculation of a pulse, the total resistance of the potentiometer (in parallel to R3 of course) is calculated. But, during the charging of the capacitor, the current goes only through D1, and during discharging, the current goes only through D2. This, according to the position of the potentiometer, the charge period and the discharge period will change, but the complete period of the pulse will always be the charge period plus the discharge period! That is the whole idea of the PWM generation.
Unlike a normal 555 astable multivibrator circuit, the output is taken from pin 7. If you see the internal diagram of a 555 timer, you will see that pin 7 is connected to the discharging capacitor. But the discharging is taken over by the output of the 555, as described above. Thus this pin is free to be used. A resistor is connected to this pin and the it turns the internal transistor into a switching transistor (inverting amplifier). As a result, during the discharging time, pin 7 is logic LOW, while during the charging time pin 7 is logic HIGH. This is driven directly to the control wire of the 4-wire fan. No driving transistor is needed, as we use the internal 555 transistor for this. The rest is taken over by the fan controller itself, as the 4-wire fan carries internally the switching FET (see page "How PC Fans work").
The 4-wire fans have a very clear RPM feedback even if they are driven with PWM pulses
17 Hz (510 rpm) is the minimum rpm predefined by the manufacturer.
64 Hz (1920 rpm) is the maximum RPM
Bill Of Materials (First circuit)
Resistor 1 KOhm 1/4 Watt 5% Carbon Film
1 KOhm potentiometer
Resistor 4.7 KOhm 1/4 Watt 5% Carbon Film
0.1 uF ceramic capacitor
1 uF 16 Volts electrolytic capacitor
1N4148 Switching Diode
1N4148 Switching Diode
What about the 3-wire and the 2-wire fans?
A 3-wire fan connected to the circuit on a breadboard for test
No problem... almost... You see, 4-wire fans have internally a switching FET, something that 3-wire and 2-wire fans lack of (see page "How PC Fans work"). Thus, we need to add this FET externally. The circuit is the following:
You may notice that i have add another resistor to the circuit, the R4. The R4 will prevent the fan from running at very low speeds with the possibility to stall. Actually, the circuit will now generate a minimum duty cycle of around 40%. You may change this resistor to get lower or higher initial speeds.
You need to have in mind also, that, in case you use a 3-wire fan, the feedback from the third wire cannot be used. Instead of the revolution pulses, the third wire will return the PWM pulses. If you want badly to have rpm feedback from a 3-wire fan, you should consider using other circuits:
@Giorgos Lazaridis: Your circuit works marvelous! I am running 5 XigmaTek fans when my motherboard absolutely refused to do so. This circuit works so well, that it even controls those pesky Dell OEM fans that only work with dell boards.
I had found another, that someone else made, but it took 2x more parts. This? It's so simple it blows my mind.
After 12 attempts to wire various circuits, I managed to not turn the 555N into smoke. Its been so long since I made a scratch circuit.
On another note, I did not add the Pull-up resistors as was mentioned in one of these comments.
Thank you for making something so simple that I didnt catch my bench on fire.
@StoneRhino normally the limit is very high. The circuit has no problem running a whole lot of fans. I do not know though what will happen to the fans and if they produce any sort of flyback reverse current
Out of curiosity, how many fans could just one of these circuits run? The reason I ask is that I've seen a few PWM circuits that cant even run 2 without some sort of amplification of the signal via a switching transistor.
@jean-marc jurkiewicz R3 is to reduce the resistance of R2 because i had no smaller that time.
As for the output pin, of course you can use it instead. I usually use pin 7 though because it provides an open collector output so i can have whatever (almost) voltage i want. The problem is with the current if you want to drive current loads more than 25-30 mA
The role of R3 is not clear for me.
When I try to draw the current sourced or sinked by the "out" of the 555 to the capacitor C1 I have no current going via R3.
The classical schema for an Astable build around the 555 , where Ra and Rb defining Thigh, Tlow and using the OUT pin to control the fan pin CTR should work fine, as this pinn is (should be) the gate of a MOSFET.
i used a multimeter to measure the current and voltage, procedure as instructed in its manual(connecting in parallel across the load to measure both voltage and current).
i changed the capactor C1 to 0.05uF no improvements :(
also wanted to tell you that I ran three 80mm 12v 0.32amp on the circuit connected in parallel successfully.
I think this(link: http://www.coolermaster.in/product.php?product_id=6037) fan has some internal circuitry which is not allowing it to run on a pwm voltage somehow.
@Anshul hmmm it is a very common fan... how the leds of the fan are powered? Do they have different supply cable? Maybe they cause some sort of interference, although i doubt...
You may also use a smaller capacitor for C1 to remove the noise (acoustic spectrum PWM). You can for test connect two 0.1uF capacitors in series to have a 0.05uF capacitor, just for the test.
One question: How did you measure the maximum current? You did not put the ammeter in series with the mosfet, did you????
@Giorgos Lazaridis Im making a fan controller for my pc so the psu supplies 12v 24W on the rail, im using.
The fan having issue:
fan specs: 12v, 0.35amp, long life sleeve bearing
The fan which ran successfully:
fan specs: 12v, 0.16amp, sleeve bearing
also, I checked the maximum output voltage and current of the circuit to the fans with a multimeter
voltage: 10.8-11v, current: 2.32amp
so the power is not a trouble at all its much more than sufficient.
so what the hell could be wrong with this circuit(2) :(
please suggest !
Sir your circuit design is so far the best on the web
I had following questions regarding 3 pin fan controller:
1. Can I ground CNTR pin of IC555 with a capacitor? If yes what type and rating.
2. I'm having trouble running a 12v 4.32watt fan (it wont spin at all and produce a noise) whereas the circuit has been tested fine with a 2watt fan. can you suggest whats wrong and any solution for this problem.
(my guess is low current through MOS, comment please)
@Erwin Christianto that will be a 3-phace brushless sensorless motor. You need some sort of driver to make, but fortunately there are integrated circuits to do just that. you only hook up the wires of the motor to the chip
@Giorgos Lazaridis So I only need to set the proper C1 value in use with the pot the be able to sweep the frequency from 30Khz to 50Khz. Is that correct? Like 1pF cap and a 10K ohm resistor. Calculated here:
@Mark Main 21KHz is the frequency for the PWM pulses. The other frequencies are for the fan speed (yellow wire). You can ground pin 5 through a 10pf capacitor if you want, not directly.
For more info on 555 read my theory
You wrote that the frequency \"will never fall bellow 21KHz thus you will not hear a thing\" and later cite \"17 Hz (510 rpm) is the minimum rpm predefined by the manufacturer\" and \"64 Hz (1920 rpm) is the maximum RPM\" in the pictures. I\'m confused by this point.
Also, would it be ok to Ground pin 5 on this design?
How do we calculate what the frequency will be? Thanks for a nice job on this by the way.
@milkshakes the 555 should not overheat, not even get hot. There is a problem in the connection, or the fan you use sinks lot of current in the 4th pin. Increase R1 to 1.5K and put an additional resistor between pin 7 and r1, about 150 to 220 ohms. If still overheats you have bad connection somewhere
i followed your 1st circuit but couldn\'t control the speed. I also learned from your link (4 wire pwm spec) that the max voltage capacity pwm output signal is 5.25v. pin 7 exceeded to its max voltage requirement. did I destroyed my fan\'s control input? it is still function directly using ground and 12v.
@p00chie i suppose that you use circuit #2, with the IRF520. The IRF has a 0.3ohms resistance, so to have a 1.3 volts drop, the motors have to draw 4.3 amperes (2.1 ampere each motor). If this is the case, then you can do nothing else than to increase the supply voltage up to 13.3 volts.
If your motors do not draw that much current, then i suppose that the circuit never reaches 100% duty cycle. There is one simple test to do: remove the wire from pin7 of the 555. What happens? You should hear the fans run at full speed. Is this correct?
I\'m using this circuit to control 2 fans. Works great, however, I\'ve noticed the fans do not run at full speed... they go I bit faster when connected to the 12vdc power supply bypassing the circuit. I measured the output to the fans when using the circuit at max speed and I get 10.7/.8 volts.. is there a way I can avoid that 1.3 drop?
@milkshakes 8 fans will not be a problem. You have to make a small change though. You have to add a pull-up resistor for each fan PWM control wire (usually it is blue). In the schematic i have only one pull-up, that will be R1 (1K). But you have to use one pull-up for each separate fan. This resistor must be 4.7K and not 1K (as i have now).
the fans that i want to use are the 4 wire type.
how do i find the minimum current,do i have to rip the fan to pieces or is there a safer way (for the fan) to find it?
i want to control between 4 and 8 coolermater xtraflow fans.
i havent decided on a 555 yet,havent even had a look,could you give me a max current that one can output?
@milkshakes for 4-wire fans, i cannot answer, because i have to know the minimum current required for each fan for the PWM input, as well as the maximum current the 555 can sink through the discharrge pin (7).
For 3-wire fans, it can control as much as the Q1 can handle. I use a 9A mosfet. Average, a PC fan draws some 400mA, so i could run 20-22 fans.
@Jerrywaz yes it can, but a triac will not operate normally as you expect. if you want to make a dimmer for AC circuit, better see my other circuits that i have an AC dimmer. Triacs are meant to work mainly with AC
You can go as high as you like, but the higher you go, the less rpm band control you have. It is up to you. Of course, you need to go high enough for the fan not to stall! This is important. Regarding the capacitor, you can add the small capacitor as well with no problem. It will filter higher frequency. And yes, it is good for the power supply of the PC. But the power supply (and everything that is connected to it) has its own filters, so this is not absolutely necessary.
I'm using the second circuit to control a 120mm, 2-wire, ball bearing, brushless fan in my computer.
When I turn the pot all the way down, and then stop the fan with my fingers, it doesn't start back up, even if I change R4 to 2500 Ohms. Is it ok to go higher? Is there a limit, or should I change something else?
Also, I read that it is good to put a 0.1uF poly metal or ceramic capacitor parallel to C2 (supply to the 555). Is that ok to do?
Am I right that C2 (and the 0.1uF ceramic - if I add it) relieve the stress on my computers' power supply when the 555 is changing from HIGH to LOW?
As far as I understood the circuit R2 is used for changing the Fan speed.
Question: If I increase the resistance what does the fan do ? Increase or decrease the speed ? I would like to know it so I can wire the Potentiometer in that way that by turning CW the fan speed increases and CCW the fan speed decreases.
I built the first circuit and killed a fan with it. PWM fans are rated with a max of 5.25 volts on the control line, so 11.6 volts at 100% dutycycle kills the internals of the fan.
Also it didn´t worked for 4 of the 9 fans i´ve tested.
And I´ll get some really annoying high pitch noise...
If you read the 2 last paragraphs you will see why. The lower duty cycle is about 40%, so to prevent the fan from stalling. Read the paragraphs and you will see how you can change this value to almost 0.