Creating A Reactive Energy Pulse Output Based On The ADE7753
Creating A Reactive Energy Pulse Output Based On The ADE7753
APPLICATION NOTE
One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106 • Tel: 781/329-4700 • Fax: 781/461-3113 • www.analog.com
INTRODUCTION
Reactive Energy = Apparent Energy2 – Active Energy2
This application note describes how to create a pulse
output based on reactive energy readings from the This relationship holds up well at the fundamental
ADE7753.The ADE7753 is an energy metering IC complete frequency but significant error is introduced when
with rms, active, apparent, and reactive measurement harmonics are present.
capabilities. The quantities measured in the ADE7753 are
read out through an SPI serial to parallel interface. For In one type of direct reactive energy calculation, a con-
this example, the reactive energy pulse output application stant 90° phase shift over frequency with an attenuation
was implemented on a PIC16F877 microcontroller from of 20 dB/decade is introduced. The cutoff frequency of
Microchip.® the low-pass filter is set much lower than the funda-
mental frequency such that there is a 90° phase shift
OVERVIEW at any frequency higher than the fundamental. These
Definition of Reactive Energy frequencies are attenuated by 20 dB/decade. This solu-
Reactive power is defined by the IEEE Standard Diction- tion is susceptible to variations in line frequency, which
ary 100-1996 as: can be overcome by compensating the gain based on the
∞
line period. This is the method used by the ADE7753 to
Reactive Power = ∑ Vn × I n × sin (ϕ n ) calculate reactive energy. The ADE7753 also has a period
n =1
register that may be used by the microcontroller for gain
compensation based on the line period.
where Vn and In are the voltage and current rms values
of the nth harmonics of the line frequency and n is the Pulse Output in the ADE7753
phase difference between the voltage and the current nth The ADE7753 provides a pulse output proportional
harmonics. Reactive energy is the accumulation of reac- to active energy. This pulse output is ideal for use in
tive power over time. It should be positive for an inductive calibrating the active energy functionality against a
load, where the current is leading the voltage. reference meter. For this calibration, a steady load is
applied to the energy meter being calibrated and to
Calculating Reactive Energy
the reference meter. The pulse output from the meter
There are two main ways of calculating reactive
under calibration is compared to that from the reference
power—indirectly, using the power triangle or directly,
meter. Gain and offset compensations are performed
using a low-pass filter.
by adjusting active energy gain and offset registers,
Figure 1 shows the relationship between the active, CFDEN, WGAIN, and APOS, until the pulse output
reactive, and apparent energies that is assumed in the from the meter under test matches the reference meter
power triangle approach: both at the base current, Ib, and a lower test current,
APPARENT
Imin. Figure 2 shows the ADE7753 signal chain used
POWER to calculate and calibrate the active energy register,
REACTIVE AENERGY and the CF pulse output.
POWER
ACTIVE
POWER
REV. 0
AN-758
����� �� ���� ���
���������� ���������
������� ���������� �������
������� ���� ������� ������ ������������� ��������
� �� �
�
�
�������
������� �����������
�� �
������ �����
������
������ �����������
�� �
���� ���� �
��� ��
�� �
�����������
Every time an LSB is accumulated in the active energy The reactive energy pulse output should have the same
register, AENERGY, a pulse is generated at the digital scaling as the active energy pulse output so that at a
to frequency converter. Once (CFNUM+1)/(CFDEN+1) power factor of 0, the reactive pulse output has the
pulses have been generated by the digital to frequency same frequency as the active energy pulse output at
converter, a CF pulse is issued on Pin 11. Figure 3 dem- a power factor of 1. As the active energy pulse output
onstrates how the digital to frequency converter outputs is typically calibrated to 3200 imp/kWh, the reactive
pulses based on the accumulated active energy. energy pulse output in this example is also calibrated to
�������
3200 imp/kVARh.
The reactive energy pulse output should be accurate to
±2.5% from 0.05Ib ≤ I < 0.1Ib and ±2% from 0.1Ib ≤ I <
������� Imax, as required by the IEC62053-23 specification for
��
�������
��
��
�
��
DESIGN ARCHITECTURE
�
��
��
� �������
�
��
������� half line cycle. The frequency of the reactive energy read-
��
–2– REV. 0
AN-758
5. Wait for the IRQ interrupt to go low and read the To solve this problem, reactive energy is accumulated
RSTSTATUS register (address 0x0C). The first line more often inside the microcontroller. The rate of reac-
cycle accumulation energy readings after writing tive energy accumulation inside the microcontroller is
to the LINECYC register must be discarded because based on a trade-off between microcontroller comput-
the accumulation time for this reading may not cor- ing bandwidth and acceptable pulse output ripple. If
respond to the new value in the LINECYC register. the MCU can be devoted entirely to generating a pulse
output, the accumulation rate can be much higher than
6. Reset the status register by reading the RSTSTATUS
for an MCU that is already burdened with other tasks.
register, address 0x0C.
In this example, the MCU is entirely devoted to creating
7. Wait for the IRQ interrupt to go low and read the a reactive energy pulse output so a fast accumulation
RSTSTATUS register, address 0x0C. rate of 10 kHz was chosen, yielding a frequency output
8. Read the LVARENERGY register, address 0x08. jitter of 100 s.
9. Repeat steps 7 through 8 as desired. In the ADE7753 active energy normal accumulation
mode, there are two thresholds that result in the issuing
Note that the line cycle accumulation readings available
of a CF pulse, a positive and a negative threshold. If the
after the first line cycle accumulation interrupt may not
energy customer consumes or provides enough energy
be correct . It takes one line cycle accumulation period to
to the utility in normal accumulation mode within a
lock on to a new value in the LINECYC register.
certain amount of time, a CF pulse is issued. It is impor-
In order to turn these reactive energy readings available tant to have a positive and a negative threshold instead
every LINECYC half line cycle into a pulse output, a VAR of just accumulating the absolute value of the energy so
threshold that should result in a VARCF pulse being that in the event that the sign of the energy is changing,
issued, must be set. This reactive energy pulse output the CF output remains accurate. In normal accumula-
level is done similarly to the CFNUM+1/CFDEN+1 ratio tion mode, the AENERGY active energy register on the
in the active energy CF signal path (see Figure 4). In this ADE7753 uses a signed accumulation so x amount of
implementation, there is just one variable that sets the positive energy followed by x amount of negative energy
amount of reactive energy needed for a pulse to be cancel each other. The same phenomenon should occur
output, the VARCFLEVEL. with the CF pulse output so that the relationship between
���������� the active energy register and the CF output frequency
is maintained.
The positive and negative thresholds for issuing a
���������� VAR pulse are even more important as the sign of the
��
��
�
using electricity from the utility and starts giving power
��
�
capacitive to inductive.
��
��
�����������
REV. 0 –3–
AN-758
������ ����������
����������
������ ����� ������
����������
��
��
��� ���� ����� ���������
���� ������ ������� �������
��������
������� � ���
���
���������� � �
�����
������� �������
LVARENERGYFS = 0.347 × LAENERGYFS As the LVARENERGY register only holds whole numbers,
the value of the register will always be a whole number.
The accumulated active energy for a given load is: The ADE7753 only allows register access to the 24 MSBs
of the reactive energy but stores 15 LSBs in an internal
LAENERGY = PF × Average Value at register. These LSBs will accumulate and adjust the
FS × Accumulation Time ( s) × %FS × CLKIN / 4 × 2 –25 LVARENERGY reading between 19 and 20 accordingly,
such that the average LVARENERGY register reading for
where Average Value at FS is 0xCCCCD, the average this load is 19.4.
LPF2 word value at full- scale with WGAIN = 0—see
The ADE7753 data sheet calibration section details
the Integration Time Under Steady Load section of the
the steps required to calibrate an energy meter. The
ADE7753 data sheet.
specifications for the example meter are:
LINECYC
Accumulation Time ( s) = Meter Constant: MeterConstant (imp/kWh) = 3200
2f l Maximum Current: Imax = 60 A
Line Voltage: Vnominal = 220 V
%FS is the active energy percent of full scale which is Line Frequency: fl = 50 Hz
based on the level of the analog inputs. If the current and Test Current: Ib = 10 A
voltage inputs are set to half of the analog input range,
the active energy is 1/4 of full scale.
–4– REV. 0
AN-758
In this example Imax and Vnominal scale to half of their The offset compensation is shown in Figure 6.
respective analog input ranges. So for this meter, the
���������� ����������
maximum CF output with the current equal to Imax and
the line voltage equal to Vnominal is: ����� ������ ���������� ������
���������� ����������� ���������� ���
REV. 0 –5–
AN-758
The OFFSETSIGN flag is used to indicate whether the Line Frequency Gain Compensation
offset is positive or negative. The fractional offset is This algorithm for producing a reactive pulse output
accumulated every microcontroller accumulation cycle requires an additional gain correction of the LVARENERGY
and every time it overflows, a bit is added or subtracted readings over line frequency. To account for a variable
from the running reactive energy total based on the line cycle frequency, two 1/f compensations need to be
offset sign flag. A sign bit is needed to know whether performed on the LVARENERGY readings, one to properly
to look for a rollover from 0x00 to 0xFF or from 0xFF to scale the readings based on their accumulation times and
0x00. These transitions are reflected in the carry bit in another to account for the 1/f attenuation of the reactive
the status register. Storing the whole part of the offset in energy readings in the ADE7753.
a separate register makes it easy to correct for any whole The calculations for the pulse output assume that the
offset every microcontroller accumulation cycle. gain of the LVARENERGY register is constant. However,
No-Load Threshold the gain of the LVARENERGY register varies with line
The reactive energy no-load threshold in the IEC62053-23 frequency. For example, at a line frequency of 52.5 Hz, less
standard for a Class 2 meter is 0.5%Ib. This corresponds energy will be accumulated within a half line cycle than
to 0.0209% of the full-scale reactive energy reading of at 50 Hz since the accumulation time is shorter. Without
the ADE7753. The ADE7753 has a more stringent active gain compensation the pulse output for 52.5 Hz would be
energy no-load threshold of 0.001% of the full- scale slower than for 50 Hz with the same load applied because
multiplier output. In this example, Imax and Vnominal are the 52.5 Hz LVARENERGY readings would be lower. So
both set to half scale so the ADE7753 active energy a 1/f correction factor is required to properly weight the
no-load threshold is 0.4692 mHz: LVARENERGY readings across different accumulation
times.
1
CFno-load1 = No Load Threshold1 × CFmax × A low-pass filter is implemented on the current channel for
%FS
calculating the reactive energy. This filter introduces an
additional 1/f attenuation in the reactive energy readings.
1
VARCFno-load1 = 0.00001 × 11.73 Hz × = 0.4692 mHz Typically the line frequency can vary ±5% so the gain of
0.5 × 0.5
the reactive energy register needs to be compensated
to accurately represent the reactive energy during these
In this example, the reactive energy no-load threshold is
fluctuations.
implemented by counting the number of half line cycle
periods that have passed since the last pulse. A no-load The ADE7753 PERIOD register can be used to determine
threshold of 0.4692 mHz, or 2131.29 seconds without the line frequency:
a pulse, corresponds to 0x034089 (213,129 decimal)
8
half line cycles at 50 Hz. So if 213,129 half line cycles Line Period(s) = PERIOD ×
CLKIN
have passed since the last pulse, then the accumulated
LVARENERGY is cleared and the half line cycle count
The amount of reactive energy that must be accumu-
resumes from zero.
lated to output a pulse, the VARCFLEVEL, is adjusted
In this implementation, the reactive energy no -load according to this PERIOD reading. In this implementa-
threshold is set according to the IEC62053-23 speci- tion a lookup table is used for the corrections so
fication, using the same concept as the active energy that these calculations do not have to be done in the
no-load threshold. This reduces the resolution required microcontroller.
in the offset register and makes it so that only two bytes
are required for counting half line cycles for the no-load
threshold instead of the three that would be required for
the stricter no-load threshold.
1
CFno-load 2 = No Load Threshold 2 × CFmax ×
%FS
1
VARCFno-load 2 = 0.000209 × 11.73 Hz × = 9.795 mHz
0.5 × 0.5
–6– REV. 0
AN-758
Table I. VARCFLEVEL Line Frequency Correction Table It would be easy to use the PERIOD register readings to
directly index into a correction table, but at 896 entries,
Corrected Table
this table would be too big. To index a smaller correc-
PERIOD (Decimal) VARCFLevel Index
tion table using the PERIOD register readings there
8512 0x3974 0 needs to be a formula to calculate the index into the
8544 0x39E2 1 correction table array from the PERIOD register value. If
8576 0x3A52 2 possible, a multiplication should be avoided as with this
microcontroller it will take about 200 instruction cycles
8608 0x3AC1 3
to perform a 16 by 16 multiplication. The incentive for
8640 0x3B31 4 using a lookup table is to reduce the time it takes to get
8672 0x3BA2 5 the proper result. So there needs to be a fast way to
8704 0x3C13 6 index this table.
8736 0x3C84 7 In a microcontroller it is easy to divide by 2n by right
8768 0x3CF6 8 shifting the operand. Since 896 entries are evenly divis-
ible by 25, or 32, this is an efficient way of indexing the
8800 0x3D68 9
correction table. The table has 896/32 + 1 = 29 entries,
8832 0x3DDA 10 resulting in a worst case 0.4% error. With more
8864 0x3E4D 11 resolution and therefore more entries in the table, the
8896 0x3EC1 12 percent error would be reduced. The index into the
correction table is the (PERIOD – PERIODnominal)/32 + 14.
8928 0x3F34 13
The entries for the table are calculated by multiplying
8960 0x3FA9 14
the nominal VARCFLEVEL by (PERIOD/PERIODnominal) 2
8992 0x401D 15 so that when the line frequency is higher than nominal,
9024 0x4092 16 the VARCFLEVEL is lowered to accommodate the lower
9056 0x4108 17 LVARENERGY register readings.
9088 0x417D 18 For example, if the PERIOD is 9408 and the nominal
PERIOD is 8960, the array index should be 28:
9120 0x41F4 19
9152 0x426A 20 INDEX = (PERIOD − PERIODnominal ) / 32 + 14
9184 0x42E2 21
9216 0x4359 22 INDEX = (9408 – 8960) / 32 + 14 = 28
9248 0x43D1 23
9280 0x4449 24 The lookup table entry for a PERIOD of 9408 with a
9312 0x44C2 25 nominal PERIOD of 8960 and a nominal VARCFLEVEL of
9344 0x453B 26 0x3FA9 is calculated to be:
9376 0x45B5 27 2
PERIOD
9408 0x462F 28 Lookup Table Value = VARCFLEVELnominal ×
PERIOD nominal
REV. 0 –7–
AN-758
���� ��������
����� ��� ������������ ���������
���
��
��� ���� ���� ����� ��� ���� �� ������ ���� ���
���� ���
���
���� ���
–8– REV. 0
AN-758
RESULTS Performance with Line Frequency Variation
Linearity
������
������
������� �����
������
������
������� �����
� �����
��
� �����
��
�������
�������
�������
�� �� �� �� �� �� ��
������� ���� ��������� ����
���� ��� � �� ���
������� ���
Figure 9. VARCF Performance with Line
Figure 8. VARCF Linearity Frequency variation
The VARCF linearity error shown in Figure 8 is within the Figure 9 shows the performance of the VARCF pulse
IEC 62053-23 Reactive Energy Class 2 specification for output over line frequency. The gain of the VAR read-
current variation. The specification requires: ings must be compensated over line frequency because
the digital to frequency converter accumulates at a
Less than ± 2.5% error from 0.05Ib ≤ I < 0.1Ib
constant frequency and assumes a fixed period for its
Less than ±2% error from 0.1Ib ≤ I < Imax. input. An additional gain compensation is performed for
This meter was calibrated with an Ib of 10 A and an Imax the ADE7753 to account for the gain attenuation of the
of 60 A. Thus there must be less than ±2.5% error from LPF used to calculate reactive energy. A look-up table
0.5 A to 1 A. There must be less than ±2% error from is used to perform the gain compensation, so the error
1 A to 60 A. characteristic has a sawtooth pattern. This results from
the frequencies that are on the edge of two compensa-
tion bins and hence are not compensated ideally.
This VARCF implementation is within the IEC 62053-23
Reactive Energy Class 2 specifications for variation over
the line frequency influence quantity. The specification
requires less than ± 2.5% error induced from ± 2%
frequency variation.
The graph shown above is for ±5% frequency variation
and is well within this specification.
REV. 0 –9–
–10–
–11–
AN05241–0–4/05(0)
© 2005 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners.
–12–