Tom Au-Yeung and Wilson Tang, Maxim Integrated Products
EDN
You can make a wireless temps system with two ICs
You can use a local temperature sensor and an ASK (amplitude-shift-keying) transmitter/receiver pair to design a simple wireless temperature-monitoring system with data-logging capabilities. A microcontroller processes and displays the temperature reading to the user. The microcontroller’s onboard UART (universal asynchronous receiver/transmitter) also allows for data-logging applications.
Figure 1. | The MaX6577 temperature sensor and 315-MHz MaX1472 aSk transmitter form a wireless temperature-monitoring system. |
Local-temperature sensor IC1 detects the ambient temperature at the device (Figure 1). The output of IC1 is a square wave with a frequency proportional to temperature in kelvins. ASK transmitter IC2 modulates the signal onto the carrier frequency of 315 MHz. You measure the output signal’s frequency with a frequency counter. The configured scalar multiplier is 1K/Hz when the TS1 pin connects to ground and the TS0 pin connects to VDD. This scalar multiplier is configurable with pins TS1 and TS0. ASK receiver IC3 demodulates the signal at the corresponding carrier frequency (Figure 2).
Click to enlarge |
|
Figure 2. | An ASK receiver with a microcontroller processes and displays temperature data. |
Comparator IC4 connects to IC3’s RSSI (received-signal-strength indicator) with an internal peak detector. The external RC follows the peak power of the received signal and compares it with a predetermined, resistor-voltage-divider-generated voltage level. Lab experiments show that a threshold of approximately 1.57V generates a valid output on the data-out pin without receiving false readings. Adjust this threshold to the proper level for optimal performance. The comparator’s output is low when the received signal is weak or invalid and high when the received signal is adequate.
Microcontroller IC5 then measures and displays the value of the signal frequency using its integrated timer/counters and LCD-driver peripherals. A counter tracks the number of rising-edge transitions on the input temperature signal, and a timer tracks the elapsed time. After the timer’s 1-sec period elapses, an interrupt occurs. At that moment, the circuit reads the counter value, converts it to Celsius, and displays it on the LCD. The counter then resets to zero to restart the process. The timer automatically reloads once the timer interrupt occurs. UART0 also outputs the resulting temperature. A handheld frequency counter verifies the temperature reading.
The microcontroller monitors the signal power through P6.0, a general-purpose input pin. When the input is logic low, the LCD and UART output “no RF” to alert users of possible transmitter issues when the transmitter and receiver are too far apart from each other. The LCD connection follows the design in the IC’s evaluation kit (Figure 3). Using a look-up table in the data segment of the assembly code enables you to preserve the internal mapping of the display’s A through G segments. This preservation ensures that the display enables the correct segments. Using an RS-232 level converter, the UART output sends data to a data-logging device, such as a computer.
Figure 3. | Maxim MAXQ2000-KIT Evaluation Kit. |
Use the MAX-IDE assembler software to program the device during assembly. The MAXQJTAG board operates with the MAX-IDE to load the code onto the device. You can download the project files here. This design provides for a 1-sec temperature-refresh rate in 1°C increments, which is within the accuracy of IC1.
Downloads
Source Code (MAX-IDE assembler software) - download
MAXQ2000-KIT Evaluation Kit user manual and schematic - download