Temperature monitor and fan controller reduce fan noise
David Hanrahan, Analog Devices Inc, Limerick, Ireland -- EDN, 5/10/2001
The scheme in Figure 1 reduces system acoustic noise by running system fans at their optimum speeds for a given temperature. IC1 combines ±1°C-accurate temperature measurement of three temperatures with automatic fan-speed control of two channels. A two-wire serial interface allows you to oversee critical temperature and fan-speed data. NPN transistors, such as the 2N3904, can measure temperatures in remote locations. The icrocontrollerinterface allows you to connect an LCD to display all monitored parameters.You program IC1's automatic-fan-speed-control function using TMIN and TRANGE (Figure 2). TMIN is the temperature at which the fan automatically turns on and runs at minimum speed. TRANGE is the temperature-to-fan speed-control slope, with options of 5, 10, 20, 40, and 80°C. Choosing one of the TRANGE options allows you to define how the fan reacts to temperature variation.
An example of programming IC1 follows. Setting Configuration Register 1 (Reg 0x00)
to 0x99 starts the device in automatic-fan-speed-control mode, with the
function enabled. A setting of Remote Temp 1 TMIN/TRANGE (Reg 0x25)=0x63 sets TMIN for fan 1 to 48°C and TRANGE to 40°C. The fan reaches full speed at 88°C. A setting of Remote Temp 2 TMIN/TRANGE (Reg 0x26)=0x62 results in a TMIN for Fan 1 of 48°C and a TRANGE of 20°C. The fan reaches full speed at 68°C.
The fan runs at low speed until the system requires a higher level of cooling. The fan speed responds automatically to temperature variation, reducing acoustic noise (Figure 3). You can program additional features, such as fan spin-up time and minimum fan speed. The automatic-fan-speed-control mode allows flexibility over which temperature channel controls each fan. You can also decide that the maximum speed calculated for all temperature channels controls the fans.
Figure 4 shows the circuit diagram for the temperature-monitor/fan-control circuit. The PIC16C84 writes the configuration settings to IC1 and optionally drives an LCD. The µC bit-bangs pins 2 and 3 to provide serial clock and data for IC1. The µC reads and displays
all temperatures and fan speeds. The LEDs that connect to the
and
outputs
illuminate whenever an overemperature condition occurs or a fan fails. The
output
is a fail-safe output that goes low if a preprogrammed overtemperature
limit
is exceeded. In the event of an overtemperature condition, both fans
automatically run at full speed. If some external device pulls the
pin
low, the fans also run at full speed. The
pin signals catastrophic fan failure. If one fan fails, the second fan automatically spins at full speed to compensate for the loss of airflow. Should the failing fan recover or be replaced, both fans automatically return to their normal operating speeds.
You can extend this idea for multiple fans with redundant cooling using two ICs to monitor six temperature zones (Figure 5). This
scheme cross-connects the
and
signals. The same pin drives fans A1 and A2, which will run at the same speed. Likewise, fans B1 and B2 connect in parallel to a common FET. Fans C and D are redundant coolers that the system uses only if it gets excessively hot or a fan fails. If either fan A1 or A2 fails, fans B1 and B2
automatically run at full speed. The
output of IC1 asserts low, pulling
of IC2 low, which causes redundant fans C and D to run at full speed. If either fan B1 or B2 fails, fans A1 and A2 automatically run at full speed. The
output of IC2 pulls
of IC1 low, causing fans A1 and A2 to run at full
speed. Fans C and D also automatically run at full speed. If the faulty fan is
replaced, all fans return to their normal operating speeds.
signals alert the system to fan failure.


















