Computing stuff tied to the physical world

Assembling the EmonTX

In Hardware on Jun 29, 2012 at 00:01

The guys at OpenEnergyMonitorhi Glyn and Trystan! – have been working on a number of open source energy monitoring kits for some time now. With solar panels coming here soon, I thought it’d be nice to try out their EmonTX unit – which is partly derived from a bunch of stuff here at JeeLabs. Here’s the kit I got recently:

DSC 3351

Following these excellent instructions, assembly was a snap (I added the 868 MHz RFM12B wireless module):

DSC 3352

Whee, assembling kits is fun! :)

I had some 30A current clamps from SeeedStudio lying around anyway, so that’s what I’ll be using.

The transformer is a 9 VAC type, to help the system detect zero crossings, so that real power factors can be calculated. Unfortunately, this transformer doesn’t (yet) power the system (but it now looks like it might in a future version), so this thing also needs either FTDI or USB to power it.

Here are my first updated measurement results, using the voltage_and_current.ino sample sketch in EmonLib:

    0.27 4.17 260.39 0.02 0.06 
    -0.02 0.71 260.77 0.00 -0.03 
    0.03 0.71 260.74 0.00 0.04 
    -0.02 0.71 260.56 0.00 -0.03 
    0.02 0.71 260.63 0.00 0.03 
    -100.93 105.81 260.88 0.41 -0.95 
    -97.68 102.16 260.94 0.39 -0.96 
    -99.07 104.42 260.98 0.40 -0.95 
    -97.15 102.57 260.74 0.39 -0.95 
    -97.69 102.29 260.91 0.39 -0.95 

The values printed out are:

  • realPower
  • apparentPower
  • Vrms
  • Irms
  • powerFactor

These readings were made with a clamp on one wire of a 25W lightbulb load – first off, then on. The mains voltage estimated from the 9V transformer is a bit high – it’s usually about 230V around here. My plan is to measure and report two independent power consumers and one producer (the solar panel inverter), so I’ll dive into this in more detail anyway. But that’ll have to wait until after the summer break.

Speaking of which: the June discount ends tomorrow, just so you know…

Update – I have disconnected the burden resistors, since the SCT-013-030 has one built in. See comments.

  1. I’m using the same setup to monitor the mains. I have the emonTX feeding power information to a JeeNode with a GLCD connected.

    Just to point out how cheap solar power has become. (not affiliated).

    I’m getting my 690wP set next monday. A Soladin600 is easily connected to a JeeNode using softwareSerial and the Soladin Arduino library.

    • I’m getting my 690wP set next monday

      Sounds like you’re going to take advantage of that 15% subsidy, starting next month, eh? :)

    • The Soladin600 is a nice little string inverter. I have been looking for something like that for quite some time already. But unfortunately not suitable for use in germany :-(

  2. This seems to be a very nice unit! Does all you want in a small package and has Arduino/Jeenode compatibility.

    The only thing I do not understand is your measuring results, Irms and Vrms seem reasonable, but the rest?

    One comment regarding the external AC plug: the transformers used in this type of plugs are mostly cost-optimized, means they use the absolute minimum of iron and copper. Even if lightly loaded the output does not usually follow the input signal very nicely. Could you possibly check that?

    • See updated results, after disconnecting the on-board burden resistor.

  3. Hey JC, The 30Amps current sensors you have already have a built-in burden resistor. You will need to desolder the 3 burden resistors from your emonTx and adjust the calibration coef for current. a little favor to ask if you have time: you have a very capable oscilloscope, could you please build the little circuit that provides both power and voltage sensing to emonTx and have a look at the waveform distortion and the harmonics? thanks a have fun :)

    • Thanks – I suspected something like this. Have updated the above sample output. Much better now.

      I’ll look into the power/voltage schematic, but it’ll have to wait until after the summer. Lots of things piled up here, and none of it will be reported on the weblog during the upcoming two-month break, sorry.

  4. I think that to calculate power factor one needs to acquire voltage and current very fast and multiply them and sum them. this gives you the accumulated real power. This depends on the type of load but with so many objects having switching power supplies I don’t think current draw will be a sine wave like what is shown in the textbooks. In other words there are limits to what zero crossing can do. I have been reading up on the Maxim 78M6612 for the purpose of power measurements.

    Take this with a grain of salt, however as I am an ME, not EE !

    Thanks for the awesome blog!

    • Looking at the code of EmonLib, I think it does the right thing, i.e. sample and multiply the voltage and current readings as quickly as possible. There is still the issue of distortion in the transformer, but this should nevertheless lead to reasonable measurements, especially when averaged out over longer periods of time.

  5. I first that that the zero crossing was in reference to finding the phase shift. however, then i read in the libraries the zero crossing is intended to make sure voltage and current calculations for RMS and Power factor calculations are done over integer numbers of half cycles – very nice!

    Thanks for the awesome blog!

  6. Negative apparent power? Hmm – perhaps the Vsense phasing is wrong, maybe flipping the plug 180 will improve the readings….

  7. I’ve come up with an alternative design for power monitoring. I’d welcome your opinion.

    • Very nice!!! There will be a mains-connected section, which will scare off a certain audience, but the thing is fully isolated apart from that and looks good.

  8. Thanks. I’ve posted the preliminary code now too.

Comments are closed.