ADE7880 - Inverted Signal for Active Power/Energy

Question asked by carlos.affonso on Nov 8, 2016
Latest reply on Nov 9, 2016 by nchandra

We are facing some strange behaviors using ADE7880:

We are applying  the follow signals on meter:

- 240V;

- 5 A;

- angle V-I = 60 o.;

We are getting the following values:

Active = -1800W

Reactive = +3117 var

Changing the quadrant :

- 240V;

- 5 A;

- angle V-I = 120 o.;

Active = +1800W

Reactive = +3117 var

The other registers values (instead of active power/energy) seems to be OK.

The Internal ADE7880 Registers :

{ kAccmode, 0x00000080 }, //part one
{ kAfirmsos, 0 },
{ kAfvaros, 0 },
{ kAfvrmsos, 0 },
{ kAfwattos, 0 },
{ kAigain, 0 },
{ kAirmsos, 0 },
{ kAphcal, 0x00000005 },
{ kApgain, 0x0ff7e1b2 },
{ kApnoload, 0 },
{ kAvgain, 0 },
{ kAvrmsos, 0 },
{ kAwattos, 0 },
{ kBfirmsos, 0 },
{ kBfvaros, 0 },
{ kBfvrmsos, 0 },
{ kBfwattos, 0 },
{ kBigain, 0 },
{ kBirmsos, 0 },
{ kBphcal, 0x00000007 },
{ kBpgain, 0x0ff7e1b2 },
{ kBvgain, 0 },
{ kBvrmsos, 0 },
{ kBwattos, 0 },
{ kCf1den, 0x00000139 },
{ kCf2den, 0x00000139 },
{ kCf3den, 0x00000139 },
{ kCfcyc, 0x00000001 },
{ kCfirmsos, 0 },
{ kCfmode, 0x000000A0 }, //part two
{ kCfvaros, 0 },
{ kCfvrmsos, 0 },
{ kCfwattos, 0 },
{ kCigain, 0 },
{ kCirmsos, 0 },
{ kCompmode, 0x000041FF },
{ kConfig, 0 },
{ kConfig2, 0x00000002 },
{ kConfig3, 0x00000001 },
{ kCphcal, 0x00000002 },
{ kCpgain, 0x0ff7e1b2 },
{ kCvgain, 0 },
{ kCvrmsos, 0 },
{ kCwattos, 0 },
{ kDicoeff, 0x0FFF8000 },
{ kGain, 0 },
{ kHconfig, 0x00000008 },
{ kHpgain, 0 },
{ kHsdcCfg, 0 },
{ kHx, 0x0000003E },
{ kHxirmsos, 0 },
{ kHxvaros, 0 },
{ kHxvrmsos, 0 },
{ kHxwattos, 0 },
{ kHy, 0x0000003F },
{ kHyirmsos, 0 },
{ kHyvaros, 0 },
{ kHyvrmsos, 0 },
{ kHywattos, 0 }, //part three
{ kHz, 0x0000003D },
{ kHzirmsos, 0 },
{ kHzvaros, 0 },
{ kHzvrmsos, 0 },
{ kHzwattos, 0 },
{ kIsumlvl, 0 },
{ kLcycmode, 0x00000078 },
{ kLinecyc, 0x0000FFFF },
{ kLpoilvl, 0x00000007 },
{ kMask0, 0 },
{ kMask1, 0 },
{ kMmode, 0x0000001C },
{ kNigain, 0 },
{ kNirmsos, 0 },
{ kOilvl, 0x00FFFFFF },
{ kOvlvl, 0x00FFFFFF },
{ kPeakcyc, 0 },
{ kRun, 0 },
{ kSagcyc, 0 },
{ kSaglvl, 0 },
{ kVanoload, 0 },
{ kVarnoload, 0 },
{ kVarthr, 0x00000080 },
{ kVathr, 0x00000080 },
{ kVlevel, 0x00AD486B },
{ kVnom, 0x00143E66 },
{ kZxtout, 0x0000FFFF },
{ kWthr, 0x00000080 }

Can you help us to figure out what could be wrong?