blog

Update: building meters


Just a very quick update. Recent work has been focussed on getting the energy meters ready for the MSc group who will be doing a project on "VIsualisation and Analysis of Domestic Electrical Energy Consumption" next term. Specifically, I've been working to get the Open Energy Monitor EmonTX talking to my rfm_edf_ecomanager Nanode code and discussing ways to eak as much accuracy from the measurement hardware as possible. And trying to find a way to measure reactive power for students who won't be able to measure mains voltage and phase angle directly (this is discussed in depth here).

Size of Arduino number types

The size (in bytes) of some number types on an Arduino (some of these are obvious):

char1
byte1
int2
size_t2
unsigned int2
short int2
long int4
long long int8
unsigned long int4
float4
double4

How accurate is an EDF individual appliance monitor?

To try to get a feel for how accurate the EDF transmitter plug is, I simultaneously recorded our washing machine using a WattsUp meter, an EDF transmitter plug and an EDF whole-house transmitter. The WattsUp samples once a second, the EDF devices sample about once every 6 seconds. (data was collected from the EDF devices using my Nanode code and my logging script). Here are the results (click on the image for a larger version):

Watts Up versus EDF IAM versus whole house

And here's the same data but this time the EDF IAM and WattsUp are laid on top of each other. I'm happy that the EDF device is of comparable accuracy to the WattsUp, at least in this experiment:

Watts Up versus EDF IAM

