The device is intended for measuring the air temperature (in °C) and relative humidity (in %) in a living room. The range of displayed values is 0 - 50°C and 5 - 99%, respectively. The measurements alternate on the 2-digit display with a period of 1.5 sec. The temperature values are indicated by the degree symbol at the top right corner of display.
Schematic | Measuring temperature | Measuring humidity | ||
The device is powered by a solar cell D1 manufactured by IXYS that generates 4.3V DC at full sun. The cell is connected to the charge controller of a lithium rechargeable battery which is integrated into IC2. This IC, manufactured by Cymbet, takes care of automatic harvesting of the solar energy and turns the charger on and off depending on the lighting conditions. The battery capacity is 50 μAh and it can be fully charged in about 40 minutes. The load draws below 1 μA in average, which allows the device to operate from the battery for more than a day till the next recharge. Actually, the real operating time is much longer, because the voltage generated by the solar cell is periodically monitored by a Silicon Laboratories μC and the device shuts down when it is dark. This way the average power consumption falls down in a factor of 3. The device automatically turns on again as the ambient light level becomes sufficient for reading the display.
Parts under the LCD | Assembled PCB | |
The battery's nominal voltage is 3 - 3.8V is stabilized at the level of 2.8V by a TI's voltage regulator IC1 with a quiescent current of 500 nA. This way a constant LCD contract is achieved which does not depend on the battery discharge level. Transistors VT1 and VT2 are used by programming the μC. In this mode the μC draws about 3.8 mA, which the battery cannot handle. The external 3.3V voltage from the programmer (VDD pin of in-circuit programming connector SV1) closes both transistors and prevents the programmer voltage from damaging IC1 and IC2. By unplugging the programmer the transistors open again and the device automatically switches to running from the battery. Low channel resistance of VT1 and VT2 provides virtually zero voltage drop on them which increases the overall system efficiency.
The temperature is sensed by Microchip TC1047A analog sensor IC4 and digitized by built-in to the μC ADC. The sensor is only powered for the period of temperature sensing. For measuring the humidity we use Honeywell capacitive sensor C6. This sensor is connected to a relaxation oscillator based on a comparator integrated into the μC. All feedback resistors needed for the circuit to oscillate are integrated within the μC. The oscillator also turns on for the time of counting its frequency by the μC built-in timer. The timer runs from the μC system clock at 20 MHz, so that the entire processing of both measurement takes just a few tens of microseconds. At the remaining time the μC is put into a deep speel mode with a working SmaRTClock 16 KHz timer that provides periodic wake-ups of the system. In the sleep mode the μC draws just about 0.4 μA.
The Varitronix LCD is driven directly by the μC. Its refreshing period is about 17 msec. Therefore, the μC wakes up from the deep sleep mode every 17 msec and most of the time just inverts the state of its outputs connected to the LCD. As experiments show, the LCD is pretty slow and practically no flickering is noticeable even at so low refresh rate. The LCD provides a reasonable contract by being driven at 2.8V.
The μC code is written in assembly language and developed in Silicon Labs IDE equipped with Keil tools.
Last modified:Mon, Jan 23, 2023.