Go Down

Topic: Home Heat Thermostat - 7day prog., IR control, Graphic LCD (Read 10504 times) previous topic - next topic


Quote
Honestly, I just threw in as much cool stuff as I could think of without really wondering if it was going to work or be functional lol...


You're right though!  I might as well load up with features what harm can it do apart from costing me some £s?!  :P 

If I do decide to also build a wireless thermostat controller that I can take to whichever room I'm sat in, I'm guessing I'd need something like an Arduino Uno, Xbee (or something), LCD screen for temp/function (low power), temp sensor and a couple of buttons.  How long could this thing realistically run on some kind of rechargable battery pack?  Say if it sent temp data every minute and the LCD screen was in low power mode.  Is this thing even feasible?


I don't think it would last very long on batteries... but I don't know for sure. Maybe someone else can chime in.

But I'm questioning why you're placing the thermostat near the furnace anyway, how come you can't place it in your main living area?

supercrab

#16
Oct 06, 2011, 06:37 pm Last Edit: Oct 06, 2011, 06:39 pm by supercrab Reason: 1
Quote
I don't think it would last very long on batteries


That's exactly what I thought.  I didn't think it would be possible for it to run for any longer than 3 days at best.  However, I did some Googling and found this page which has a simple setup of an Atmega 168 connected directly to 3 batteries, running a small program which puts the chip to 'sleep'.  By using just the Atmega means power is not lost on the onboard USB chip and the voltage regulator, as in a normal Arduino!  Looks like a pretty sweet solution and can last for 3 years.  I have no experience with dealing with loose ATmega chips and loading them with programs, etc...

http://interface.khm.de/index.php/lab/experiments/sleep_watchdog_battery/

Quote
But I'm questioning why you're placing the thermostat near the furnace anyway, how come you can't place it in your main living area?


I could put everything in one box in the living area (like you have) but the problem is that my boiler is in the kitchen, a couple of rooms away.  In order to control my boiler I'd have to put wires in the walls (=trouble) or use a wireless link (yay!).  If I'm using a wireless link I thought I might as well also make the thermostat enclosure itself portable so that it isn't limited to one room.  It could be in the bedroom at night and then go to the living room in the day.   Hope that makes sense.  It might just be a bad idea!   
My Arduino 7 segment LCD/LED library

http://code.google.com/p/arduino-seven-segment/

maidbloke

This is a great project and very nicely documented too - thanks for sharing, it's given me some ideas.

Well that part about over-shooting the temp that I thought I didn't need, I did.

Now that it's getting colder and I'm using both heat sources I need to account for sharp temp rises and room equalization. I solved the problem with a linear relationship, for .5degrees C rise over 5min I compensate by pre-empting the off timer by 90 seconds.

This runs @ every cycle (TIMER_SLOPE) and adjusts the off timer.

Code: [Select]

float fHighTempDiff = iSetTemp + BUFFER_UBOUND - fCurrentTemp;

if (fHighTempDiff > 0 && fTempSlope > 0.05 && bHeatCycle == true) {
    //Adjust the off time to prevent over-shoot
    adjustOffTime(fHighTempDiff);
}

void adjustOffTime(float fTempDiff){

  bAdjustedOff = true;
  lOffTimer = millis() + ((fTempDiff/fTempSlope) * TIMER_SLOPE);
  lOffTimer = lOffTimer - (fTempSlope/0.5*90*1000); //Allow for room equilization, 90 seconds for .5 degree/5 min rise.
  if (bElec) lOffTimer = lOffTimer - 45000;  //Baseboard heat has an internal relay delay of 30-45 seconds.

}


Full code updated @ http://mcmicken.ca/arduino/Thermostat_V1.html

supercrab

#19
Nov 03, 2011, 09:06 pm Last Edit: Nov 03, 2011, 10:19 pm by supercrab Reason: 1
Thanks for the update. :)

I've spent way too long on writing a simple LCD driver for my wireless thermostat...  :smiley-sad-blue:  It looks like you completed yours in a few weeks?
My Arduino 7 segment LCD/LED library

http://code.google.com/p/arduino-seven-segment/

I did it pretty quick yea... Several weeks elapsed from the start but I was mostly just waiting on parts or being lazy! haha

The enclosure and soldering connectors etc was the most time consuming. Software was only a few nights of work thanks to the libraries I used :)

How's yours looking so far, are you documenting the progress?


supercrab

I've had some building work done on my house and my office was dismantled so had to put the project on hold for a while.  I'm back on it but still bashing away at this all singing all dancing driver for 7 segment LCD/LEDs displays.  The display will go on the battery powered hand held device that tells you the temperature and has a remote on/off switch for the boiler (I think it will).   I shall document progress when I start making some!  :smiley-sweat:
My Arduino 7 segment LCD/LED library

http://code.google.com/p/arduino-seven-segment/

For anyone interested, I'm happy to report the thermostat has been running strong for a few months without a single hardware hiccup.

I've updated it a few times though to tweak features etc.. New code is posted to my site. The most recent revision is documented here: http://mcmicken.ca/2011/12/another-update-to-the-arduino-thermostat/.

Cheers,

supercrab

What temperature sensor did you use?  I have been using an LM35 and reading a value every second for a basic prototype.  I'm using 3.3v and setting the aref to get the value more acccurate.  It seems to fluctuate +/- 1 degree which is a bit annoying because I would rather avoid taking averages! Is your digital sensor more stable?
My Arduino 7 segment LCD/LED library

http://code.google.com/p/arduino-seven-segment/

I used the Dallas DS18B20. It's very stable, temps increment nice and slow with no bouncing down to 0.07 degree C.

It does however pick up a little heat through the wire and case... I had to adjust the temp readout in the software by a few degrees. It still rises and falls correctly with room changes though so I'm happy.

supercrab

Thanks for that!  It looks like I'm gonna have to get rid of my LM35s then as they don't cut the mustard!   Ebay here and a Dallas DS18B20 here I come!
My Arduino 7 segment LCD/LED library

http://code.google.com/p/arduino-seven-segment/

maidbloke

@supercrab if you can wait a few days, try ebay seller dailydealuk in China, bought 10 and they arrived the other day, work fine and a good price.

@gmcmicken thanks for posting and updating this project, your finished item looks great!

supercrab

@maidbloke Cheers!  Unfortunately, I had already ordered 5*Dallas DS18B20 for £10 off eBay by the time I read your reply.  They have arrived from a UK seller (with some 4.7K resistors) and I look forward to plugging them in tomorrow!  Not sure what I'll do with those LM32s :(
My Arduino 7 segment LCD/LED library

http://code.google.com/p/arduino-seven-segment/

Go Up