Getting pf and other details from EM24

Establishing the viewpoint perspective is only the first step.
I’d guess both meters should be at least consistent, but it should be proven.

Then you have to consider what each quadrant means in terms of how the two meters will treat the signage.
They won’t treat them the same according to how you’ve described them.
Power flow will split the quadrants vertically, and the power factor will split them horizontally into + & -. (The rotation convention of the voltage vector is anti-clockwise).

Then you have to consider the actual accuracy.
They both read equal, but opposite signage at 0.98.
So flip the sign and both meters are spot on.

The absolute difference was between 0.45 and 0.5, which sounds a lot, (and inaccurate) but is it?
You are dealing with the arc Cos of those values. ( Hint: it’s only 3 degrees)
.

2 Likes

Power factor is one measure of efficiency. As a very crude example, it is a bit like closing a door by pushing on the outer edge vs doing the same thing by pushing it right next to the hinge. You could probably get the door closed in both manners, and the amount of work done will be exactly the same, but all that extra strain and heat generated in the muscles would make it inefficient.

Likewise, drawing most of the current at the highest voltage point on the sine wave is a bit like applying most of the force at the furthest point from the hinge on that door. A 50% duty cycle (like my laptop PSU brick) is drawing peak current around the 60° point of the sine wave (cos(pi/3) = 0.5).

But conversely, that doesn’t mean the laptop brick is heating up and wasting energy in itself. It simply needs only 16W at the moment and it manages to extract that quite comfortably by drawing 150mA at an average 110V. But I could have been doing 70mA at 230V instead, which would arguably lead to less losses in the cabling, transformers, etc… and that is where the efficiency comes into it.

If I load the CPU down a bit, say by compiling something like a Linux kernel, the power factor will likely improve :slight_smile:

In my experience, Carlo Gavazzi meters are usually not consistent. It feels very much like each family of meters was designed by a different team. No two have the same register numbering. No two indicate phase rotation exactly the same. The ET340 has a really slow refresh rate and counts energy across phases incorrectly. I would not at all be surprised if it is different in this respect too.

But let me see how apparent power measurement works.

Yup, that I know. Which might be another indication that PF measurement might be less useful than VA measurement, since it can be a bit unstable (to the human eye) because of that cosine.

Yes, you have to establish this first, The vertical and horizontal splits will still be there, but it does depend whether the meter thinks current is coming or going as to what the signs will be.
Positive sequence phase rotation is always anti-clockwise ( L1;L2;L3). If Gavazzi says different they shouldn’t be making meters. ( They wouldn’t get this wrong).

Well, it should be relatively stable until you get to extreme power factors. It’s just that it’s a trig function that isn’t linear and therefore it’s unintuitive.

For example, The difference between 0.98 and 1 doesn’t sound much but it is actually 11.5 degrees. Nearly four times the difference between 0.45 and 0.5.

You’d expect meters to be more accurate around unity though.

1 Like

To be clear, they have a register that shows a flag if the rotation is correct or not. This works perfectly in both the EM24 and the ET340.

Where it is different, is if you use such a meter in a single phase system (which is fully supported), or if you use L2/L3 to measure other things on the same phase (also fully supported).

Then the flag is meaningless (of course), but… the two meters behave slightly differently. And you get special people who ask questions about such trivialities :slight_smile:

And generates support questions… :slight_smile:

Ok, let’s not overcomplicate things.
We’ll assume for the moment that both meters see the load as downstream consistently and you’ve wired them as such.
We’ll also leave the (unintuitive) magnitude differences aside for the time being.

You’ve stated your PC power pack load will draw real power (import) at a lagging power factor.

So the EM24 will read a positive value due to the lagging power factor.

So the ET340 will read a positive value because active power is being imported.

It reads negative. Hence my confusion.

There are discrepancies in apparent power too. The ET340 shows 0VA on L1 although I know for a fact the reading should be 16. EM24 appears to be working correctly. Still have to test ET112.

