We designed an electricity meter a couple of years ago, it uses a MSP430 microcontroller (3.3V) to interface the ADE7753. The SDO line of the ADE has a 33K resistor in series to deal with the voltage difference.
The meter has a 250uohm shunt, with antialias filter (1K/33nF) as recommended design, and 1Mohm resistor (actually: 4 x249K in series) for the voltage divider.
Meter specs: 5(50)A, 220V, 50Hz, Km=1000pulses/kwh
We calibrate the meter using a precise and stable power supply:
step 1: calibrate WGAIN with 5A, 220V, cosphi=1 (that is: 100% Ib), with LINECYC= 8192
step 2: calibrate APOS with 0.05A, 220V, cosphi=1 (1% Ib), with LINECYC=16384
CFDEN = 2819 (dec)
CFNUM = 0
IRQEN = 0x14
GAIN = 0x12
MODE = 0x88
All other registers left to their default reset values.
These are the problems that we have:
1.- There are parts (meters) that LAENERGY reading on step 2 gives different values from calibration to calibration process. Example of readings are: 0x611 with one calibration, and 0x5A9 in the next one; while another meter (under the same V, I, phase conditions; i.e calibrated at the same time) gives 0x5CA in the first calibration and 0x5CC in the second one.
This results in meters that may have a great accuracy at 5% of Ib in one calibration, but if we recalibrate them, it may throw errors of excess of 1.5% !!!
2.- Those meters that didn't keep a constant reading of LAENERGY from different calibrations at 1%, also gives very unstable pulses output at CF when we test them. Our calibration bench shows errors of, let's say, -2.4% in one reading, then "jumps" to 0.5%, and so on... If we average a large amount of pulses (60 or more) then some meters will keep the error below 1%, but will give unstable readings (may give 0.05% in one reading, then 0.6% in the next one, then -0.9% in the next and so on...).
3.- We don't have that problem with the meters that gives "almost the same" LAENERGY reading at 1% Ib from calibration to calibration. Also the meters that give those unstable readings will tend to give stable readings when I > 30% Ib .
It looks like there's noise somewhere, but for some reason it affects some parts and others not. What worries me is that we are testing meters that came from the same production batch: same PCB panel, same components, etc. etc.
Let me tell you the expected and nominal readings for the two meters of the above example:
LAENERGY_expected = 0x11412 100%Ib, LINECYC = 8192
LAENERGY_expected = 0x585 1%Ib, LINECYC=16384
Meter #1 (the "unstable" one), calibration #1
LAENERGY 100%, before WGAIN: 0x115C9
WGAIN = 0xFE7
LAENERGY 1%, before APOS: 0x611
APOS = 0xED14
LAENERGY 100%, after writing WGAIN and APOS: 0X1141E
Meter #1, calibration #2
LAENERGY 100%, before WGAIN: 0x11562
WGAIN = 0xFED
LAENERGY 1%, before APOS: 0x5A9
APOS = 0xF7DA
LAENERGY 100%, after writing WGAIN and APOS: 0x1145C
Meter #2, calibration #1
LAENERGY 100%, before WGAIN: 0x10F84
WGAIN = 0x044
LAENERGY 1%, before APOS: 0x5CA
APOS = 0xF059
LAENERGY 100%, after writing WGAIN and APOS: 0x1140A
Meter #2, calibration #2
LAENERGY 100%, before WGAIN: 0x10F81
WGAIN = 0x044
LAENERGY 1%, before APOS: 0x5CC
APOS = 0xEFE4
LAENERGY 100%, after writing WGAIN and APOS: 0x11401
We re-calibrated the meters many times, and always end up with the same result: meter #2 gives excellent readings at 5% (error varies from 0% to +/-0.4% max between single CF pulses, and around 0.05% or even less if we average 60 CF pulses); and meter #1 give very unstable readings, no matter the amount of CF used for average. Actually we tried with many meters, but I'm just showing an example with those two meters.
Any idea where should we start looking for the problem??
Thanks and best regards!