AN-1076: 校准基于ADE7878的三相电表
简介
图1显示了一个基于ADE7878构建的三相电表的基本结构,ADE7878属于ADE78xx系列。相电流和零线电流利用电流互感器(CT)进行检测,相电压利用电阻分压器进行检测。微控制器通过 I2或SPI通信管理ADE78xx。本文介绍 的是校准该电表的过程。这款电表使用三相四线配置,内置三个电压传感器,不过校准流程无需更改便可用于其他配置。
ADE7878、ADE7868、 ADE7858和 ADE7854均为ADE78xx系列的器件。本应用笔记适用于具备最多特性的ADE7878 IC。关于校准ADE7868、ADE7858或ADE7854的程序,请参考适用于相应器件及与ADE7878共有特性的那些部分。“十六进制计算”部分说明如何获得一个带符号小数的24位带符号表示形式,以及如何获得48位寄存器WTHR、VARTHR和VATHR的两个24位表示形式。
图2所示为ADE7878的功能框图。图中显示了需要校准的量 : xIGAIN、 xVGAIN、 xPHCAL、 xWATTOS、xWGAIN、 xVAROS、 xVARGAIN、 xFWATTOS、xFWGAIN、xFVAROS、xFVARGAIN、xVRMSOS、NIGAIN和NIRMSOS(x = A、B或C)。依据所用ADE78xx IC的不同,其中一些量可能不需要校准。例如,ADE7858不计算基波有 功 /无功功率,因此不需要校准 xFWATTOS、xFWGAIN、xFVAROS和xFVARGAIN。
内部的模数转换器(ADC)和外部器件会引起计量误差。增 益校准补偿电流互感器、电阻分压器和ADC所决定的幅度 误差。相位校准补偿电流互感器引起的相位延迟。失调补 偿用于消除各种数据路径中存在的相关噪声效应。
校准方法
使用两种方法校准三相电表:一种使用基准电表,另一种使用精确源。
基准电表方法要求信号源能够提供各种电流和电压,但精度和稳定性无需太高。校准电表的读数与基准电表的读数相比较,然后相应地调整校准量。
精确源方法要求信号源能够提供精确的电流和电压。校准电表的读数与期望值相比较,然后相应地调整校准量。
两种方法均要求根据电表性能规格计算CFxDEN(x = 1、2或3) 寄存器、满量程电流 (IFS) 和满量程电压 (VFS) 。
计算CFxDEN、 IFS和 VFS
电表通常用标称电流 (IN)、标称电压 (VN)和电表常数(MC)来表征。电表常数指的是对于每千瓦时(kWh)的电能消耗,CF1、CF2或CF3脉冲输出引脚产生的脉冲数。
CFxDEN是一个正整数,用于ADE7878的电能频率转换器模块。CF1DEN、CF2DEN和CF3DEN寄存器利用此值进行初始化。
用于计算此值的表达式如下:
其中:
MC 是电表常数,用“脉冲数/kWh”表示。
10α (α < 0)决定各电能寄存器的1 LSB代表多少电能,如WATT-小时和VAR-小时等。
例如,要校准的电表的MC = 6400脉冲/kWh,为了获得正整 数CxFDEN,选择α = −3。
其中,α = −3意味着电能寄存器的1 LSB相当于 10-3 Wh、10-3 VARh 或 10-3 VAh.
图3显示了基于ADE7878的三相电表通常使用的电流互感器输入结构。根据电流互感器特性和负载电阻(R1和R2),按照下式计算满量程电流 (IFS), 及决定电流通道ADC输入端满量程正弦波的正弦电流有效值:
其中:
R1 和 R2为负载电阻。
CTRATIO为电流互感器的输入输出比,0.5 V为ADC输入端的最大容许电压。
注意,为简明起见,图3没有显示抗混叠滤波器,但线圈与ADE7878之间必须放置抗混叠滤波器,应使用一个转折频率 f0 > 2 kHz 的简单RC滤波器。
图4显示了基于ADE7878的三相电表使用的罗氏线圈输入 结构。根据线圈的每安培电压比 RGCRATIO [V/A], 可以计算电流通道ADC输入端的满量程正弦电流。
其中,PGAI 为电流通道的PGA增益。注意,为简明起见, 图中没有显示线圈与ADE7878之间的滤波器。然而,采用罗氏线圈时,应放置两个级联滤波器,一个紧随线圈之后,转折频率为10f0,用于补偿线圈的20 dB/10倍增益,然后是另一个转折频率为 f0的常规抗混叠滤波器。
图5显示了通常用来测量ADE7878三相电表的相电压的电 阻分压器。可以按照下式计算满量程电压 (VFS) ,即决定电 压通道ADC输入端满量程正弦波的正弦电压有效值。
其中, R3 和 R4为电阻分压器,0.5 V为ADC输入端的最大容许电压。
配置ADE7878
一般而言,开始执行校准程序之前,应将ADE7878切换到PSM0正常功耗模式,初始化一些寄存器,并且启动数字信号处理器(DSP)。下面逐步说明配置程序:
- ADE7878上电,将PM1引脚设为低电平,将PM0引脚设为高电平,使器件切换到PSM0正常功耗模式。
- 将增益寄存器中的电流和电压通道PGA增益设为所需的值。
- 设置HPFDIS = 0x0,使能数据路径中的高通滤波器(HPF)。
- 如果使用常规电流互感器(CT),应将CONFIG寄存器的位0 (INTEN)清0。如果使用罗氏线圈,应将CONFIG寄存器的位0 (INTEN)置1,以使能数字积分器。
- 将CF1DEN、CF2DEN和CF3DEN寄存器初始化为CFxDEN值1。
- 用如下值初始化VLEVEL寄存器:
其中, VN为电表的标称相电压。 - 将CFMODE寄存器中的位9 (CF1DIS)、位10 (CF2DIS)和位11置0,使能CF1、CF2和CF3引脚。
- 设置COMPMODE = 0x3911,使能A相电能的CF1功能、B相电能的CF2功能和C相电能的CF3功能。
- 将RUN寄存器设置为0x1,启动内部DSP。
精确源方法
电流和电压有效值校准
xIGAIN和xVGAIN寄存器的校准
上文说明了如何计算CFxDEN寄存器来累计约数形式的瓦小时、VAR-小时或VA-小时电能。同样,利用电流和电压有效值增益寄存器可以计算约数形式的安培和电压有效值寄存器。
例如,电表的输入电压为其标称电压 (VN) = 220 V rms,可 以校准ADE7878的VGAIN寄存器以计算有效值: V rmsREF = 220 × 104 [100 µV]。同样,如果电表的输入电流为其标称电 流( (IN) = 1.5 A rms,则可以校准ADE7878的IGAIN寄存器以 计算有效值: I rmsREF = 1.5 × 106 µA。
选择 V rmsREF 和 I rmsREF时,必须考虑下列限制:
- xIGAIN和xVGAIN不得设置为−1至+1范围之外的值。
- 引入xIGAIN和xVGAIN之后,满量程输入仍然应当用24位带符号数格式表示。
- 当过零电路输入端的电压幅度低于满量程的10%时,不会触发过零事件。所选的VGAIN应使得标称电压幅度至少高于此10%阈值。
这种方法可以简化微控制器内部执行的有效值处理任务。 如果不想要这样,可以简单地选择 V rmsREF 和 I rmsREF为从4,191,910——输入为满量程时ADE7878计算的理想有效 值——导出的值。
例如,在要校准的电表中,如果 IFS = 7 A rms、 VFS = 350 V rms、VN = 220 V rms、 IN = 1 A rms, 则:
计算xIGAIN和xVGAIN的步骤如下:
- 以标称电流、标称电压和功率因数1为电表各相供电。
- 使能MASK1寄存器中的过零中断(ZXVA、ZXVB、ZXVC、ZXIA、ZXIB和ZXIC),一次使能一个。当中断被多次触发时,读取相应相位的有效值xVRMS或 xIRMS(x = A、B或C),并求平均值,以此平均值为有效值。
- 确定标称电压或电流的期望有效值表示,以此为 RMSREF。
xVGAIN或xIGAIN校准值为以下值的带符号24位十六进制 表示:
零线电流没有过零监控,因此应周期性读取NIRMS寄存器,该周期由周期寄存器决定,然后将其平均值用于以上公式。
AIRMSOS、 BIRMSOS、 CIRMSOS、 NIRMSOS、 AVRMSOS、BVRMSOS和CVRMSOS寄存器补偿相电流和 相电压中的噪声产生的直流失调。补偿步骤如下:
- 以标称电流 (IN)和标称电压为电表各相供电。
- 使能MASK1寄存器中的过零中断(ZXIA、ZXIB、ZXIC、 ZXVA、ZXVB和ZXVC),一次使能一个。当中断被多 次触发时,读取相应相位的有效值xIRMS或xVRMS(x = A、B或C),计算平均值,结果为 IRMSN 或 VRMSN。
- 以必须测量其电流有效值的最小电流 IMIN或必须测量其 电压有效值的最小电压 VMIN为电表各相供电。注意, 当电压信号低于满量程的10%时,过零检测电路禁 用。如果 VMIN低于此阈值,则应周期性读取xVRMS寄 存器,该周期由周期寄存器决定,而不使用ZXVA、 ZXVB和ZXVC中断。
- 在过零中断时多次读取xIRMS或xVRMS寄存器,计算 平均值,将结果作为 IRMSMIN 或 VRMSMIN。
xIRMSOS校准值为以下值的带符号24位十六进制表示:
同样,xVRMSOS校准值为以下值的24位十六进制表示:
若要估算零线电流的有效值失调,应周期性读取NIRMS寄存器,该周期由周期寄存器决定,然后按照上述程序处理。
总/基波有功电能校准
要使用精确源执行总有功电能校准,应执行下列操作:
- 将WTHR、VARTHR和VATHR寄存器设置为方程式2给出的值。
- 将ADE7878配置为线周期累计模式。
- 以精确的标称相电压、标称相电流和相功率因数1为电表供电。
- 校准AWGAIN、BWGAIN和CWGAIN寄存器。
- 以精确的标称相电压、标称相电流和相功率因数0.5为电表供电。
- 校准APHCAL、BPHCAL和CPHCAL寄存器。
- 以精确的标称相电压、电表必须认证的最小相电流和相功率因数1为电表供电。
- 校准AWATTOS、BWATTOS和CWATTOS寄存器。
没有必要执行基波有功电能校准,因为它们与针对总有功电能计算的增益和失调应相同。然而,为了实现出色的精度,仍然可以使用下面针对总有功电能校准所述的步骤校准基波有功电能。
WGAIN寄存器的校准
如上文所述,为了补偿电流互感器、电阻分压器和ADC所决定的幅度误差,需要校准增益寄存器,这可以全部通过xIGAIN和xVGAIN寄存器来完成。此外,xWGAIN寄存器还能补偿为ADE7878提供CLK信号的晶振所引起的时间测量误差。该误差通常较小,可忽略。这种情况下,如果已经得出xIGAIN和xVGAIN寄存器,则可以根据下式计算WTHR寄存器:
其中,fS = 8 kHz ,即DSP用于计算瞬时功率的频率。
THR必须始终大于或等于PMAX——相电压和相电流具有满量程幅度时ADE7878计算的有功功率:
如果THR小于PMAX,应调整 VRMSREF或 IRMSREF.
例如,在要校准的电表中,如果 IFS = 7 A rms、VFS = 350 V rms、 VN = 220 V rms、 IN = 1 A rmss,则阈值等于:
用十六进制表示,此值THR = 0x17856016。由于WTHRx、VARTHRx和VATHRx为48位带符号寄存器,因此它们使用两个24位寄存器初始化到ADE7878存储器中:THR1 = 0x17,THR0 = 0x856016。
如果需要补偿晶振引起的时间测量误差,则校准AWGAIN的步骤如下:
- 以精确的标称电流、标称电压和功率因数1为电表A相供电(该相的电流和电压之间的延迟为0°)。
- 将LCYCMODE寄存器的位0 (LWATT)和位3 (ZXSEL[0])置1,以将ADE7878设置为总有功电能的线周期累计模式。
- 计算LINECYC寄存器以确定累计时间。通常,累计结束时瓦-小时寄存器为4位数,以便为增益校正提供充足的裕量。由下式可得出最小值:
其中:
Period 为ADE7878寄存器的内容,显示线周期模式的 持续时间。
VN为电表的标称相电压。
IN为电表的标称相电流。 - 通过下式计算AWATTHR寄存器在理想条件下具有的内容:
- 将寄存器MASK0的位5 (LENERGY)置1,使能LENERGY 中断。
- 当中断IRQ0触发时,读取AWATTHR寄存器。然后在位5 (LENERGY)置1的情况下,写入STATUS0寄存器以取消该寄存器中的中断标志。多次重复该步骤,按照 下式求取WATTHR的算术平均值。
AWGAIN为以下值的带符号24位十六进制表示:
针对B相和C相重复该程序,确定BWGAIN和CWGAIN。此时不是将LCYCMODE寄存器中的位3 (ZXSEL[0])置1,而是分别将位4 (ZXSEL[1])和位5 (ZXSEL[2])置1。
还有一种方法,它不是读取电能寄存器,而是将COMPMODE寄存器中的位0 (TERMSEL1[0])置1、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置0,然后读取CF1引脚频率,并将其与下式给出的期望 CFREF 比较:
AWGAIN即为以下值的带符号24位十六进制表示:
将COMPMODE寄存器中的位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置1、位2 (TERMSEL1[2])置0,并且重复上 述程序,可以确定BWGAIN。要确定BWGAIN,请将位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2]) 置1,并且重复上述程序。
xPHCAL寄存器的校准
如上文所述,为了补偿电流互感器引起的相位延迟,需要执行相位校准。校准APHCAL、BPHCAL和CPHCAL寄存器的步骤如下:
- 以标称电流、标称电压和功率因数0.5(感性)为电表各相供电(同一相的电流与电压之间存在60°的延迟)。
- 按照“WGAIN寄存器的校准”部分所述,对各相进行初始化。
- 通过下式计算AWATTHR寄存器在理想条件下具有的内容:
- 当中断IRQ0触发时,读取AWATTHR寄存器。然后在位5 (LENERGY)置1的情况下,写入STATUS0寄存器以取消该寄存器中的中断标志。多次重复该步骤,按照 下式求取AWATTHR的算术平均值。
- 通过下式计算代表相电流与相电压之间的延迟误差的角度:
用于补偿相位延迟的定时器的相位分辨率为:
其中:
FL 为系统的线路频率。
Period 为表示相电压线周期的ADE7878寄存器值。
将x除以phase_resolution并计算APHCAL值:
注意,上面的表达式暗示x的单位为度。如果x的单位为弧度,则相位分辨率公式变为:
针对B相和C相重复该程序,确定BPHCAL和CPHCAL。
还有一种方法,它不是读取电能寄存器,而是将COMPMODE寄存器中的位0 (TERMSEL1[0])置1、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置0,然后读取CF1引脚频率,并将其与下式给出的期望 CFREF 比较:
相电流与相电压之间的延迟误差为:
然后,按照上述程序计算APHCAL。
将COMPMODE寄存器中的位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置1、位2 (TERMSEL1[2])置0,并且重复上述程序,可以确定BPHCAL。要确定CPHCAL,请将位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置1,并且重复上述程序。
系统中的相位误差如果较大,可能会引起增益误差,WGAIN校准不会补偿这种增益误差。此时,补偿相位误差之后,必须再次执行增益校准,以消除这些潜在误差。
WATTOS寄存器的校准
如上文所述,为了补偿各种数据路径中存在的相关噪声效应,需要执行失调补偿。校准AWATTOS、BWATTOS和CWATTOS寄存器的步骤如下:
- 以精确的标称电流、标称电压和功率因数1为电表各相供电(同一相的电流和电压之间的延迟为0°)。
- 将LINECYC和WTHR设置为WGAIN校准期间所用的值 LINECYCN 和 WTHRN。
- 读取AWATTHR,将其值命名为 AWATTHRN。
- 以要求期望精度的最小电流、标称电压和功率因数1为电表各相供电(同一相的电流和电压之间的延迟为0°)。
- 按照“WGAIN寄存器的校准”部分所述进行初始化。
- 由于相电流较小,将WTHR寄存器设置为 WTHRMIN = PMAX以提高CF1引脚的频率,这将显著缩短校准时间。
- 计算LINECYC寄存器以确定累计时间。通常,累计结束时瓦-小时寄存器至少应有2位数,以便为增益校正提供充足的裕量。如果较长的累计时间是可以接受的,那么也可以考虑3位数。由下式可得出最小值:
- 读取AWATTHR,将其值命名为 AWATTHRMIN。
针 对 B相 和 C相重复该程序,确定 BWATTOS和CWATTOS。
针 对 B相 和 C相重复该程序,确定 BWATTOS和CWATTOS。
还有一种方法,它不是读取电能寄存器,而是将WTHR变为 WTHRMIN = PMAX,并将COMPMODE寄存器中的位0 (TERMSEL1[0])置1、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置0,然后读取CF1引脚频率,并将其与下式给出的期望 CFREF比较:
AWATTOS即为以下值的带符号24位表示:
将COMPMODE寄存器中的位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置1、位2 (TERMSEL1[2])置0,并且重复上述程序,可以确定BWATTOS。要确定CWATTOS,请将位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置1,并且重复上述程序。
总/基波无功电能校准
没有必要执行总/基波无功电能校准,因为它们与针对总有功电能计算的增益和失调应相同: AVARGAIN和AFVARGAIN等于AWGAIN,AVAROS和AFVAROS等于 AWATTOS,等等。然而,为了实现出色的精度,仍然可以使用“WGAIN寄存器的校准”部分和“WATTOS寄存器的校准”部分针对总有功电能校准所述的程序,校准总/基波无功电能。唯一的区别是电流和电压的功率因数必须为0(同一相的电流与电压之间的相位延迟为90°)。
视在电能校准
VAGAIN寄存器的校准
针对视在电能计算的增益应与针对总有功电能计算的增益相同,即AVAGAIN、BVAGAIN和CVAGAIN分别应与AWGAIN、BWGAIN和CWGAIN相等。然而,为了实现出色的精度,仍然可以使用“WGAIN寄存器的校准”部分针对总有功电能校准所述的程序,校准视在电能。
视在电能数据路径不含任何失调补偿寄存器,因为该失调是在有效值数据路径中利用xIRMSOS和xVRMSOS寄存器进行补偿。
基准电表方法
电流和电压有效值校准
要校准电流和电压值,请使用精确源方法。更多信息请参阅“电流和电压有效值校准”部分。
总/基波有功电能校准
总有功电能校准的步骤如下:
- ADE7878上电。
- 配置ADE7878以在CF1、CF2和CF3引脚上提供分别与A相、B相和C相成比例的脉冲数。
- 以标称相电压、标称相电流和相功率因数1为电表供电。
- 校准AWGAIN、BWGAIN和CWGAIN寄存器。
- 以标称相电压、标称相电流和相功率因数0.5为电表供电。
- 校准APHCAL、BPHCAL和CPHCAL寄存器。
- 以标称相电压、电表必须认证的最小相电流和相功率因数1为电表供电。
- 校准AWATTOS、BWATTOS和CWATTOS寄存器。
没有必要执行基波有功电能校准,因为它们与针对总有功电能计算的增益和失调应相同: AFWGAIN等 于AWGAIN,AFWATTOS等于AWATTOS,等等。然而,为 了实现出色的精度,仍然可以使用“总/基波有功电能校准”部分所述的步骤校准基波有功电能。
WGAIN寄存器的校准
如上文所述,为了补偿电流互感器、电阻分压器和ADC所决定的幅度误差,需要校准增益寄存器,校准AWGAIN、BWGAIN和CWGAIN寄存器的步骤如下:
- 以标称电流、标称电压和功率因数1为电表各相供电(同一相的电流和电压之间的延迟为0°)。
- 将COMPMODE寄存器中的位0 (TERMSEL1[0])置1、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置0,从而仅在CF1引脚上提供A相功率。
- 将CFMODE寄存器中的位[2:0] (CF1SEL[2:0])初始化为0,以设置CF1引脚提供与总相位有功功率之和成比例的信号。
- 读取两个电表的CF引脚频率:要校准的电表(CF1)和基准电表 (CFREF)。多次重复该步骤,按照公式5求取算术平均值。
AWGAIN为以下值的带符号24位十六进制表示:
将COMPMODE寄存器中的位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置1、位2 (TERMSEL1[2])置0,并且重复上述程序,可以确定BWGAIN。要确定BWGAIN,请将位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置0、位2 (TERMSEL1 [2])置1,并且重复上述程序。
PHCAL寄存器的校准
如上文所述,为了补偿电流互感器引起的相位延迟,需要执行相位校准。校准APHCAL、BPHCAL和CPHCAL寄存器的步骤如下:
- 以标称电流、标称电压和功率因数0.5(感性)为电表各相供电(同一相的电流与电压之间存在60°的延迟)。
- 按照“WGAIN寄存器的校准”部分所述进行初始化。
- 读取两个电表的CF频率:要校准的电表(CF1)和基准电表(CFREF)。多次重复该步骤,按照公式6求取算术平均 值。
- 通过下式计算代表相电流与相电压之间的延迟误差的角度:
用于补偿相位延迟的定时器的相位分辨率为:
其中:
FL为系统的线路频率。
Period 为表示相电压线周期的ADE7878寄存器值。
将x除以phase_resolution并计算APHCAL值:
注意,上面的表达式暗示x的单位为度。如果x的单位为弧度,则相位分辨率公式变为:
将COMPMODE寄存器中的位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置1、位2 (TERMSEL1[2])置0,并且重复上述程序,可以确定BPHCAL。要确定CPHCAL,请将位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置1,并且重复上述程序。
系统中的相位误差如果较大,可能会引起增益误差,WGAIN校准不会补偿这种增益误差。此时,补偿相位误差之后,必须再次执行增益校准,以消除这些潜在误差。
WATTOS寄存器的校准
如上文所述,为了补偿各种数据路径中存在的相关噪声效应,需要执行失调补偿。校准AWATTOS、BWATTOS和CWATTOS寄存器的步骤如下:
- 以要求期望精度的最小电流、标称电压和功率因数1为电表各相供电(同一相的电流和电压之间的延迟为0°)。
- 由于相电流较小,将WTHR寄存器设置为WTHRMIN = PMAX以提高CF1、CF2和CF3引脚的频率,这将显著缩短校准时间。
- 将COMPMODE寄存器中的位0 (TERMSEL1[0])置1、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置0,从而仅在CF1引脚上提供A相功率。
- 将CFMODE寄存器中的位[2:0] (CF1SEL[2:0])初始化为0,以设置CF1引脚提供与该相总有功功率成比例的信号。
- 读取两个电表的CF频率:要校准的电表(CF1)和基准电表 (CFREF)。多次重复该步骤,按照下式求取算术平均 值。
AWATTOS为以下值的带符号24位十六进制表示:
其中 fS为8 kHz,即ADE7878的采样频率。
将COMPMODE寄存器中的位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置1、位2 (TERMSEL1[2])置0,并且重复上述程序,可以确定BWATTOS。要确定CWATTOS,请将位0 (TERMSEL1[0])置0、位1 (TERMSEL1[1])置0、位2 (TERMSEL1[2])置1,并且重复上述程序。
总/基波无功电能校准
没有必要执行总/基波无功电能校准,因为它们与针对总有功电能计算的增益和失调应相同: AVARGAIN和AFVARGAIN等于AWGAIN,AVAROS和AFVAROS等于 AWATTOS,等等。然而,为了实现出色的精度,仍然可以使用“总有功电能校准”部分所述的步骤校准总/基波无功电能。唯一的区别是电流和电压的功率因数必须为0(同一相的电流与电压之间的相位延迟为90°)。
下面是参考步骤:
- 将CFMODE寄存器中的位[2:0] (CF1SEL[2:0])初始化为001,以配置ADE7878在CF1引脚提供与A相、B相和C相总无功电能成比例的脉冲。若要校准基波无功电能,应将这些位初始为100。
- 使用“WGAIN寄存器的校准”部分所述的程序校准A(F)VARGAIN、B(F)VARGAIN和C(F)VARGAIN寄存器。
- 使用“WATTOS寄存器的校准”部分所述的程序校准A(F)VAROS、B(F)VAROS和C(F)VAROS寄存器。
视在电能校准
VAGAIN寄存器的校准
针对视在电能计算的增益应与针对总有功电能计算的增益相同,即AVAGAIN、BVAGAIN和CVAGAIN分别应与AWGAIN、BWGAIN和CWGAIN相等。然而,为了实现出色的精度,仍然可以使用针对总有功电能校准所述的步骤校准视在电能。下面是参考步骤:
- 将CFMODE寄存器中的位[2:0] (CF1SEL[2:0])初始化为010,以配置ADE7878在CF1引脚分别提供与A相、B相和C相总视在电能成比例的脉冲。
- 使用“WGAIN寄存器的校准”部分所述的程序校准AVAGAIN、BVAGAIN和CVAGAIN寄存器。
视在电能数据路径不含任何失调补偿寄存器,因为该失调是在有效值数据路径中利用xIRMSOS和xVRMSOS寄存器进行补偿。
十六进制计算
计算带符号小数的十六进制表示
ADE7878的许多校准寄存器是24位带符号数值。小于+1的正数x的十六进制表示X为: X = x × 223.
大于−1的负数x的十六进制表示X为: X = 224 + x × 223.
计算THR阈值的十六进制表示
WTHRx、VARTHRx和VATHRx寄存器是48位寄存器,作为两个32位寄存器进行访问:xTHR1和xTHR0(x = W、VAR或VA),各32位寄存器的8个最高有效位(MSB)用0填充。如果知道xTHR,要计算xTHR1,可以使用以下公式:
函数x表示xTHR与 224的除法结果舍入到最近的正整数。
要计算xTHR0,可以使用以下公式:
xTHR0 = xTHR − xTHR1 × 224