Software for Central Heating Control

I'm having a loft conversion done at present, and I'd like to take the opportunity to upgrade my central heating control system, which is currently pretty dumb (3-on 3-off per day controller for hot water and heating, with thermostatic radiator valves). I'm looking for some software that will let me run much more sophisticated control algorithms. Some of the things I'd like to be able to do are: - control three heating zones plus hot water - allow different control temperatures for each zone at different times of day and days of the week - correct for outside temperature, wind speed and direction etc. - don't heat rooms when they are unoccupied - don't heat rooms when the windows are open - heat only as much water as is expected to be required for the time of day (i.e. don't heat a full tank unless people are expected to be bathing or the washing is being done) - use oil, off-peak electricity and full-price electricity in the most cost effective manner - automatically adjust boiler operating temperature for optimum efficiency (i.e. lower the boiler temperature when the heat demand is lower) - learn house warm-up time under various conditions and come on "just in time" to achieve the required temperature - easy to use and flexible manual override facilities via wall-mounted control panels, a web based interface or by phone (e.g. hotter, cooler, on, off, come on for 1 hour etc.) - full logging of temperatures, boiler firing times and valve opening times so that performance can be analysed and improved - interface to temperature sensors, e.g. Dallas One-wire sensors My vision is to run the control software on a small solid state single board computer with the necessary I/O (interface to temperature and other sensors, mains relays for zone valves and pumps, wall mounted control panels, web server for network based contol etc.), with the control program developed on a PC and downloaded to the SBC when the algorithms need to change. What software exists which can help implement this sort of control? What languages are best for implementing the algoithms? Who else is working in this field? What is the best hardware?

Thanks for your help - Rowan

Reply to
rowan
Loading thread data ...

From a recent discussion on our local Linux Users' Group:

formatting link
formatting link

Reply to
John Stumbles

Oh another one!

There is another thread running on this here:

formatting link

Does that mean you will be losing storage tanks etc?

All this can be done with standard off the shelf control kit withotu needing to get too cleaver (unless you want to!)

S Plan+ system with some programmable (optimising) thermostats would do that. Add a external weather compensator etc.

Ignore electric while the oil tank is not empty then ;-)

This may depend on how the temperature is adjusted on your boiler - on many it is a hard wired knob which is not that well suited to automated control.

Small embedded PCs with flash file systems are ideal for this sort of application and can be bought off the shelf. You could in reality do it with just about anything (old micro computer of some description) since you have very low computational requirements.

You can mix in some X10 automation stuff as required for some of the applications, and a smart security system like:

formatting link
will handle the GSM and Telephone interfaces to the home automation kit to give you the non web based remote access.

Whatever you can: a) get a development system for that suits your chosen target and b) that you feel comfortable developing in.

Have a look at some of the many X10 and home automation sites.

Define best?

Reply to
John Rumm

You need to be very careful with projects like this, especially when you have loads of sensors and functions. They introduce very many corner cases and single points of failure. You will need to do a lot of very methodical testing. What happens when a sensor fails? Can you detect it and act appropriately? In the system I am designing (using C, by the way) it is designed to fail passive, reverting to the old control system.

Most SBC solutions use cooperative multitasking. This requires careful coding in order not to break it.

Also, plan what to do if you decide to move house. A homebrew heating control system is not likely to add to the value of the house. In my case I shall be able to revert to a normal if somewhat outdated control system at the drop of a hat.

Dallas 1-wire sensors are OK, but bear in mind that for any significant distance you'll need twisted pair cabling. Also think carefully about the interface to them. If interfacing directly to an SBC the timing is critical, and you'll need interrupts turned off for much longer than is desirable on a multitasking SBC. Use the 18S20's via an I2C interface chip instead.

I'd advise looking carefully at risks versus benefits wrt the complexity of your project. Does taking wind speed and direction into account (for example) result in measurable benefit and what is the risk in terms of software complexity?

If you want to go ahead, get yourself an evaluation kit and start playing and learning. This will help you understand the magnitude of the task ahead.

