|
KenB
|
 |
« on: November 14, 2010, 07:51:58 PM » |
|
As an update to the status of my Navitrino heating controller.
A flurry of hardware bodging and C coding activity this weekend has now got the 4 channel relay board fully operational.
The relay board will be housed in a plastic cased "wiring centre" - either Honeywell or Danfoss - available for about £10 and located in the airing cupboard next to the existing controller where it is close to the pumps, valves and tankstats.
The HW and CH relays will be wired in parallel with the existing controller. This allow the existing controller to continue to be used whilst development progresses - so that hot water boost can be used.
The relay board just needs a 3 wire serial link back to the main controller so that it can receive the various relay-on commands. Ultimately this link could be wireless and would appear to be an ideal use for a pair of JeeNodes - a good way of getting to learn about the JeeNode project.
The main controller will remain in my work room until development has finished, but a display slave can be situated in the living room, so that anyone can access the "normal" thermostat controls from downstairs and without a degree in computing science/electronic engineering.
The aim is to progress to the point where the heating controller can standalone without the laptop running. There's nothing more frustrating to find that Windows automatic updates has shut down your application at 3:18am, whilst you were in the middle of a long datalogging run. This embarrassment will shortly be fixed with the Navitrino logging directly to SDcard, with no more need for a permanent connection to the laptop.
The code is progressing well, I can now handle heating decisions made on time of day and day of week. For example, at weekends the controller automatically sets the room temperature a little higher during the day, and doesn't start heating till 7:30am, rather than 5am on a workday. Virtually any set of rules and exceptions can be programmed in - it's just a case of deciding which ones are actually useful.
Testing has now ceased for the evening - as a result of an uncontrolled heatsource being ignited in the living room.
Ken
|
|
|
|
|
Logged
|
|
|
|
|
StBarnabas
|
 |
« Reply #1 on: November 14, 2010, 08:23:08 PM » |
|
Ken you are a braver man than me. Still at the instrumentation stage. To use an Arduino for control could potentially cause serious rows with MrsB!
|
|
|
|
|
Logged
|
 Gestis Censere. 40x47mm DHW with TDC3. 3kW ASHP, 9kW GSHP, 3kW Navitron PV with Platinum 3100S GTI, 6.5kW WBS, 5 chickens. FMY 2009.
|
|
|
|
KenB
|
 |
« Reply #2 on: November 14, 2010, 09:20:15 PM » |
|
Sean,
You have to take the plunge at some point. I'm not sure that my wife Elaine really knows what controls the heating. I don't suppose that she's yet noticed that the thermostat is sitting on the shelf with its batteries out.
We have a perfectly serviceable woodstove, and if the livingroom temperature gets below her comfort threshold, she will light it. It's only when there's no logs in the house or we have run short of kindling that I find myself in demand.
There's probably job vacancies for at least six Navitrinos at St.B. ;-)
Ken
|
|
|
|
« Last Edit: November 15, 2010, 08:22:19 AM by KenB »
|
Logged
|
|
|
|
|
KenB
|
 |
« Reply #3 on: November 15, 2010, 08:50:05 AM » |
|
With last night's sub zero temperatures, Navitrino got a good testing.
During the night-time cool down period, I normally let the room temperature descend to 17C (+/- o.2C hysteresis) before the boiler kicks in. This is intended so that when I start at 05:30am on a workday morning, the house has not got too chilly.
However, even I'm not at my best padding around a cold house on a cold frosty morning, so I decided to add a rule to the control code, such that if the outside temperature is less that 3C at 4am, then the heating comes on for an hour to take the chill off the rooms.
The plot below shows the living room temperature from 18:45 last night until 6:30am this morning. The cold morning boost hump can clearly be seen, but also noticeable is the rate at which the temperature falls once the heating is turned off.
I will probably tinker with this code so that the early morning boost stays on longer, so that the temperature peak is at 6am and not 5am, that way coinciding with when I am in the shower.
Now that the relay board is working, I can take control of the hot water scheduling. It would be a good idea to use the early morning boiler-on period to boost the hot water temperature.
The second plot is of the hot water tank cooling overnight. This temperature is actually of the exit pipe from the tank which runs approximately 3C cooler than the water in the tank. The blips in the curve are draw off from the hot tap. Note how the tank has lost about 12 degrees of temperature in 12 hours. This is surprising for a part L compliant tank.
Ken
|
|
|
|
Logged
|
|
|
|
|
Greenbeast
|
 |
