Beverage Temperature Regulator

There’s nothing like an ice-cold drink on a hot summer day, is there? Especially if you’re a beer-loving dude with some free time and some hardware skills.

A fairly simple and fun project, the “Digital Thermostatic Beer Refreshment Regulator” (as entitled by its author) is based on an Arduino and a temperature sensor that control the temperature of the liquid inside the refrigerator (i.e. beer). The Arduino is actually a Freeduino SB and the temperature sensor is a LM35DZ. The beer regulator also possesses a NTE RS1-1D4-21 solid state relay to trigger 5v voltage to manage the amperage of the refrigerator.

The temperature is displayed on a SLCD162 MeLabs serial LCD Display which only uses 1 pin of the Arduino microcontroller. Other parts include some 10k and 100k resistores, pins, connectors, wires and plex-glass for the LCD stand (you can find a detailed parts list in the link). The code is written in C and it can be easily modified to adjust turning of the whole device ON or OFF to match your desired temperature of the beer. Plans for rewriting some of the code to get a more precise temperature are on the way. Also, a more complex display could be added to the project quite easily, since the current LCD is connected using an ethernet jack with Cat5 cable.

Now, I’m pretty sure you can do all these things with a common refrigerator that has a LCD display on the outside and a front panel to set the temperature, so it’s hardly a world changing project. Further more, you don’t risk getting your fingers burnt with the soldering iron or having your kitchen fill with cold beer (maybe that wouldn’t be such an issue to some, but still). However, if you’re a do-it-yourself kind of guy and want to make your own cold beer apparatus, then you can try this one. Salute!

Beverage Temperature Regulator: [Link][via]

I recently ordered some samples from TI, which included the TMP275 digital sensor. The sensor has some nice features which I quote from it’s datasheet:

The TMP275 is a 0.5°C accurate, Two-Wire, serial output temperature sensor available in an MSOP-8 or an SO-8 package. The TMP275 is capable of reading temperatures with a resolution of 0.0625°C. The TMP275 is SMBus-compatible and allows up to eight devices on one bus. It is ideal for extended temperature measurement in a variety of communication, computer, consumer, environmental, industrial, and instrumentation applications. The TMP275 is specified for operation over a temperature range of −40°C to +125°C.

The easiest way to get the temperature out of the TMP275 seemed to be I2C. So I started by designing a board which has all the components needed: the sensor, an atmega8 brain, and some other components needed for the display and for powering the board. The display is a 4 digit 7 segment display from kingbright product code CA56-12GWA. As for the display part of the board, I used PNP transistors on the common anodes and resistors on the segments to limit the current draw on the atmega’s pins. The transistors are not current limited so the display will alaways light-up the same no matter how many segments are turned on.

TMP275 digital thermometer board

For the supply part of the board, I choose to make it portable and power it from a 9V battery, so I needed to use a voltage regulator. The choice was the good old 7805 because it’s cheap and easy to find.

I2C is a pretty common protocol so various libraries can be found on the web. I chose Peter Fleury’s I2C library because it was very well documented. The only external components needed by the TMP275 are a bypass capacitor between VCC and GND and two pull-up resistors required on SDA and SCL lines.

All the I2C stuff is handled by the library, so I only had to write a couple of lines of code to get the temperature out of the sensor:

 i2c_start_wait(sensor+I2C_WRITE);	// set device address and write mode
 i2c_write(0x0);			// write pointer register 00000000 to select temp register
 i2c_rep_start(sensor+I2C_READ);	//set device address and read mode
 temp_high=i2c_readAck();		// Read high byte of temperature
 temp_low=i2c_readNak();		// Read low byte of temperature

After reading the temperature from the sensor I had to display it on the 4 digit display. For that I had to write a display macro, which figures out the numbers and how to display them, basically I used software multiplexing. I even tested it on negative temperatures by placing the sensor in my fridge :). The readout was correct because I checked with another thermometer.

These new type of digital sensors are great, because you don’t have to worry about analog to digital conversion, all the  ADC is done inside the sensor. I mainly started working with this sensor because I want to incorporate a temperature reading function into a future project. Now that this part is done, is time to move onto the next one, ultrasonic range finder, which I’m guessing wont be as easy as the temperature reading.

I tried to comment every line of my code, but if you feel you don’t understand something, just post a comment and I’ll reply.

May 30th, 2009

Digital Thermometer

Digital Thermometer

