Introduction: 4 Wire Fan PWM Speed Controller Using 555 Timer IC

About: I’ve obtained a lot of value from Instructables over the years, and I hope I can contribute something back to the community.

Overview


This circuit uses a 555 timer IC to implement a speed controller for four wire computer fans. Four wire fans use a 12 volt power supply to drive the motor, with the speed controlled by a PWM input. The remaining wire is a tach out, providing two pulses per rotation which can be used to monitor the actual speed of the fan. In this circuit, we don't use the tach output.

The design presented here uses a 12 volt supply for the fan, with a voltage regulator to provide the 5 volts needed to produce and output the PWM.

We are aiming to produce PWM with a variable duty cycle at a frequency in the vicinity of 25KHz. In practice this circuit operates between 16 and 30KHz at usable fan speeds, which based on my testing is within the tolerances of at least my fan.

For a detailed description of the 4 wire fan standard, please refer to https://www.intel.com/content/dam/support/us/en/documents/intel-nuc/intel-4wire-pwm-fans-specs.pdf

Much has been written about the workings of this circuit design, see http://boccelliengineering.altervista.org/junk/schematic_555_pwm_fixed_freq/fan_control_555_schematic.html for a good guide.

The focus of this article will be practical implementation of the circuit on a veroboard.

Note this article requires soldering, and it is assumed you have the required tools and understand how to solder along with basic tools like a knife, wire cutters etc.


Alternative Approaches


An alternative approach would be to use an Arduino or some other microcontroller to provide the PWM required. In many respects, that would be a simpler and probably cheaper solution - An Arduino Nano can be had for under $5, and already has the voltage regulator needed.

You could also buy a fan speed controller module.

Supplies

Parts:


Refer to the schematic for component references

  • M1 4 wire computer fan
  • VR1 LM7805 Voltage Regulator (three pin TO220 package)
  • U1 NE555 Timer IC (DIP8 package)
  • C1 .33uF Electrolytic Capacitor, at least 25 volts
  • C2 .1uF Electrolytic Capacitor, at least 10 volts
  • C3 1nF Ceramic Capacitor
  • C4 10 nF Ceramic Capacitor
  • D1 & D2 1N4148 Diode
  • R1 1K 1/4w resistor
  • RV1 50K Potentiometer (linear)
  • Veroboard
  • Hookup wire

Optional:

  • 4 Pin 2.4mm pitch header for fan connection
  • 1 x 2 pin terminal block for power input
  • R2 330 ohm
  • D3 Green or Red LED (a blue LED will need a different value for R2)
  • Toggle Switch
  • Heatshrink tube
  • Isopropyl Alchohol


A source of 12 volt DC power, for example a wall adapter.

Step 1: Collect Components

Ensure you have all the required parts. Note that in my build, I substituted larger valued capacitors for C1 and C2 as I didn't have the correct values on hand.

In this device, it probably doesn't matter, but the values in the schematic align with the datasheet for the LM7805 voltage regulator.

If any parts have unclear markings, it's a good idea to use a multimeter to check them before you go ahead and install them.

Step 2: Cut & Prepare the Stripboard

Cut the stripboard to size. I have found the easiest way to do this is to score it along the copper side with a sharp knife then snap it over an edge.

Using a stripboard cutting tool or some similar implement, cut the copper tracks as shown. Keep in mind, the image shows the top side of the stripboard, so be careful to cut the correct tracks when you flip it over.

Optionally, clean the prepared stripboard using pure isopropyl alcohol and paper towel or a cloth. This can help make it easier to solder, especially if the stripboard is old (like mine was)

Step 3: Solder the Components

Solder all the parts to the stripboard. It's generally best to work in size order from the flattest to the tallest (i.e. Jumper wires, IC, Diodes, Caps, Resistors, Headers, Voltage Regulator.

Don't forget the two jumpers between IC pins 2 and 6, and 4 and 8, which are under the board.

Ensure you solder the IC, voltage regulator, diodes and electrolytic caps in the correct orientation.

Solder wires onto the external components (potentiometer and LED if you're using one) and optionally protect the joints using heatshrink tube, then connect them to the stripboard.

Step 4: Testing

Start by visually inspecting the completed device, making sure all the solder joints are sound, all the parts are in the correct location & orientation, and you've not made any short circuits or solder bridges between tracks on the stripboard.

Before you connect the fan, connect the power, then, using a multimeter, check you have 5 volts between the negative input lead and pin 8 on the 555 timer IC.

Next, check you have 12 volts between pins 1 & 2 of your header block (these are connected directly along the copper tracks to the 12v input, so if there is not 12 volts here, something is really wrong).

If you have a multimeter with a frequency function, or an oscilloscope, you can verify the output PWM on Pin 4 of the header block is what we expect (in the vicinity of 25KHz, and not too much variation with duty cycle adjustment).


Once you're happy everything is working as it should, and none of the magic smoke has escaped, connect a fan and test the functionality.