Water Heater control

We call them geysers… but then a geyser is “a hot spring in which water intermittently boils, sending a tall column of water and steam into the air”, so Water Heater is the preferred name?
Recently the thermostat on my water heater broke, or rather it stopped doing thermostat thingies.
What amazed me is the design of the thermostat, 2 pieces of metal with different properties that opens and closes as the water heats up and cools down, This design must have been around for ages…. I suppose do not reinvent the wheel?

For those that does not know what a thermostat is, see Thermostat
For those that does not know what a element is, see Element

Problem with the design though, switching AC current through mechanical contacts, causes the contacts to burn and pit. I do not believe that this design provides very accurate temperature readings?



In my case, I had to climb into the roof 3 or 4 times, the 1st thermostat I bought was faulty, then when I finally got a working one, setting the temperature proved to be quite a nightmare, get in the roof, set the temperature, get out of the roof, wait a day or two, check the temperature, hmm to hot or cold, get back in the roof….. etc, etc, etc….

But…. Can I do better??

What about a thermostat that can talk to the Inter-Web? Lets use a Solid state relay SSR to switch the element on and off. What if you can see some nice graphs and set the temperature using your Android phone?

So off the the drawing board I say….

So the circuit as it stands at the moment

  • ESP8266 – 01
  • Arduino Pro micro
  • Waterproof DS18B20 Digital temperature sensor
  • SD card, to log the temperature and current readings and also when the element is switched ON or OFF
  • CT (current transformer) clamp to read the current used by the element
  • SSR-40 DA Solid state relay 40 Amps to switch the element on and off
  • 500mAh LiPo battery to maintain connection, logging in the event of a power outage
  • Battery charger for the LiPo
  • 220V AC to DC circuit, to power Arduino and ESP8266
  • GSM SIM module to set SMS in the event of a power outage (I think this I will add as an optional module)

So I see the following happening :-

  • Connect the new thermostat to the element
  • Press a reset button – ESP8266 goes into AP mode
  • Login to the AP to set the ssid and password
  • ESP8266 get an IP address and redirect the smart phone or computer to this IP address
  • Arduino start logging temperature, Current and element state
  • Arduino maintains the temperature that was set (Target temperature) by switching element ON or OFF using the SSR
  • In the event of a power outage, send SMS, if SMS module is equipped

No comments:

Post a Comment

Note: only a member of this blog may post a comment.