Monitoring your home energy use

[Dave's] been elbow-deep in mains voltage while building this home energy monitoring rig. He started with an approach that is different from most we’ve seen before. He wanted a system that could make a linear measurement to keep the accuracy as high as possible. His first thought was to use a opto-isolated linear amplifier to measure voltage, but ended up altering that plan since he’s looking for digital values when all is said and done.

He’s using an ADC on the mains side of the interface board, then sending the digital values to an Arduino with opto-isolators to keep the high voltage separate from the low. This does complicate things a little bit, as he has low voltage rails on either side; 0V and 5V to run the ADC on the mains side, and separate 0V and 5V to run the Arduino. To solve the problem of accurate current measurement over the full range a house uses he opted for a Programmable Gain Amplifier. It’s addressed via SPI and allows him to adjust resolution to facilitate accurate measurement of very small currents. We think anyone who has tried to measure small appliances (like an alarm clock) with a Kill-A-Watt and gets a zero reading will appreciate this.

The Arduino sends data via a serial connection, which [Dave] is currently graphing using his laptop. It would be nice to see a simple web-server using the Ethernet shield (or a different board like the RPi) so you could log in from the couch and see what’s been going on with your home grid.

Comments

  1. JB says:

    Cool project. I have to agree with his own assessment about the heat sink. That thing is barely adequate for a 7805 regulator, let alone a 25A triac :P

  2. DanJ says:

    Neat project. All kinds of useful information can be had from this.

  3. Bogdan says:

    I don like that he used a PGA for the current transformer. Still, i think the design could be made much simpler:
    instead of using a ADC + opto SPI he could have used an attiny13 or such which could do the ADC conversion and send data serially to the arduino via a single optocoupler. Or, even simpler, just use the transformer he used to power the 220V side to get the voltage scaled down. if that transformer has just a resistive load, it will transfer the mains voltage pretty acurate. See, this just makes a big bunch of parts not required.

  4. David says:

    Very cool! Did a similar project several years ago (http://www.kondra.com/circuit/circuit.html) but really just convinced me to consolidate all those old servers more than anything else.

  5. Jim Narem says:

    Don’t bother doing the I*V calculation yourself, it’s much more complicated than you might imagine. Use a dedicated chip, like the Cirrus Logic CS5463. ADI makes them too (ADE7753) and I think TI just announced one attached to a MSP430.

    • Dave B says:

      The I*V calculation isn’t complicated, but you do have a good point about the chips you suggest. The interface to the CS5463 would still require an opto isolated SPI bus though. Your suggestion would be cheaper and more accurate.

  6. foogoid says:

    Nice to see Dave’s DIY solution, and David’s professional setup.

    I have wondered if it would be possible to simply log the actual energy usage, as given by the meter that is there already. Could be as easy as an optical sensor that counts the disk’s revolutions. Granted, it would not offer as high resolution, but it would be non-obtrusive, completely safe, easy to calibrate, and just needs to be stuck to the meter’s window.

    • Dave B says:

      The meter only shows imported power. I generate solar power, so wanted to see both import and export. Also, the resolution is much higher, sampling every cycle. A flashing 1Wh light will take an hour to show you 1W usage.

      There are lots of examples of this sort of logging out there.

      • Andrew says:

        >A flashing 1Wh light will take an hour to show you 1W usage.

        What? In any practical home usage, the light flashes many times per minute. Just extrapolate.

      • Dave B says:

        If you have a 1000 pulse per kWh meter, which is typical, a 3600W load will flash every 1s. So, your 80W fridge will flash every 45s. That is a long time to wait. All you can say after 30s is that you are burning less than 120W. Counting the flashes only works if you have a relatively high load. It is useless for low loads.

        You can’t, for example, detect a 15W light being switched on for 30s with a ‘flash counter’. That is why I designed this circuit.

  7. Die Antwoord says:

    Home Depot is blowing out some units that read the blink on smart meters – I took a pass, but for $27 it seems like these would yield a hackable solution.

    Smart Meters are coming to everyone, and they will generate an amazing amount of data (which will make more than a few home hydroponic lettuce growers get visits from “concerned parties”) and make it possible to create profiles of when you’re home, when you’re sleeping and when you’re doing laundry or cooking. In theory, this might yield other data, such as number of refrigerators/appliances and even an estimated occupants.

    Another problem is that these units provide non-verifiable data. The previous electro-mechanical units showed the “amount of power used” in a way that was immediately obvious to both parties. The newer units don’t, and instead show a number which corresponds to your usage, but does not reflect current or cumulative usage with the resolution the mechanical meters did.

    The only interface available is now a blinking LED, with the expectation that homeowners will go to a website, log in and get their usage information. Naturally, no one would notice subtle manipulation of the data to shave a few bucks here and there.

    As a result, it’s really in your interest to install a more sophisticated meter, and more importantly, if you want to challenge the readings you’ll need NIST certification (or imputed NIST certification) as no utilities commission will pay any attention to you.

    On the west coast, we’re pretty lucky to still have relatively responsive customer service at many utilities, but many power companies have adopted the pay-as-you-go method with remote shutoff for those low income types who can’t pay their bills on time.

    This is the future of retail power distribution, and as such it’s coming for all of us. Since we all have decent income sources, jobs and work for a living, paying our electrical bills on time isn’t a problem. Remote shutoff only affects a few people, most of whom couldn’t get past a couple of quarters at the community college and chose to be fun-loving slackers rather than work.

    However, it’s not exactly rare for a utility account to be screwed up, suddenly showing charges of five to 10x the normal rate, or discovering that your account has been closed because your last name matches some dead beat renter. The process is often opaque.

    Only then will you discover that your best method of resolution is fighting your way through a battery of IVR (interactive voice response) units that don’t quite work, and, if you’re lucky, a chance to talk to Miss Shaneeqa (one of those fun-loving slackers who got a temp job in customer service) who believes that the computers never make a mistake, and can only resolve your problem with a credit card.

    The quick hack for fixing this sort of thing often involves locating someone on the PUC/[insert regulatory body here] and/or identifying a board member in order to apply a little motivation and persuasion to get your problem resolved.

    But it’s definitely worth monitoring your own power consumption.

  8. Dave B says:

    The blinking LED isn’t the only output. See my earlier project as an example

    http://www.rotwang.co.uk/projects/meter.html

    You can also detect the spinning disk in a mechanical meter, eg

    http://community.cosm.com/?q=node/65

    But you still have a resolution problem. For each 1Wh pulse, you need 1W to run for an hour. So, eg. it will take 6m to detect a 10W load. That is not enough resolution to do any serious analysis.

  9. apip says:

    hello…i have a question..is this project connect to main switch board?plz explain

  10. The unit I built is plugged into the mains using a standard mains plug. This provides both the power to the unit and the sensor input to the voltage monitoring. It does not need to be wired into the main switch board.

    I hope that answers your question.

  11. apip says:

    hello.can I have a full schematic diagram plz.

  12. Sorry, I don’t have a full schematic. I put all the diagrams I have on the website.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s