AnsweredAssumed Answered

ade7753 unstable reading

Question asked by carlos_ad on Feb 14, 2018
Latest reply on Feb 26, 2018 by pminc48



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


Register configuration:

CFDEN = 2819 (dec)


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


LAENERGY 1%, before APOS: 0x611

APOS = 0xED14

LAENERGY 100%, after writing WGAIN and APOS: 0X1141E


Meter #1, calibration #2

LAENERGY 100%, before WGAIN: 0x11562


LAENERGY 1%, before APOS: 0x5A9


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


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!