Simple digital thermometer with AVR

This is a very simple digital thermometer with an Atmel AVR microprocessor, measuring the temperature in range of 2 to 99 °C (degree Celsius) with a resolution of 1 °C. The circuit is controlled by a microprocessor IO1 - Atmel AVR ATmega8, ATmega8L or ATmega8A. As the temperature sensor an integrated circuit LM35 is used. It provides the output
Simple digital thermometer with AVR - schematic

voltage linearly proportional to the temperature with coefficient of 10mV / °C. The temperature is displayed on a two digit seven-segment LED display. The display is multiplex controlled. Cathodes of display are connected to port D, anodes to the lowest 2 bits of port B. Using the superbright display allows to omit the current amplifying transistor. Multiplex frequency is about 100Hz. The resistors R1 to R8 determine current into display and thus its brightness. They are chosen not to exceeded the maximum output current of IO1 individual pin (40 mA) even when all 8 LEDs are lit at once. The thermometer uses single-ended 10-bit AD converter, which is part of the ATmega8 AVR. Only the upper 8 bits are processed. At a higher value than 99 °C the symbol "- -" appears. Refresh rate of displayed data is about 2 Hz. IO1 ATmega8 is using internal oscillator that is set to 1MHz. Crystal is not needed because the clock frequency is not critical for the analog to digital converter (ADC). The converter uses internal voltage reference with a nominal (typical) voltage of 2. 56 V. Fot the temperature measurement with a resolution of 1 °C it is sufficient. Thermometer is powered from a supply of about 5V. Current consumption is about 25 mA (most of which is the consumption of the LED display). This thermometer can be useful as a room thermometer or temperature indicator of different devices (PC box, power transistor or CPU heatsikn, motor,...

Leave Comment

characters left:

New Circuits