标签:接口 了解 解决 寄存器 代码 表示 lazy 需要 com
l 硬件参数:
电流 |
电压 |
板载互感器变比: 2000 测量采样电阻: 99.8Ω |
高压侧电阻: 220KΩ 测量采样电阻: 0.1 KΩ |
l 标定环境:
电压(有效值): 220V
电流(有效值): 2A
功率因数: 0.5
a) 设定AIGAIN、BIGAIN、CIGAIN值为0,亦即关闭电流增益
b) 读取当前三项AIRMS、CIRMS、CIRMS(注意要稳定之后的数据)
c) 计算需要的增益值(24位增益,注意数据的处理,尤其是负数)
d) 设置AIGAIN、BIGAIN、CIGAIN
e) 标定完成
a) 设定AVGAIN、BVGAIN、CVGAIN值为0,亦即关闭电压增益
b) 读取当前三项AVRMS、CVRMS、CVRMS(注意要稳定之后的数据)
c) 计算需要的增益值(24位增益,注意数据的处理,尤其是负数)
d) 设置AVGAIN、BVGAIN、CVGAIN
e) 标定完成
其中,Φ表示电压与电流间的角度(单位为度)。
确定误差度数之后,可利用以下公式来确定所需的相位补偿:
相位补偿 = abs (误差 / 相位分辨率)
相位分辨率 = 360 × f / 1.024M
其中:f是线路频率
相位校准之后,需要建立Wh/LSB常数,该值是码值转换为电度值的系数,也是功率校准的参数。
计算公式如上,在7880的初始化代码中,设置线路周期为100(输入信号频率为50Hz),设定过零检测相(LCYCMODE寄存器),那么可确定累加时间为1s(0.5 ×(1/50)×100),
此时在过零中断中读取稳定后的xWATTHR,即可计算出Wh/LSB:
Wh/LSB = (220V × 2A × cos(60) × 1s) / xWATTHR / 3600
为了解决计算Wh/LSB过程中产生的误差,需要进行功率增益校准,基本公式如下:
预期值为:
实际值就是在Wh/LSB计算中读取的数值。
实际的电表校准中,可以使用Wh/LSB的值计算APGAIN,同时预留Wh/LSB配置接口。也可以把功率校准作为计算Wh/LSB的一部分。
要保存计算Wh/LSB过程中读到的xWATTHR寄存器的值(实际值),该值是后期计算的重要参数,尤其是需要手动修改Wh/LSB的场合。
标签:接口 了解 解决 寄存器 代码 表示 lazy 需要 com
原文地址:https://www.cnblogs.com/linux-farmer/p/13234547.html