Thursday, May 31, 2018

Monitoring Water Heater Power

Well, I can now monitor my hot water heater power usage. The step-down transformer I got <link> worked just fine and I managed to put together all the pieces and now have it out there running just fine. I mounted the transformer on the lower right of the picture below. I used exactly the same technique that was used in the power converter it came out of, high adhesion two sided tape.

What I did was to spread some silicon grease on the bottom of the transformer then put the tape on one side. I pressed the grease down on the enclosure and slid the transformer back until the tape adhered to the back of the enclosure. This way I used the entire steel enclosure as a heat sink for the transformer. I used the same idea for the three phase solid state relay (SSR) that actually controls the power to the water heater.

In case some of you haven't worked with power transformers, they get hot. It seems like no matter how high the rating, they generate more heat than expected, and can cause problems over time. That's why I was careful about giving the heat generated somewhere to go.

Just to the left of the transformer is an Arduino with an XBee shield on top, and just left of that is a AC to 5VDC switching power supply.

This little power supply is really nice:
I got it from a while back because I knew I would need a small power supply in the future and wanted to try one out. Unfortunately, they retired this model and I only have one left. I guess I'll have to hunt down another one sometime in the future.

I took the easy way out in mounting both the Arduino and the power supply, hot glue. It just wasn't worth the effort to build something special to hold them in place, so I grabbed a piece of plywood and mounted them to it. Worked fine, and they'll still be easy to get to if I want to change something or fix it in the future.

The enclosure is from Home Depot and I've had it for a while now. It's been the enclosure for the big SSR in the middle of the box for years, I'm just now adding more circuitry to it.

I'm interested in monitoring the power right now, so I haven't moved the code to control the SSR over to this Arduino yet, but that will come in a few days. That control is still part of my garage controller that also controls the garage doors. As a matter of fact I had power applied to the water heater when I took this picture; you can tell because the LED on the SSR is on. The control for that comes through the small wire on the top and connects to the left side of the SSR.

I was a bit worried about how far the little XBee would reach since it would be inside a grounded metal box once I put the lid on, but it worked well enough that it got to another XBee and the network took care of the store forward part I needed to get away with this.

It looks pretty good up there on the wall above the water heater:

Now I can glance up at the display and tell immediately if the solar pump is working, the mains power is being used or nothing is going on. To measure the power used by the solar pump and temperature controller I used the transformer mentioned above to reduce the power from 240 to 120 and put a plug on the front of the enclosure.

Notice that the solar pump is running when I took the picture. It uses about 80 watts to circulate the fluid from the collector on the roof through the heat exchanger inside the water heater. It has to run a long time to heat the water up inside, but at 80 watts, I don't even notice the power usage.

Now that I can see all the power data for the water heater, I can pretty much write it off as a large factor in my power bill.

Above is a chart of the last 24 hours of all the power usage by my solar water heater. Notice that there is one peak of main usage around 10AM and some light usage at other times. The large peak is too short in duration to cause a problem with the 'demand' billing and the light usage is around 80 watts from the solar pump.

Here's a chart of just the solar pump running:

The gap just to the left of middle is me installing stuff. Yes, I turned off the breaker; I have a healthy respect for 240VAC directly from the mains panel. All the jagged readings on the lines are the circuitry doing measurements and sending them off through the XBee. I have blinking lights on the Arduino and displays of the PZEM-0400 that are constantly changing. Makes for an interesting display.

Now before the more astute readers out there start picking on me for parasitic power usage, here's a chart of the power usage when nothing is heating at all:

The usage when nothing is heating varies between 3 and 10 watts, that will take a long time to add up to a full kilowatt and even show up on my bill. If you look up above at the first chart, you'll see that this is the condition that the water heater is in most of the time.

Actually, when I looked at parasitic power a few years ago, it just wasn't a problem. I have a baseline of roughly 500 watts that is used all the time. Things like ceiling fans, necessary appliances, phone chargers and such do add up, but what are you going to do about it? You have to keep the food cold and a 10 watt device running just isn't worth bothering with. All the hype about this just doesn't add up.

So, I did all this just to find out that my water heater is doing a really good job of saving me money. To heat the 80 gallons of water in my heater using the rule of thumb number of 0.166 kWh per gallon (60 degree F increase) for 80 gallons is 13kWh of power. I get it for a few hours of 80 watts in full sun. And, sunny days are not something in short supply around here.

I'll use the charts and power control to find a happy medium between using sunshine and mains power for keeping the power bill under control. I'm sure I can fine tune this over time. Plus, for the rare cloudy day, I can always crank on the power during off-peak periods to handle my hot water needs. I have special web code to do that from anywhere <link>.

I'm not quite done with the water heater yet though. I want to put a couple of thermometers up against the tank one at the top and one at the bottom to measure the actual temperature of the water. I also want to move the code that controls the SSR over to the new device so I have all the water heater code in one place.

But this little exercise has opened the doors to another possibility. All of my 240 volt appliances should have monitoring like this. I can get several of the power monitors and install them for the AC compressors, AC air handlers, dryer, and maybe even the microwave. Heck, I could monitor the kitchen oven as well. Hmmm, I could use another SSR and keep the darn clothes dryer from messing with my power bill, that has happened twice now. Someone needs clothes dried and they turn on the dryer during the peak period. I can actually put a stop to that by doing what I've done with the water heater.

How come every project leads to another?


  1. I was going to build an Arduino / XBee differential controller for my water heater and then I decided not to. I am curious about your numbers though, at 80 watts per hour, you're only talking 800 watts if it runs 10 hours a day. My setup goes from roughly 110 in the morning to 160 give or take every day. I put a mechanical timer in to control when the electric element heating can be used and just rely on the thermostat in the water heater (set at 125) to regulate the electric heat. Since the timer comes on for a bit every night around 8, it only uses electricity if the temp is below 125. Doesn't happen often. I use a DS18B20 attached to a Z-Wave device to get the current tank temp into my system. I can see the bottom tank temp and the panel temp on the solar controller... Love this stuff!!!

    1. Michael, what do you wonder about? I went into this thinking the little pump ran at 45 watts, that was wrong. Glad I measured it with a kill-a-watt, I would have probably screwed something up.

      What I'm seeing is that I can go days without the heating element turning on, strictly solar. I had no idea it worked that well.

      And, all the power I'm using is the little pump and the circuitry I added.

  2. Once more, don't give the James A chance to bond innovation trick you. Most shrouded cameras are amazingly simple to utilize.Eric Stevens