Login

Hot Water Manager A feature rich smart hot water management system

This Hot Water Manager can do everything you want it to do! Automatically use the excess energy of your solar panels to heat the water after the batteries are fully charged, anti-freeze control, legionella prevention, low temperature heating for showering for just 1/3 of the energy, controlling an optional "warm water solar panel" that can consist of nothing more than just a hose on deck with a small pump, setting a time limit on the availability of hot water, and more.

This is an open source project that you can either build yourself, or buy completely assembled.

image

Most water heaters on boats are not designed to be used with solar panels. Typical problem is that you want to use the solar panel power only to heat the water when the batteries are already fully charged, so you have to check the battery voltage and remember to switch the water heater on, and when the sun goes down, you need to remember to switch the water heater off again. Of course this is not practical and the first version of the Water Heater Manager was designed a few years ago. In the past few years the design has been further improved and has now been taken into production.

Features

Let's start with the features:

  • By monitoring the battery voltage, it uses the excess energy of the solar panels, once the batteries are fully charged, to heat the water
  • It will instantly switch off the heating element when a heavy consumer switches on (anchor winch etc).
  • Energy saving of 66% by heating up to 40°C instead of 60°C.
  • Fast warmup mode to just "shower temperature" so you can take a shower for just 1/3th of the energy.
  • Legionella prevention, by periodically heating the water to a bacteria killing temperature, and warning when it has been too long ago that this temperature could be reached.
  • Thermostatic control when connected to shore power
  • Can optionally control a pump based on a differential temperature, so you can build your own "solar panel" consisting of nothing more than just a hose on deck and a small electric pump, or by using a heat exchanger
  • During winter storage, the hot water heater tank can be protected against freezing
  • Automatic energy saving when it detects that the engine is running and coolant can be used to heat up the water.
  • Reliable and precise voltage and temperature measurements, with a watchdog against processor/software malfunctions
  • LCD (software dimmable) display with hot water temperature, trend, voltage, timer and heater status
  • Fully configurable by on screen menus and touch button
  • Configurable for degrees Celsius and degrees Fahrenheit
  • Works on both 12V and 24V systems, and can control 110V and 220V hot water heaters
  • Uses extremely little energy (less than 2mA after LCD backlight timeout)
  • Open Source. Everybody can verify this design and/or contribute to it

I decided to make this an "open source" project. You can read on my Project Backgrounds page why I made this choice and how it benefits you.

Description

Let's talk a bit more about these features and how they work. The voltages mentioned apply to 12V systems, double it for 24V systems.

For all the features and programs these basic rules apply:

  • The heating element of the water heater will always be switched off when the voltage drops below a certain value (default 12.5V but configurable) or the boiler temperature exceeds 80°C (also configurable).
  • If the engine's ignition wire is live, or there is another alternative source of hot water, the electrical heater will not engage but it will use the "free" hot coolant from the engine to heat up the water.
  • If you have a warm water panel (or hose on deck), it will run the pump when the temperature in the solar panel is higher than in the hot water tank, to harvest this free energy instead of using the electric heater.

Automatic mode

Automatic mode is best explained by describing what happens on a normal day.

During the night the voltage has dropped below 12.5V. When the voltage drops below this value, the algorithm understands that the batteries need to be recharged and should have priority. It waits until the voltage hits 14.1 Volt (all voltages are configurable), and then starts counting down a (configurable) amount of time to give the batteries a chance to recharge. Once the timer has expired and the voltage is still at least 14.1V, the water heating element will be switched on. If the solar panel power is not big enough to sustain this load, the voltage will slowly start to drop. As long as the voltage doesn't drop any further than 13.5V it will continue heating. If it drops below 13.5V, the heater will be switched off. Without the load of the heater the voltage will rise again, and once it again hits 14.1V, it starts counting down again, but this time the time is much shorter and depending on water temperature. Below 40°C it will wait for only 1 minute before switching on the heater again. Above 40°C it will wait for 5 minutes, except when the algorithm thinks it is time for a legionella killing cycle, then it will only wait for 2 minutes. Once the water has reached the legionella killing temperature of 60°C, the wait time will increase to 10 minutes, until the maximum temperature of 80°C is reached. (If there is still solar power, why not use it to boost the water temperature up to 80°C so that the next day you will still have warm water even if there is no solar opportunity?) The switching cycle is repeated over and over again, and at the end of the day you will have full batteries and (depending on the amount of excess solar energy) warm to very hot water in the hot water tank.

Hot water valve timer

You can optionally install a solenoid (electrically controlled valve) on the hot water tank outlet, so that the hot water outflow can be controlled by the Hot Water Manager. By tapping once on the touch button the hot water valve will open for a configurable time, and close again after that. The idea is that you probably only use hot water for taking showers, and by shutting off the hot water output for the rest of the day you reduce the potential leak paths by 50%. It can also be used to prevent guests or children to accidentially use hot water when they are not supposed to.