HTH, Steve S

Reply to
Steve S

The majority of the OP's desired functions are available on commercial heating control systems already. However theyre not cheap.

For the computer side of things, I would steer well clear of PCs, as you need a system that will stay running for years at a time, and PCs simply dont have the necessary hardware or software reliability. My first choice would likely be a BBC B. If youre not familiar with them, theyre 1982 32k 4MHz command line machines with inbuilt OS and BASIC, and are stable as a rock. They also have lots of A./D I/O onboard, and are easy to program, so are popular for scientific monitoring and control projects. Despite being hopelessly out of date technically, they still retain a niche market for these sort of apps. E-bay. Burn your software to EPROM, and the EPROM plugs into the machine. Add sideways RAM if you want more RAM, or get a BBC Master instead (128k).

And, as has been said, the system must fail to functional. If it doesnt, youre buying yourself a whole lotta trouble downline, and trouble costs money.

NT

Reply to
meow2222

wrote:My

I'd avoid onboard A/D like the plague. The distances involved are much too great to use analogue signals reliably.

Steve S

Reply to
Steve S

I don't think that is true. Embedded PC hardware is designed for high availability applications and should run flawlessly for long periods. Remember also there is no reason you need to stick anything Microsoft on top of it - you can even program for the bare platform if you really want.

So software reliability is down to you.

There are also plenty of real time and/or embedded OSs available that can be used (anything from Linux, to VxWorks, Psos, OS/9 etc). To be fair to MS, even embedded Win2k or WinXP is actually pretty solid in most applications - remember most of the clunky UI related crud is missing and you are back to the well designed (i.e. Dave Cutler and co) kernel at the heart of it.

OS choice will depend on the sophistication of the application and the need to support more complex items like TCP/IP stacks and industry standard file systems.

Lots of them are failing now - just due to age alas. Many with PSU faults attributable to failing capacitors. I am not sure I would want to spec a modern design with a system that is no longer supported or available.

The IO they had was good at the time - but perhaps less use than might be expected in a modern context. Lack of TCP/IP, X10, Bluetooth, USB, WiFi stacks and interface logic may prove a bigger hurdle.

Reply to
John Rumm

I would have to disagree, having routed analogue round houses and commercial premises with unshielded untwisted cable, and had nice consistently clean signals. There are various ways, but the simplest for these slow moving signals would be to put a cap across the line at the computer end.

NT

Reply to
meow2222

Maybe you're right. But OP needs to bear in mind the system needs to run reliably for at least 30 years, and servers are not designed to that high a reliability level. You'd need to source that PC very carefully. Or perhaps have a backup available with no need for extra setup work.

I took it as evident MS products would not feature in this one. Linux is AFAIK not nearly stable enough to run for 30 years without maintenance, or even 3. Perhaps there are PC OSes that are, and I just dont know of them.

Todays PCs will be no longer supported or available when they go wrong, so I'm not sure how much difference there. The 2 plusses with BBCs is

  1. they have an ongoing niche market, making replacement easy and minimal cost.
  2. They need almost no setup: just plug the EPROM in and switch on.

I guess so, had forgotten about the web interface requirement.

NT

Reply to
meow2222

Um, they do, providing you aren't running anything Microsoft-based. I run my system on an old 120MHz Pentium (which is still _way_ over powered for the task) using Solaris x86, and it has never gone down except when there's a power cut, which is roughly once every 400 days so far.

Or fail-safe and alert you, which is what mine would do (hasn't ever done so yet, except when deliberately engineered to do so to test it works correctly). I also watchdog the system from the burglar alarm, which will alert me if it fails, and can remotely reboot it if required (again, never required as yet).

Reply to
Andrew Gabriel

Servers are a different kettle of fish though - they have moving parts for starters.

Well DOS probably would if you wanted ;-)

Plenty of Linux platforms about with uptimes of that and more. Remember there is no need for maintenance / security patches etc on most embedded systems.

Also many platforms of this type include hardware watchdog capabilities to recover from system and software failures.

