For his masters at Cornell, [Christopher McNally] designed a simple, non intrusive home power meter capable of doing everything a ‘smart meter’ can do – log power consumption throughout a home, and display a log of a home’s power consumption over WiFi. He’s even testing out some interesting ideas, like automatically detecting when specific devices turn on by reading the current data.
From [Chris]‘[Jeramy] developed his system around the Arduino and a Ethernet shield, taking care of networking and choosing a micro, leaving him more time to develop the more interesting part of the project: sensing current. For this he used a small, clip-on current transducer. This sensor generates up to 10 VAC across a resistor, but the Arduino doesn’t play well with AC, requiring a small rectifier built around an op amp.
While the project works as a homebrew smart meter, [Jeramy] wasn’t able to automatically detect when certain devices were powered on. This is partly due to the fact that changes in current were only seen in magnitude and not waveform. Also, if two devices were powered on at the same time, the software would see that as a larger device that draws the sum of the current of two smaller devices. Still, [Jeramy] came up with a cheap way of metering power in any home, and the cost of his solution is cheaper than a lot of professional systems out there.
All the code, files, and design report are available on [Jeramy]‘ git.
[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.
With the weather getting colder, [Daniel] decided it would be a good idea to monitor how much energy his gas heating was using in real time. He used a Nokia 6680 cameraphone to monitor the heater’s flame through the sight glass. PyS60, a Symbian implementation of Python, checks the image sent by the camera and measures how much blue flame is visible. These values are stored in a SQL DB on the phone that can be polled over Bluetooth. At the end of the billing cycle, he’ll be able to correlate the amount of gas used with what the phone reported.
[Thanks, florent bayle]