Larry Pellach and Brian Silverstein Using Atmega

Larry Pellach and Brian

Introduction
Imagine being able to monitor the status of a given room or area from anywhere in the world, at anytime.  In todays booming technological atmosphere, this dream doesnt sound so far off.  However, imagine being able to do this cheaply, while not sacrificing efficiency and functionality.  Our microcontroller web-monitored thermostat does exactly this.  It offers flexibility and functionality at a very low cost.

Larry Pellach and BrianWhile conceiving our final project idea, we thought of many applications where a thermostat could be remotely monitored using a serially connected web-server.  Food businesses or warehouses would be able to continually monitor temperature histories as well as possible problematic conditions that could potentially destroy their inventory.  Dense computer labs utilizing millions of dollars of high-end computer equipment need to be carefully temperature controlled.  Wouldnt it be helpful if the lab administrator could monitor the labs environment as well as its individual computer conditions?
Our web-monitored thermostat continually monitors a room temperature, and using the power of Matlab, sends this information to a web server for posting on the Internet.  Simultaneously, the device compares the current temperature to some temperature threshold, which the user sets, to determine if a fan should be turned on.  The devices feature set is completely flexible and very easily changed through software and minor hardware changes as per customer need basis.

Larry Pellach and Brian Silverstein

High Level Design
Our thermostat uses the Atmel AT90s8535 microcontroller to control and interface the devices involved. Our main objective was to accurately measure room temperature.  We achieved this using National Semiconductor’s LM35  temperature sensor chip, which outputs some voltage based on the temperature in Celsius.  The microcontroller analyzes this voltage using its Analog to Digital Converter, and displays this temperature on the LCD.  Simultaneously, the current temperature and fan status is outputted via the Universal Asynchronous Receiver and Transmitter (UART) to be interfaced with Matlab and sent to a web server for output on the Internet.  At any time in this process, the threshold temperature can be changed by the press of a pushbutton.  This  will make Matlab prompt the user for a new threshold, and the input is sent back to the microcontroller via the UART.

We designed our device to work at a range of 0 degrees Celsius to 150 degrees Celsius.   The specification for the LM35 chip says that for every degree Celsius the chip measures, the output voltage will be 10mV, and that the device is accurate to +/- .5 degrees.  We used a reference voltage of 2.55 Volts on the Analog to Digital Converter to ensure an 8-bit temperature for simplicity, and to ease the mathematical calculations necessary to convert the digital input to a hexadecimal temperature.  The math required came down to a simple shift.  We simply shifted the digital 10-bit input by 2 to the right, resulting in a division by 4.  For example, if our input is 512, we would divide by 4 and get a temperature of 128 degrees.

Read more: Larry Pellach and Brian Silverstein

Leave a Comment

Your email address will not be published. Required fields are marked *