Carefully written you ought to be able to get a fair amount of portability at the code level. So even if the exact platform can not be created that ought not matter.

Oddly enough, a valid replacement would be an emulated BBC if needs be. Even moderate speed embedded processors will be able to run a beeb emulation such that code could run faster than on the real hardware if required.

No different for an embedded platform with flash file system, and less hassle than programming a 27C256 (if you can still get them).

Reply to
John Rumm

In message , snipped-for-privacy@care2.com writes

Yeah, you only have to look here for a good example

formatting link

Reply to
raden

The point of 'fail to functional' is that the computer isnt relied on at all, and if it dies you dont have a problem to solve. I would not want to rely for the coming 30 years or more on the right person being there at the right time, remembering the right things and having the right kit. Imho its important that the system continue working, presumably with a more basic control system. If not set up this way, youre just building in a problem.

A way to achieve this is to use a simple hardware control system and use the secondary PC system to tweak the first control system. If the PC dies, no further tweaks, it keeps running, with more basic control.

NT

Reply to
meow2222

In message , Andrew Gabriel writes

You're going to have to go out and buy a 2nd hand Prius

Reply to
raden

If you're just looking for something that will go down, you don't need to go to that trouble....

Reply to
Andy Hall

Good question. For example, it would (IMO) be inappropriate in most cases to substitute a computer-operated low-water-shutoff when extremely reliable electromechanical ones have long been available inexpensively and are installed and understood by HVAC professionals.

So consider accomplishing as much as you can with conventional equipment and use uP/plc/pc-control only where you have to. So, for example, use conventional, commercially available communicating thermostats (Aprilaire, RCS, etc) and have the setpoints varied under software control.

The arena in which software decision making may be most appropriate is in realtime fuel-switching decisions. For example, in some places in US, the cost of electricity depends on time of day, time of year and total usage. Last month, the doubling of the price of natural gas over the last year in my area (Central US) has led to resistance electrical heating being less expensive than the most efficient possible heating with natural gas. It has been less expensive than heating oil and propane for some time. Use of heat pumps (instead of resistance) cuts the energy cost roughly in half again and geothermal in quarter under some circumstances. Each has different advantage and ranges of applicability, as well as and installation and maintenance costs.

The software I use (CyberHouse by Savoy, now not available to consumer) has an energy use module that can download energy cost from the web in real time, monitor power consumption on nine circuits and control Cutler Hammer circuit breakers. Savoy's efforts in this area were funded in part by US Government grant, and the original installations were in Texas in about

1999.

(This question was crossposted to multiple groups, which may result in some confusion.)

... Marc Marc_F_Hult

formatting link

Reply to
Marc F Hult

Marc, Do you also have an automation panel or is your system all PC software driven?

Gary

Reply to
ChainSmoker

Neither, although I recently purchased an Elk M1G automation panel which is not yet installed.

Since 1999, the system has consisted in autonomous devices that communicate with and through pc-based software.

Subsystems (Security = Napco 9600; Thermostats = Enerzone/Statnet/Aprilaire; IR = Nirvis Slinke; Lighting = X10 + DIY; Analog and digital I/O with controller = Elk MM443S Magic Modules; others) all work whether or not the PC is running.

So it is not "PC software driven" but, rather, 'PC software coordinated' in what I describe as a 'federated system' and is also described as "PC-centric".

formatting link
and
formatting link
are examples of such systems.
formatting link
has also matured from its original X10tricity to encompass many devices. ( X10sic systems in general are hometoys and aren't dependable in my opinion and experience.)

IMO, a system that depends on a one-off program written and maintained by one mortal individual is fragile indeed -- no matter how well executed.

A 'federated system' is intrinsically more robust than a pc-based in important respects and is usually more practical to maintain. The HVAC repair folks have a thermostat that they understand and can service, the alarm monitoring company interfaces with a security panel it is used to -- and so on.

... Marc Marc_F_Hult

formatting link

Reply to
Marc F Hult

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.