Computer fan control
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
Fan control is the management of the rotational speed of an electric fan. In computers, various types of computer fans are used to provide adequate cooling, and different fan control mechanisms balance their cooling capacities and noise they generate. This is commonly accomplished by the motherboards having hardware monitoring circuitry, which can be configured by the end-user through BIOS or other software to perform fan control.
Need for fan control
As modern PCs grow more powerful so do their requirements for electrical power. Computers emit this electrical power as heat generated by all major components. Heat production varies with system load, where periods of compute-intensive activity generate much more heat than the idle time does.
Processors in most early x86-based computers, up to some of the early 486s, did not need active ventilation. Power supplies needed forced cooling, and power supply fans also circulated cooling air through the rest of the PC with the ATX standard. The byproduct of increased heat generation is that the fan(s) need to move increasing amounts of air and thus need to be more powerful. Since they must move more air through the same area of space, fans will become more noisy.
Fans installed in a PC case can produce noise levels of up to 70 dB. Since fan noise increases with the fifth power of the fan rotation speed, reducing revolutions per minute (RPM) by a small amount potentially means a large reduction in fan noise. This must be done cautiously, as excessive reduction in speed may cause components to overheat and be damaged.[needs update] If done properly fan noise can be drastically reduced.
The common cooling fans used in computers use standardized connectors with two to four pins. The first two pins are always used to deliver power to the fan motor, while the rest can be optional, depending on fan design and type:
- Ground – common ground
- Vcc (Power) – nominally a +12 V supply, though it may be variable depending on fan type and desired fan rotation speed
- Sense (or tachometer) output from fan – outputs a signal that pulses twice for each revolution of the fan as a pulse train, with the signal frequency proportional to the fan speed
- Control input – a pulse-width modulation (PWM) input signal, used when the cooling fan assembly has an internal motor driver circuit. Fan assemblies with this control input provide the ability to adjust the rotational speed of the fan without changing the input voltage delivered to the cooling fan assembly. A variable rotation speed allows the cooling rate to be adjusted to meet demand, quietening the fan and saving energy when full speed is not required.
The color of the wires connected to these pins varies depending on the number of connectors, but the role of each pin is standardized and guaranteed to be the same on any system. Cooling fans equipped with either two- or three-pin connectors are usually designed to accept a wide range of input voltages, which directly affects the rotation speed of the blades.
Types of control
In this style of fan control, the fan is either on or off. Temperature inside the chassis is checked, and if an outside-of-range temperature is detected, fans are set to their maximum speed. When the temperature drops below a threshold again, the fans are turned back off. This control method reduces noise issues and power requirements during periods of low usage, but when the system is operating at capacity, the fan noise can become a problem again.
Linear voltage regulation
A standard cooling fan is a DC motor with blades attached. By varying the voltage input across the acceptable range for a fan, the speed of the fan will increase (to added voltage) and decrease (to reduced voltage); a faster fan means more air moved and thus a higher heat exchange rate. There are a few ways to perform this regulation, as described below.
Resistors in series with a fan's power pin are the simplest method of reducing fan noise, but they add to the heat generated inside the computer case. Since the voltage drop is proportional to the current, the fan may not start. They need to be of the appropriate power rating. For variable fan control, potentiometers could be used along with a transistor such as a MOSFET whose output voltage is controlled by the potentiometer. It is possible to use a rheostat instead.
A diode in series with the fan will reduce the voltage being output to the fan. A silicon diode provides a relatively constant voltage drop of about 0.7 V per diode; data sheets for a specific diode specify its voltage drop, for example the 1N4001 silicon diode's voltage drop varies from approximately 0.7 to 0.9 V as the current varies from 0.01 to 1 A. The power rating should be noted and some diodes may require cooling to operate at their rated current. The voltage drop across the diode will fall with temperature, causing the fan to speed up.
Like other series regulators, the diode will dissipate power equal to its voltage drop times the current passing through it.
Voltage modification ("volt modding")
The voltage a computer cooling fan receives is defined by the difference between the voltage wire (+12 V) and the ground wire (+0 V). By connecting one or both wires to a different voltage, the voltage the fan receives will be different from the default 12 V the fan was designed for.
Increasing the voltage over the default 12 V can be achieved by e.g. connecting the −12 V or −5 V power line instead of the ground wire in the fan connector, and by connecting the 5 V power line in the +12 V input of the fan connector. Through this procedure, 10, 17 and 24 V voltages can be achieved, with voltages exceeding 12 V being potentially damaging to the computer fans rated at 12 V. However, the combination of modern power supplies no longer being required to provide a −5 V power line and the limited power delivery capability of the −12 V line (usually less than 1 A of current) reduces the total capacity for volt modded fans in modern systems.
Connecting the +5 V power line to the +12 V input of the fan reduces the voltage the fan receives to +5 V. Some fans will not work at such low voltage at all, while some other fans may run at +5 V once they have started rotating at a reasonable speed.
Another method of reducing the fan speed is by moving the 5 V wire in the classical Molex power connector in the place of the Ground wire going to the fan, thereby delivering +7 V (12 V − 5 V = 7 V) to the fan. However, this is a potentially risky method, because +5 V PSU line is intended to source current only, not sink it, so the PSU is likely to get damaged in case of load on 5 V PSU line being below the load generated by 7 V fans (e.g. when PC enters idle/sleep state). Also, the components inside the computer using +5 V power might be exposed to over 5 V in case of a short circuit in the fan.
Integrated or discrete linear regulators
Common voltage regulator ICs like the popular LM78xx series are sometimes used to provide variable or constant voltage to fans. When thermally bonded to the computer's chassis, one of these ICs can provide up to 1 A of current at a voltage of 6, 8, 9 or 10 V for the LM7806, LM7808, LM7809 and LM7810, respectively. Adjustable versions like the popular LM317 also exist; when combined with a potentiometer, these adjustable regulators allow the user to vary the fan speed of several fans at currents far in excess of what a standard potentiometer could handle.
For higher currents, discrete linear regulators are relatively simple to construct using a power transistor or MOSFET and a small signal transistor or a Zener diode as a voltage reference. While discrete regulators require additional components (a minimum of two transistors, three resistors and a small capacitor), they allow for arbitrarily high currents, allowing for the regulation of additional fans and accessories.
As with other linear regulators, the waste heat that is produced will be roughly P = (Vin - Vout) Iout.
Pulse-width modulation (PWM) is a common method of controlling computer fans. A PWM-capable fan is usually connected to a 4-pin connector (pinout: Ground, +12 V, sense, control). The sense pin is used to relay the rotation speed of the fan and the control pin is an open-drain or open-collector output, which requires a pull-up to 5 V or 3.3 V in the fan. Unlike linear voltage regulation, where the fan voltage is proportional to the speed, the fan is driven with a constant supply voltage; the speed control is performed by the fan based on the control signal.
The control signal is a square wave operating at 25 kHz, with the duty cycle determining the fan speed. 25kHz is used to raise the sound of the signal above the range of human hearing; use of a lower frequency could produce an audible hum or whine. Typically a fan can be driven between about 30% and 100% of the rated fan speed, using a signal with up to 100% duty cycle. The exact speed behavior (linear, off until a threshold value, or a minimum speed until a threshold) at low control levels is manufacturer dependent.
Many motherboards feature firmware and software that regulates these fans based on processor and computer case temperatures.
Fan speed controllers
Another method, popular with gamers[which?], is the manual fan speed controller. They can be mounted in an expansion slot or a 5.25" or 3.5" drive bay or come built into a computer's case. Using switches or knobs, attached fans can have their speeds adjusted by one of the above methods.
Most modern motherboards feature hardware monitoring chips, which are capable of performing fan control, usually through the PWM method as described above. These chips can be configured through BIOS,: or by using specialised software once the operating system has booted.
Processors produce varying levels of heat depending on system load, thus it makes sense to reduce the speed of the fans during idle to decrease the noise produced by fans running full speed, until the load does goes up, at which point fan speed must be adjusted promptly to avoid overheating. Modern hardware monitor chips, once configured, are capable of independently running this monitoring loop without any need for a functioning BIOS or an operating system. This automatic control offered by some chips may be called Thermal Cruise mode for maintaining a thermal envelope, as well as Fan Speed Cruise mode for maintaining a specific fan speed automatically.:
However, not all software is capable of accessing these advanced configuration parameters provided by some chips, and it is very common that the generic software implements only the most basic interfacing with the chips, namely, an explicit setting for the duty cycle for each fan control setting, subsequently performing the duty cycle adjustments itself in software, and thus requiring that both the operating system, as well as this third-party software itself to continue running on the main CPU to perform the monitoring loop.: This may not be a problem until the system or the utility crashes, at which point the system may overheat due to the failure of the fans to maintain adequate cooling whilst running at reduced voltage and speed.
The method by which the software physically controls the fan is usually PWM (see above). Many companies now provide software to control fan speeds on their motherboards under Microsoft Windows or Mac OS X/MacOS.
- AOpen motherboards can use "SilentTEK".
- ASUS motherboards can use "Fan Xpert" or "Thermal Radar" 
- MSI motherboards can use "Command Center".
- Universal abit motherboards can use "μGuru".
- Gigabyte motherboards can use "EasyTune 6".
- Intel desktop boards (older socket 478, etc.) use "Active Monitor" and "Desktop Control Centre".
- Intel desktop boards (newer socket 775, etc.) use "Desktop Utilities".
- Dell laptops can use "i8kutils".
- Lenovo ThinkPad notebooks can use the freeware "TPFanControl".
- Lenovo ThinkPads running FreeBSD can use the
fan_levelsysctl of the
- Lenovo ThinkPads running DragonFly BSD can use the
fan_levelsysctl of the
- Macintosh computers can use Fan Control.
- Computers running Linux can use lm_sensors.
- Computers running OpenBSD or DragonFly BSD with hw.sensors patch for fan-control applied.
There are also third-party programs that work on a variety of motherboards and allow wide customization of fan behavior depending on temperature readings from the motherboard, CPU, and GPU sensors, as well as allowing manual control. Two such programs are SpeedFan and Argus Monitor.
- Constantine A. Murenin (2007-04-17). "1. Background". Generalised Interfacing with Microprocessor System Hardware Monitors. Proceedings of 2007 IEEE International Conference on Networking, Sensing and Control, 15–17 April 2007. London, United Kingdom: IEEE. pp. 901–906. doi:10.1109/ICNSC.2007.372901. ISBN 978-1-4244-1076-7. IEEE ICNSC 2007, pp. 901–906.
- Barber, Antony (1992). Handbook of Noise and Vibration Control - Antony Barber - Google Books. ISBN 9781856170796. Retrieved 2014-01-01. CS1 maint: discouraged parameter (link)
- Overspin Your Fans
- Get 12V, 7V or 5V for your Fans
- "LM7808". fairchildsemi.com. Archived from the original on 2015-04-02. Retrieved 2014-08-13.
- "LM317 - Single Channel LDO - Linear Regulator (LDO) - Description & parametrics". ti.com.
- "Thermal Considerations for Linear Regulators". November 28, 2006. Archived from the original on 2015-04-02. Retrieved 2015-02-26.
- "4-Wire PWM Controlled Fans Specification" (PDF). September 2005. Archived from the original (PDF) on 2011-07-26. Retrieved 2011-07-21. CS1 maint: discouraged parameter (link)
- Constantine A. Murenin (2010-05-21). OpenBSD Hardware Sensors — Environmental Monitoring and Fan Control (MMath thesis). University of Waterloo: UWSpace. hdl:10012/5234. Document ID: ab71498b6b1a60ﬀ817b29d56997a418.
- Mike Chin (2002-12-29). "Review: SilentTEK - AOpen's mobo-embedded fan controller". Retrieved 2019-03-25.
- "Fan Xperts". asus.com. Archived from the original on 2013-03-02.
- "thermal-radar2/detail-2.jpg". Retrieved 2019-03-25. CS1 maint: discouraged parameter (link)
- "Intel® Desktop Boards - Intel® Active Monitor". Intel.com. 2004-12-16. Archived from the original on 2014-01-01. Retrieved 2009-02-27.
- "Intel® Desktop Control Center". Intel. Archived from the original on 2014-01-01. Retrieved 2009-02-27.
- "Intel® Desktop Utilities". Intel. Archived from the original on 2014-01-02. Retrieved 2009-02-27.
- "i8kutils in Launchpad". launchpad.net.
- "TPFanControl by troubadix". tpfancontrol.com. Archived from the original on 2016-07-14. Retrieved 2016-07-17.
- "acpi_ibm.c". BSD Cross Reference. FreeBSD. Lay summary.
- "acpi_thinkpad.c". BSD Cross Reference. DragonFly BSD. Lay summary.
- "Fan Control". www.derman.com. Archived from the original on 2016-12-20. Retrieved 2016-12-06.
- "lm-sensors". lm-sensors.org. Archived from the original on 2009-02-28. CS1 maint: discouraged parameter (link)
- Constantine A. Murenin (2010-03-14). "Quiet computing with BSD: Fan control with sysctl hw.sensors and lm(4) on OpenBSD and DragonFly BSD". Retrieved 2019-03-25.
- "SpeedFan - Access temperature sensor in your computer".
- "Argus Monitor - Software to control CPU, GPU and System fans using any available PC temperature source".
- 4-Wire PWM Controlled Fans Specification v1.3, Intel
- 3-Wire and 4-Wire Fan Connectors, Intel
- 3-Wire, 4-Wire Motherboard Fan Connector Pinouts, AllPinouts
- Why and How to Control (2/3/4-wire) Fan Speed for Cooling Electronic Equipment, Analog Devices
- Controlling fanspeeds in Linux on PWM motherboards, Thinkpads and ASUS Eee PC