« Reply #4 on: November 15, 2010, 08:56:46 AM » |
|
I need to get datalogging!
My cylinder easily loses that kind of heat (even with 100mm insulation) but bear in mind we don't have any heating on at the moment, so that ambient temp is colder than your house.
|
|
|
|
|
Logged
|
|
|
|
|
KenB
|
 |
« Reply #5 on: November 20, 2010, 05:00:34 PM » |
|
After struggling with a solitary Arduino for most of this year, plus made up a few DIY 'duinos, I came to the conclusion that it was time to massively upgrade my herd.
Basically the heating controller uses one Arduino full time, leaving me nothing to further develop the application code on. So rather than just buy another Arduino, I took the decision to splash some cash and buy the new, official Arduino Mega 2560.
This is the top of the range and is the latest offering from the Arduino stable - and it is an Italian born throroughbred. It uses the Atmel ATmega2560 processor which is a 100 pin quad flatpack - bristling with I/O.
No more would I be restricted to the 19 I/Os on the standard Arduino - now I would have 3 extra comm-ports, 10 more analogue inputs, 32 additional digital I/O lines plus the I2C port brought out to its own connector.
In terms of memory, the ATmega2560 has 256K of flash, 8K of RAM and 4K of E2. That should be more than enough for the largest of projects.
It arrived first thing this morning and I now have it installed with the new Arduino 00021 IDE and it is running the latest Navitrino central heating application code.
No changes were needed to the code - I just fitted the NuElectronics SD/RTC shield and my veroboard patchboard which connects to my thermistor sensors then uploaded the original sketch and it all worked. - Amazing!
I tried the Nuelectronics Nokia 3310 shield on the Mega 2560 and it didn't appear to run. I think that there needs to be some header file which maps/translates the Arduino pin function names on the Mega, to the corrrect I/O port and pin. I have seen such a table with the DS1302 RTC library, and it's likely that the NuElectronics library needs something set to say that you are using a Mega.
So for the meantime the Mega will run the heating controller, whilst I write some code for the user interface to run on the Nokia 3310 shield on my normal Arduino. A picture of the Navitrino banner screen is attached.
Ok lot's of new toys to play with including some 18B20s. Hopefully I'll be able to modify the LCD shield to make the reset button "Hot Water Boost" and re-purpose the power LED as "Hot Water Heating" when flashing and "Hot Water Ready" when full on.
Ken
|
|
|
|
Logged
|
|
|
|
|
Greenbeast
|
 |
« Reply #6 on: November 20, 2010, 05:26:29 PM » |
|
Nice board! Pricey though
|
|
|
|
|
Logged
|
|
|
|
|
SimonHa
|
 |
« Reply #7 on: November 22, 2010, 02:38:17 PM » |
|
...The second plot is of the hot water tank cooling overnight. This temperature is actually of the exit pipe from the tank which runs approximately 3C cooler than the water in the tank. The blips in the curve are draw off from the hot tap. Note how the tank has lost about 12 degrees of temperature in 12 hours. This is surprising for a part L compliant tank. ... I've been carefully watching my cylinder lose temperature overnight too - re-plumbing the outlets to reduce thermo-siphoning has helped. The fact that your exit pipe is consistently nearly at tank temperature is a bad sign as it shows heat is escaping that way - mine outlet typically drops to about 15-20C (on a 40C tank temp) in a 10C room. It may be worth further lagging the exit pipes though the heat will escape sooner or later (at least during winter it should be contributing slightly to space heating). BTW: I've been following your progress on Navitrino with interest... my control system is waiting for the round tuit to arrive.
|
|
|
|
|
Logged
|
|
|
|
|