I have been thinking for a while that maybe I should put the code for the heating monitor system on google code. And now I have done that: http://code.google.com/p/heating-monitor/
I'm hoping I can use it to keep drawings and building instructions as well.
Showing posts with label Arduino. Show all posts
Showing posts with label Arduino. Show all posts
Sunday, January 20, 2013
Sunday, January 13, 2013
Central heating monitor display unit
Today I upgraded the display unit for my central heating monitoring system.This will give me a good opportunity to show the hardware since I had to dismantle the unit.
The idea is that it should give visible and audible alerts when there is some event that should be attended to. The ones I have identified are:
My initial plan was to use a piezo speaker and let the AVR output the frequency of the sound. By doing that I can even play a small tune depending on what kind of event that triggered the alert. But in the end ran out of timers in the AVR so it could not output any frequency. Instead I purchased an active piezo speaker which outputs 4khz. This I connected to a data pin on the AVR to be able to turn the sound on and off. This is not optimal but better than no sound at all. I started off by connecting the speaker to an arduino to see that it worked. With the Blink sketch i verified that the speaker turned on and off with 1 seconds interval.
Then I dismantled the display unit to get ready to solder the speaker to the stripboard that the unit is built on. As usual when I started the project I began with the stripboard. Then when it is time to find a casing it is a real pain to get one that the board fits in. But I was in luck and found one that both managed to fit the board and that had the fittings for the screws in just the right places. With some spacers I also manged to get the display and buttons to end up flush with the case front. This is how it looks inside:
Here you can see the component side of the board with the speaker soldered in place:
I then updated the coded to be able to turn of sound if needed. Maybe the sound will be a nag or there is some error that makes it beep all the time. The system measures the temperature that the furnace loads the tank. When the furnace is in full action the loading temperature is at about 87 degrees Celsius. When the logs in the furnace is running out the temperature drops, and around 76 degrees it is completely out. So I set the audible alarm to go off when the temperature has been more than 80 and then goes down to 78. That will tell me that it is a good time to fill up with more wood. The time from loading until filling up is around 3.5 hours.
Here are some examples of the different screens I show on the display:
The first picture shows the main screen with a number of temperatures and how much heat is stored in the tank. The second shows the temperatures as a list instead including the sensors mounted on the tank. The third shows a history diagram which can be set for four different values with different sample times. Currently it doesn't show anything because it has been turned off before taking the picture which clears the history. In the future I'm planning to implement storage on a dedicated logger unit which will contain an SD-card. 4th to 6th image shows the menu, the preference setup and the device setup screen.
Here are the schematics and stripboard layout for the display unit:
The idea is that it should give visible and audible alerts when there is some event that should be attended to. The ones I have identified are:
- When there is not enough hot water in the tanks to heat up the house
- When the current set of logs in the furnace have burned out and there is space for more heat in the tanks.
My initial plan was to use a piezo speaker and let the AVR output the frequency of the sound. By doing that I can even play a small tune depending on what kind of event that triggered the alert. But in the end ran out of timers in the AVR so it could not output any frequency. Instead I purchased an active piezo speaker which outputs 4khz. This I connected to a data pin on the AVR to be able to turn the sound on and off. This is not optimal but better than no sound at all. I started off by connecting the speaker to an arduino to see that it worked. With the Blink sketch i verified that the speaker turned on and off with 1 seconds interval.
Then I dismantled the display unit to get ready to solder the speaker to the stripboard that the unit is built on. As usual when I started the project I began with the stripboard. Then when it is time to find a casing it is a real pain to get one that the board fits in. But I was in luck and found one that both managed to fit the board and that had the fittings for the screws in just the right places. With some spacers I also manged to get the display and buttons to end up flush with the case front. This is how it looks inside:
Here you can see the component side of the board with the speaker soldered in place:
I then updated the coded to be able to turn of sound if needed. Maybe the sound will be a nag or there is some error that makes it beep all the time. The system measures the temperature that the furnace loads the tank. When the furnace is in full action the loading temperature is at about 87 degrees Celsius. When the logs in the furnace is running out the temperature drops, and around 76 degrees it is completely out. So I set the audible alarm to go off when the temperature has been more than 80 and then goes down to 78. That will tell me that it is a good time to fill up with more wood. The time from loading until filling up is around 3.5 hours.
Here are some examples of the different screens I show on the display:
The first picture shows the main screen with a number of temperatures and how much heat is stored in the tank. The second shows the temperatures as a list instead including the sensors mounted on the tank. The third shows a history diagram which can be set for four different values with different sample times. Currently it doesn't show anything because it has been turned off before taking the picture which clears the history. In the future I'm planning to implement storage on a dedicated logger unit which will contain an SD-card. 4th to 6th image shows the menu, the preference setup and the device setup screen.
Here are the schematics and stripboard layout for the display unit:
Monday, January 7, 2013
A hot water storage tank and central heating temperature monitoring system
This is a short description of the central heating temperature monitoring system that I have installed in my house. It's an ongoing project which only seems to grow as time goes. :-)
The system keeps track of indoor/outdoor temperature, radiator inlet/outlet temperature, wood furnace heat transfiguring and effect and the hot water storage tank temperature. The hot water tank is actually measured at 7 positions evenly distributed along the tank from inlet pipe to outlet pipe. By doing this I can actually see the level of hot water in the tank and predict when the tank will be empty.
The measuring is done via a 1-wire network with 14 connected DS18S20 temperature sensors. The network is then connected to an Arduino based display unit. The display unit gives current status and is able to log and display up to 4 of the sensors with 128 samples each. This is because of the limited RAM in the ATmega328p.
The expansion plan now is to create a logger on the 1-wire network which logs all the data on the display with some interval. The logger will have wifi connection and an SD card so that I will be able to check up on the current status from my iPhone and even from the Internet when I am not at home. The logger will also be Arduino based. I guess that maybe I should have gone with a Raspberry Pi instead but I had already gotten some parts for the project when the Pi was available. And also it will be more of a challenge to fit everything into the ATmega328 :-)
The system keeps track of indoor/outdoor temperature, radiator inlet/outlet temperature, wood furnace heat transfiguring and effect and the hot water storage tank temperature. The hot water tank is actually measured at 7 positions evenly distributed along the tank from inlet pipe to outlet pipe. By doing this I can actually see the level of hot water in the tank and predict when the tank will be empty.
The measuring is done via a 1-wire network with 14 connected DS18S20 temperature sensors. The network is then connected to an Arduino based display unit. The display unit gives current status and is able to log and display up to 4 of the sensors with 128 samples each. This is because of the limited RAM in the ATmega328p.
The expansion plan now is to create a logger on the 1-wire network which logs all the data on the display with some interval. The logger will have wifi connection and an SD card so that I will be able to check up on the current status from my iPhone and even from the Internet when I am not at home. The logger will also be Arduino based. I guess that maybe I should have gone with a Raspberry Pi instead but I had already gotten some parts for the project when the Pi was available. And also it will be more of a challenge to fit everything into the ATmega328 :-)
Subscribe to:
Posts (Atom)