Spending more time on this than I should… :slight_smile:

1 Like

Results. EM24 and ET112 seems to work well. Example from EM24:

L1 is looped in reverse into L3, so one would expect the apparent power to be the same for L1 and L3. And it seems to be the case. The total apparent power (over all phases) also come out at what is probably noise, or could be the draw of the meter itself (which is actually from L2, the meter powers itself from L2). Nothing obviously wrong here.

ET340…

L1 is looped backwards through L2, as can be seen from current readings. Total and L2 appears to be right, L1 is wrong.

So it seems this only works for two out of the three meters.

Yes, I understand, it would seem straightforward enough
I assume you’ve got it hooked up like this (source on 1):
image

Yup.

In any case, it seems like we can enhance the EM24 and the ET112. The ET340 will again be the lesser of the meters.

The only real reason to have an ET340 is because it can measure reverse energy per phase. The EM24 only has one reverse energy counter for the total of all three phases. For all other uses… the ET340 is simply an inferior meter compared to the others. It is less expensive though… to there is that :slight_smile:

@warwickchapman , if you want to play around a bit, here is my modbusrtu.py script that you can use on any linux machine with pyserial and pymodbus installed.

You can call it with arguments like this: python3 modbusrtu.py /dev/ttyUSB0 read 0xB 1

And that will return the meter type (71 means EM24, 120 means ET112, etc). And then you can use the protocol documentation for each meter to see what can be queried.

@warwickchapman , what platform do you need, CCGX, Venus-GX or Cerbo? I have to move on to something else now.

import sys
from pymodbus.client.sync import ModbusSerialClient as ModbusClient
from pymodbus.pdu import ExceptionResponse

def main():
    if len(sys.argv) < 5:
        print ("Usage: {} port read|write register count")
        return

    modbus = ModbusClient(method='rtu', port=sys.argv[1], baudrate=9600, timeout=1)

    if not modbus.connect():
        logger.error("Cannot connect to modbus")
        return

    action = sys.argv[2]
    if action not in ("read", "write"):
        print ("Read or Write?")
        return

    register = sys.argv[3]
    if register.startswith('0x'):
        register = int(register, 16)
    else:
        register = int(register)

    count = int(sys.argv[4])
    if action == "read":
        r = modbus.read_holding_registers(register, count, unit=1)
        if isinstance(r, ExceptionResponse):
            print (r)
        else:
            print (r.registers)
            total = 0
            for _ in reversed(r.registers):
                total <<= 16
                total |= _
            print ("{} (0x{:X})".format(total, total))
    elif action == "write":
        v = int(sys.argv[5])
        payload = []
        while v > 0:
             payload.append(v & 0xFFFF)
             v >>=16
        while len(payload) < count:
            payload.append(0)
        print ("Writing {} to register {:X}".format(payload, register))
        if len(payload) > 1:
            r = modbus.write_registers(register, payload, unit=1)
        else:
            r = modbus.write_register(register, payload[0], unit=1)
        print (r)

main()
1 Like

Is this reverse looping the currents not messing things up?
From what I understand, 1 meter calculates single phase totals then adds them up and the other gives the 3 phase total.
The difference between vector summation and magnitude summation may be tripping you up.

Hey @plonkster - Thanks for all of this. Riveting. I will do some testing on a 3-phase supply with ET340 and EM24 and revert.

Platforms: CerboGX and RaspberryPi

Both are armv7 so that makes it easy.

Aaaah! And that is indeed the very same thing the ET340 gets wrong when it sums total energy. It simply sums the individual phase energy counters instead of the total. I’m sticking with the idea to not enhance the ET340 then.

I don’t know.
I think they both should be OK on a single-phase basis. Theoretically a 3 phase total basis as well. When you start back-feeding single-phase currents through other phases in anti-phase, in some sort of bastardized 2 phase arrangement, I see anomalies.
Just stick with the recommended 1 ph and 3 ph configurations, instead of trying to overthink it.

1 Like