Here is a very good looking thermometer project showing the reading as a discrete value and as a bar-graph on a LCD. The idea is simple, we have a sensor, the LM35, who outputs a voltage depending on the ambient temperature, LM35’s rating is 10mV/ degree Celsius. Since the sensor’s output is analog we need to convert it to digital in order to display the value on LCD. The ATmega8 microcontroller will handle the A/D conversion, with a 4.8mV resolution it is within the accuracy range of the sensor.

Once the LM35’s output has been converted to digital, the microcontroller will make the calculations necessary to determine the temperature and display that value. The LCD is a 204 type so the bar-graph will show 20 levels. ATmega8’s port C0  reads the analog data from the sensor and port D controls the LCD. The code was written in BASCOM AVR which has some built-in functions to handle the A/D converter of the microcontroller. For Fahrenheit measurement use LM34 sensor.

All in all it is easy to build, as a school project perhaps,  with possibility for upgrade, for example to be able to change the bar-graph’s scale.


Digital Thermometer: [Link]

May 27th, 2009

Weather Indicator

Weather Indicator

Not all of us understand weather mechanisms, how storms develop or what a low pressure front means so having a weather station that measures these parameters and display them as numbers might not be that helpful. However a team from Cornell University designed and built a station that displays a graphic representation of the current weather condition. If its stormy outside you will see a cloud with some raindrops and a lightning, all this on a 88 RGB LED matrix.

There are two main modules making this station. The outdoor module who makes all the measurements and then sends the data wirelessly to the indoor module which will display the icon corresponding to the data received. The data transmission is done on  433Mhz  by two Linx Technologies modules models RXD-433-KH2 and TXD-433-KH2. These modules also take care of data encoding and decoding using an address code so that only your specified modules will receive the transmission.

The outside station has five sensors to measure weather parameters. A solar cell, which also provides power, measures the light intensity and so it can tell if it’s day or night, cloudy or sunny. A LM34 is used as the temperature sensor and outputs a 10mV with every degree F. Rain sensor is from a Hot Wheels Radar Gun, using a Doppler Radar operating at 10.525GHz is sensitive enough to measure velocity of rain drops. A Diy anemometer was the choice as wind speed measurement tool and a capacitor who changes capacitance based on humidity is used for the last measurement.

ATmega644 is the microcontroller gathering data from all the sensors. This is then transmitted as a 10 bits code, each sensor data having  2 bits in that message. Inside the indoor module we find another ATmega644 who controls the LED matrix. Using PWM to drive the LEDs a very high number of colors is achieved instead of the usual 8 colors.

This project offers a large amount of information and insight into weather monitoring systems. It will require some skills to built it, specially the anemometer, it not as easy as it looks but it’s worth it.

Weather Indicator: [Link][Via]

May 25th, 2009

PIC-based Thermostat

PIC-based Thermostat

Summer is here for those of us in the northern hemisphere and heat becomes a problem again. Fear not for here is a project for you to build your own room temperature controller.

This device uses two sensors to monitor temperature at two locations, inside and outside for example and depending on the measurements, it controls two external devices like cooling fans for example. Relays are used to turn on or off these external devices. You can chose to trigger the relays when the outside temperature becomes too high or when inside temperature becomes too low.

The microcontroller used is a PIC16F873 and controls all functions of the device. Port B drives the 7 segment LEDs, Port C is used for device designation, Port A controls the Relays.

The temperature sensors are LM35DZ. These sensors can measure from 0 degrees to 100 degrees Celsius and outputs 10mV per Celsius degree. However the 0V level is given at 2 degrees Celsius and since the project doesn’t use a symmetric (+/-)  power supply it’s lowest temperature that can be measured will be the 2 degrees Celsius. The sensor’s output after being amplified by LM358 Opamp is sent to PIC’s analog input.

The 7 segment LED display will show the inside temperature, the outside temperature and the preset temperature. The preset value is the threshold that will trigger the external devices. While this project is designed to maintain the room temperature around a certain value, the principle can be used in many projects like in one of those incubators where u can control a fan and a resistive heating element.

In the end i must say this is a very well documented project and everything is explained in great detail. The information is very well structured and besides complete schematic and code everything is very well explained step by step, including the actual building process. Happy soldering.

PIC-based Thermostat: [Link]



© 2007-2011 YourITronics | Any logo, trademark and project represented here are property of their respective owners | Wordpress | Privacy Policy    RSS