One thing I need to investigate a little more is that occasionally the EDF IAM appears to give a reading which is above the theoretical max wattage an appliance can draw (13 amps x 230 volts = 2990 watts). This doesn't appear to be an RF corruption issue (because the checksum is OK). I guess it's possible that our washing machine does sometimes draw too much (but for a short enough time to mean the fuse doesn't blow). I was hoping to capture an "overload" event in the data capture I did for the graphs above but unfortunately it didn't occur. If I get time I might try recording more WattsUp signals from our washing machine.

I've just ordered another 10 EDF IAMs. When these arrive (in about 10 days) I will have a total of 14 EDF IAMs. I'll run these for a week or so. If these check out OK then I'll probably order another 15 to get to a total of 30 to monitor every appliance in my home.

C++ notes

Group MSc project on "Visualisation and Analysis of Domestic Electrical Energy Consumption"

I'm hoping to organise a Computer Science MSc group project on "Visualisation and Analysis of Domestic Electrical Energy Consumption". One aim of the project is to produce an open-source app tol help people save energy by producing useful and interesting visualisations (pretty graphs) of their energy usage. The ultimate aim is to produce something a bit like Google Powermeter. But better ;)! The full spec of the group project is available here.

I'd be really eager to hear any comments / suggestions at this (very) early stage to try to make the project both lots of fun for the students and also useful to the community. Some specific questions might be:

  • Do you currently use a tool to visualise your energy use? (Such as Current Cost's website or Cosm or open.sen.se or something similar?)
  • Are there any specific statistics / visualisations that you'd be particularly interested in?
  • Would you be interested in being able to share details of your energy use with select friends to compare progress?

(To give a bit of context: Group projects run for the duration of the spring term (11 weeks starting Jan 2013). I'm a PhD student in the computing department so I'll be supervising the project but the detailed design is up to the MSc students. Groups usually consist of 5-6 MSc students. There are no guarantees that a group will actually want to do the project, of course!)

Ensuring the fan runs on my HP ProBook 6450b laptop


I have an HP ProBook 6450b laptop which runs Ubuntu 12.10 and Windows 7. It had a tedious and potentially expensive problem: when running Linux, the CPU fan would fail to turn on until the CPU temperature reached 105℃. This was dangerously hot. I wrote about the problem in detail on the Ubuntu Forum, including links to my conversations on the linux-acpi kernel list.

After spending about a month trying to find a software fix for this problem, I decided it was time to get the soldering iron out to fix the problem. Here's what I did:

Insulating our bedrooms


Back in February, we insulated the two bedrooms in our end-of-terrace Victorian solid-walled house. This blog post attempts to document the process, including lots of photos. The detailed plans for this project (including some CO2 calculations and a complete shopping list) are described in a previous blog post. A quick re-cap of the plans:

  • Our upstairs walls are not damp so we can just attach the insulation directly to the plastered wall, we didn't bother with wooden battens.
  • Use Fermacell instead of plasterboard. Fermacell is much stronger than plasterboard, so it should be possible to hang shelves directly from the Fermacell.
  • 65mm insulation + 12.5mm Fermacell
  • Use 160mm "frame-fixing" screws to mechanically secure the Fermacell to the brick. These come with their own wall plugs. To use, just drill straight through the Fermacell + insulation + brick, then hammer the wall plugs into place and screw in the long screws (i.e. you don't need to pre-drill the wall and then try to align holes in the insulation with holes in the wall).

In total it took about three weekends to install the insulation for both our bedrooms, MUCH less time than it took to insulate our living room. (This time does not include the time taken to plaster and decorate, which we had done by some excellent local decorators - I just installed the insulation & Fermacell.)

On to the details...

Buying and installing a smart meter

PM1200

I'd like to install a smart meter so I can collect whole-house readings of real and reactive power and voltage once every five seconds for my PhD work on disaggregation. For several months I've been prodding my utility company to replace my "spinning-disk" meter with a smart meter but this isn't going to happen any time soon, even if I offer to pay for the hardware and installation. The existing spinning-disk meter is owned by the utility company so I can't touch it. So my plan is to hire an electrician to install a smart meter downstream of my spinning-disk meter. This blog post is just my notes about smart meters (which to buy? how to communicate with it? etc.)

DIY EcoManager Nanode code is feature-complete!

Hurray! At long, LONG last the embedded C++ code for my DIY EcoManager is feature-complete! It's hard to believe that it's been a full two months since I started on this mission to build a DIY Current Cost receiver. Back then I thought it'd only take a couple of weeks! The last two months have been spent writing over 3,000 lines of C++, scratching my head lots over the EcoManager protocol and how to use the RFM12b wireless module. Oh, and blowing up my laptop of course. And I've met some really smart folks who are trying to do similar projects; without whom I honestly wouldn't have been able to get this project done. I've also really gotten into using the wiki and issue tracker features on github: the integration between commits, the issue tracker and the wiki is great.

The next step is to write a Python script to log the data coming from the Nanode and keep track of which IAMs are connected to which appliance. And then either build an Open Energy Monitor to measure both real and reactive power for my whole house, or pester Ecotricity to get me on their smart meter trial.

And then, once I've got all my data logging kit quietly collecting data, I'll finally be able to get cracking with my "proper" work of doing smart meter disaggregation!

Deleted Current Cost protocol documents - UPDATED: Docs are back!

Update 5/1/2016: CurrentCost have kindly allowed me to put these docs back onto the GitHub wiki! The post below is just kept for posterity's sake...

I'm really sorry but I'm afraid I've had to remove the Current Cost protocol details from the GitHub wiki for my rfm_edf_ecomanager project.

Current Cost got in touch a little while ago. (My blog had showed up on one of their Google Alerts). They were very friendly and were genuinely interested in the work I had been doing. But they did request that I delete two wiki pages which describe the workings of the Current Cost protocols (reverse engineered by a group of us). So I have deleted those two pages.

The open-source advocate in me did consider defiantly keeping the documentation online. But I think the pragmatic, diplomatic and polite option is to comply with Current Cost's wishes. To start with, they have been very friendly (they haven't served me with a formal take-down notice or anything like that). And the smart metering world appears to be quite small so it would be a big mistake to annoy one of the major players! To be honest, I'm somewhat relieved that we're allowed to keep the code online.

Pages

Subscribe to RSS - blogs