Computing stuff tied to the physical world

TD – Cost Control

In Hardware on Mar 20, 2012 at 00:01

Welcome to the Tuesday Teardown series, about looking inside the technology around us.

Over two years ago (gosh, time flies), I reported about a low-cost AC metering device called Cost Control:

It seems to be available from several sources, not just Conrad and ELV, under different brand names. Not sure they are identical on the inside, but the interesting bit is that they transmit on 868 MHz and seem to go down to fairly low power levels as well as all the way up to 16A:

DSC 2976

So let’s have a look inside, eh? Here’s the back side of the PCB:

DSC 2971

No much to see, other than a thick bare copper wire, which probably acts as the shunt resistor.

The rest appears to be built around 3 main chips, two of which are epoxied in, so I can’t see what they are:

DSC 2970

Flipping this thing over, we can see the different sections. I had expected a special purpose AC power measuring chip, but it looks like this thing is built around a quad LM2902 op-amp:

DSC 2972

Note the discrete diode soldered on the flip side – the topmost solder joint looks pretty bad!

The rest of the analog circuitry and the MPU of some kind running at 4-something MHz is here:

DSC 2974

The 24LC02 is a 2 Kbit I2C EEPROM, for the node ID and some calibration constants, I presume.

And here’s the wireless transmitter, running off a 16 MHz crystal:

DSC 2975

Being 16 MHz, it’s a bit unlikely that this is a HopeRF RFM12B (or its transmit-only variant), alas. The blob at the center bottom goes to an antenna wire on the other side of the board.

Would love to be able to decode the wireless signal (1 packet every 5s, very nice!). Either that, or find out how they are measuring the power from 1..3600W – the remote actually displays in tenths of a Watt.

PS – See also this forum discussion about decoding.

  1. Image and “1 packet every 5s” look very much like Conrad’s EnergyCount3000 in http://forum.jeelabs.net/node/341 (decoder RF12test14.pde) and the LaCrosse RS3110 in http://forum.jeelabs.net/node/800 .

  2. That’s a lot of round pads with testpoints. The diode on the back probably passes the supply voltage to the lm2902. The lm2902 might amplify, but is a buffer for shure. The signal across the shunt before and after the shunt is amplified/buffered and then passes to the blob, analog. The datalines to the radio have no test points, but that can be solved ;-) . Sniffing the I2C-data to the memory is always an option…

    Sniffing the communication to the I2C memory under test-conditions,

  3. … would give some insight in what’s in the eeprom.

    (comment edit-function does not seem to work for me).

  4. Could be quite interesting to look closely at current sensing part and see if it’s doable to isolate ‘sensing’ from ‘computing’ to safely handle more plugs (maybe 4 or 8) with a single uC (and then make it remotely accessible via radio/RS485/ethernet/whatever) …

  5. You might want to check how accurate the meter works with a purely resistive load, and then try a load with a nasty power factor, say fluoro lights or (my favourite) induction motors, which have a PF of about 0.6, or at least that’s what our workshop grinder has, which I use as a test load. Also try something with SCR controller, since these chop the current waveform horribly.

    Accurately sensing power is not trivial, since you have to compute the average of the instantaneous power, which is current times volts for an entire cycle. Electricity meter designs seem to use special ADC’s that compute power directly, since doing power measurement is software would tax an 8 bit micro.

    • But something like http://www.silabs.com/products/power/currentsensors/Pages/Si850x1x.aspx could help (at least keeping size small, a good precision and a good insulation). If I didn’t mess up my calcs too badly, if you acquire istantaneous values for V and I and multiply ‘em accumulating (integrating) over a period, you (should) obtain a value proportional to the active power (and that’s not “too much” for an 8-bit micro). Other values become more and more meaningless while waveform becomes less sinusoidal.

  6. You might want to have a look at what Stefan Seegel did: http://www.seegel-systeme.de/index.php?page=energiekosten-messgeraet-emr-7330 it was done with a different device; same class, though. He was able to decode the transmitted values, catch them with an RFM module and process them on a net io (or his own device RF Soap). There are some pics of the internals: http://wiki.volkszaehler.org/hardware/channels/meters/power/emt7110

    Regards, J. P.S.: always an interesting read, jcw! :-)

  7. Today I bought a Lafayette PM-150. It uses LM324DG near the shunt. And there’s a 78L05 too :) The micro is a WT5071F (6502 core, 16k ROM, 512 byte RAM) that calculates wattage, drives an LCD and (possibly) a radio module (many unpopulated pads, two marked ant1 and ant2). So it seems power metering on an 8-bit micro is definitely doable :)

Comments are closed.