PC hardware monitor reports the weather
Sean Gilmour, Analog Devices, Limerick Ireland -- EDN, 1/18/2001
You usually use PC hardware monitors to keep a close eye on power-supply voltage levels, the speed of system cooling fans, and even the temperature of the CPU. Until fairly recently, this level of system monitoring was reserved for high-end servers running mission-critical applications. However, now that low-cost hardware monitoring ASICs are available, advanced hardware monitoring has become a standard feature in most new PCs. And hardware monitors are now finding their way into diverse applications, such as weather stations (Figure 1). IC1 has two external temperature- measurement channels. One channel connects to a resistive humidity sensor, and a second channel uses a 2N3906 transistor to sense the outdoor temperature. The internal temperature sensor measures the indoor temperature. One of the tachometer inputs connects to the output of a wind-speed meter. For each of the measurement inputs, you can set limits that warn the user of changing weather conditions. IC1 uses a switching- current-measurement scheme, so you can mount the sensors hundreds of feet from the IC and still maintain a high SNR. IC1 connects to a parallel printer port using a 74HC07 open-drain noninverting buffer. Pin 2 of the parallel port is the serial clock. Pin 3 writes configuration data into IC1 , and Pin 13 reads data from IC1 . The necessary software is simple, and the parallel-printer port is easily accessible using freeware drivers and DLLs that you can find on the Internet. You can bit-bang the SCL and SDATA lines using a programming language such as Visual Basic or Visual C++. The temperature-measurement channels use a thermal diode, such as that on Intel's Pentium processors (PII+), or a discrete npn or pnp transistor. These channels use a two-wire scheme that supplies switching current levels to the transistor. IC1 measures the difference in VBE between these two currents and calculates the temperature according to the following well-known relationship: DVBE =KT/q x ln(N), where K is Boltzmann's constant, q is the charge of an electron, T is the absolute temperature in Kelvin, and N is the ratio of the two currents. You can also use the CPU temperature-monitoring channels to measure changes in resistance, making them useful for most resistive sensors, including photo diodes, photo resistors, gas sensors, and resistive-humidity sensors. |