Legionella prevention

Legionella is caused by bacteria that can develop in water which is kept for a prolonged time at a temperature between 25°C and 55°C, and once inhaled into the lungs these bacteria can cause severe pneumonia. Let's however not get too paranoid about Legionella: I have never heard about any sailor in the tropics who got this disease, despite having the water tanks all the time at a very bacteria comforting 30 degrees. Also Legionella is only dangerous after being inhaled, the bacteria will not survive the digestive tract so drinking contaminated water is considered to be safe. Furthermore it is questionable whether there is enough "food" in the water to promote the development of bacteria at all. Anyway, it is well known and proven that a temperature of 60°C will kill Legionella and you don't have to maintain this killing temperature all the time, once in a while is enough to kill off any developing colony.

The Legionella prevention/warning mechanism works like this: A warning is issued on the LCD once the last time the killing temperature was reached has been too long ago, and it will then more aggressively try to reach this temperature. When the temperature is below 25°C, the colony is considered to be "stalled", i.e. not killed but also not developing, so the timer is paused. The Legionella killing cycle can also be manually invoked and will heat up the water to 60°C. Once the killing temperature has been hit, the warning will disappear again and the program will revert to automatic mode.

All parameters (the lower temperature, the killing temperature and interval) are of course configurable.

The periodic heating to the killing temperature is a best effort and intended to prevent bacteria from developing a dangerous colony. If you already have a significant Legionella colony, just heating up to the killing temperature is no longer sufficient: you also have to heat up the hoses by opening all faucets etc. It is your own responsibility to educate yourself on the subject of Legionella and, if needed, set up a prevention and/or curing strategy.

Fast warmup

This manual program will switch on the water heater until 40°C is reached, (only of course if the battery voltage remains above 12.5V), after that it will revert to automatic mode. In the tropics, the water is already 30C to begin with (or more if you had a heating cycle the previous day) and it takes 1/3 of the power to heat the water to 40°C instead of 60°C, and it will not try to maintain this temperature once it has been reached. This option enables you to take a shower without using up too much energy: just press the button, wait for the temperature to reach 40°C and take your shower.

Thermostat

In this mode the hot water manager will not be very "smart" but just maintain a temperature of 40°C with a periodical heating up to 60°C to kill Legionella. This mode is intended to be used when connected to shore power. If you would leave the program on "automatic mode" it would become very greedy due to all the apparent "free" energy and boost the boiler up to the upper limit (80°C) just to be able to surprise you the next day with still hot water when no "free" hot water would be available anymore.

Freeze prevention

It was just easy to program this feature (heating on when the temperature drops below 4°C) but of course keeping the hot water tank and water system filled while it is freezing is just asking for trouble. The freeze prevention can only work while the battery voltage is above 12.5V; if there is no shore power the batteries will probably not last very long to keep the freeze protection running, not even to mention that all the hoses and faucets will remain unprotected anyway.

Installation

There are a few components that need to be installed close to the water heater, but the Hot Water Manager can be installed wherever you want. For connection between the "water heaters components" and the "Hot Water Manager module" you can use a standard network cable. The length of this cable is not critical.

Water heater connections

image

At the boiler end, you will need to "splice" the relay into the heating element feeder cable (just the power cable of the boiler) and you will need to find a place for the temperature sensor. Usually the area around the boiler connections contains a cover, if you open it you will probably find a place where you can push the sensor between the actual metal tank and its insulation.

Hot Water Manager control module

image

12V power supply

The 12V power supply is not critical. The Boiler Optimizer uses little power. Just make sure to connect it via an appropriate fuse, 1 Amp is sufficient. Please leave the Boiler Optimizer on all the time. A lot of features depend on constant tracking of boiler temperature and battery voltage. If you switch off the Boiler Optimizer, the boiler-, legionella- and battery status will be lost.

Ignition wire (optional)

If you want the Boiler Optimizer to automatically switch off the heater when the engine is able to provide hot coolant, you can connect the "ignition" wire to the 12V of the engine ignition. If you have a catamaran, usually only one of the engines is plumbed into the boiler, in that case of course you connect the ignition wire only to that engine. Chances are that the boiler is close to the engine, so you can probably use one of the unused wires in the network cable for the ignition signal. If your boiler setup does not have a coolant loop, leave the ignition wire disconnected.

Building it yourself

To build this project yourself, you need to have some basic experience with building Arduino projects. Sorry but I'm not going to troubleshoot your soldering and programming errors from remote; if you lack the experience just buy an assembled, programmed, tested, sensor paired and calibrated Boiler Optimizer from me.

You can find the schematic diagram and source code on GitHub: https://github.com/TheFloatingLab/BoilerOptimizer.

Ordering

Information and availability coming soon.

(Last edited on )

Comments

Name:
Email:
Characters left:


contact