威廉希尔官方网站
采用三相三线接法,B
相电压作为参考地。信号源输入A
、B
、C
三相电压,相位分别为0
,240
,120
度,相电压44V
。输入A
、B
、C
三相电流,相位分别为0
,240
,120
度,相电流5A
。根据ADE7880
手册,B
相作为参考地,其有功无功视在功率均为0
。
现有如下几个疑惑:
1、A相有功功率P11为0.3292kW,B相有功功率P12为-0.003kW,C相有功功率P13为-0.3326 kW。采用仪器3194测得P1为0.329 kW,P2为0,P3为0.334 kW。现C相有功功率符号与真实值相反。有功功率符号是直接从AWATT有符号寄存器数据中读取还是需要特地从PHSIGN寄存器读取?目前我是从AWATT有符号寄存器中读取的。电流传感器也是注意了接线方式,校验了同名端的。现没有用示波器查看CB线电压与C相电流相位,总有功功率P=P11-P13。
这样处理有什么问题?
2、将COMPMODE寄存器的位[10:9] (ANGLESEL[1:0])设置为00,测量的是同一相位的电压和电流之间的延迟。我分别从ANGLE0、ANGLE1、ANGLE2寄存器读数据处理后分别为30、90、120。我一开始的理解是,ABC三相的相电压分别与相电流同相位,这三个值应该是差不多大小。我将COMPMODE寄存器的位[10:9] (ANGLESEL[1:0])设置为01时,测量的是相电压和相电压之间的延迟, ANGLE0、ANGLE1、ANGLE2寄存器读出数据处理后分别为300、0、0。而将COMPMODE寄存器的位[10:9] (ANGLESEL[1:0])设置为10时,测量的是相电流和相电流之间的延迟,ANGLE0、ANGLE1、ANGLE2寄存器读出数据处理后分别为60、0、0。
如何通过ANGLE0、ANGLE1、ANGLE2寄存器读出的数据来判断相序,正确数据应该是什么?
3、根据ADE7880手册,B相作为参考地,B相视在功率应为0。但从BVA寄存器读出的值处理后发现,B相视在功率=A相视在功率=C相视在功率。是否我在计算总视在功率时,不需要将B相视在功率相加。现总视在功率S=(S1+S2+S3)/1.731。
这样计算是否正确?
4、电压电流功率的计算及校准问题,以电压计算为例。
#define VFSAB 691 //A相线电压 IFS=3766572*76.45/416585=691.22 (76.45为信号源输入线电压,416585是从AVRMS寄存器读取的数值。VFSAB用于计算电压有效值等参数)
初始化时:
data[0]=0x00;
data[1]=0x00;
data[2]=0x00;
data[3]=0x00;
BSP_ADE78xx_WriteSPI(APHCAL,&data[0],2);//A相相位校准
BSP_ADE78xx_WriteSPI(BPHCAL,&data[0],2);//B相相位校准
BSP_ADE78xx_WriteSPI(CPHCAL,&data[0],2);//C相相位校准
BSP_ADE78xx_WriteSPI(AVGAIN,&data[0],4);
BSP_ADE78xx_WriteSPI(BVGAIN,&data[0],4);
BSP_ADE78xx_WriteSPI(CVGAIN,&data[0],4);
BSP_ADE78xx_WriteSPI(AVRMSOS,&data[0],4);
BSP_ADE78xx_WriteSPI(BVRMSOS,&data[0],4);
BSP_ADE78xx_WriteSPI(CVRMSOS,&data[0],4);
读取并计算数据:
if(BSP_ADE78xx_ReadSPI(AVRMS,&readbyte[0],4))//AVRMS AB线电压有效值
{
tt=((unsigned long)readbyte[1]*65536)+((unsigned long)readbyte[2]*256)+readbyte[3];
}
Value=((unsigned long)(tt/36*VFSAB)*10/104627); //36*104627=3766572
这样计算电压、电流是否正确?
请问常规方法如何校准计算电压电流功率等参数?