《利用FPGA芯片EP1C3T144I-7和模数转换器提高总功率测量精度.docx》由会员分享,可在线阅读,更多相关《利用FPGA芯片EP1C3T144I-7和模数转换器提高总功率测量精度.docx(6页珍藏版)》请在第一文库网上搜索。
1、利用FPGA芯片EP1C3T144I-7和模数转换器提高总功率测量精度1、引言数主信号处理是过去四十年以来快速发展起来的科学和工程领域,这种快速发展是数字计算机技术和集成电路技术迅猛发展的结果。利用数字信号处理方法实现的电能测量与传统的机电式仪表测量相比具有精度高、可以同时实现多个参数测量以及使用方便等优点。传统的机电式电能表不能实现谐波功率的测量,但是它得到了静止式交流电能表国际标准(IEC-1268)的支持。这个标准在基波频率下定义了有功电量和无功电量的计量,这就意味着是否包含谐波成分并不是强制性的。基于上述标准,常用来完成功率测量的方法包括时延法、公式法和积分法。这些方法中的时延法非常适
2、合利用数字系统来实现。这时,有功功率和无功功率可以被分别由下面公式来表达:P=yJ0,)i(t)df(1)1TT0=亍1入“f+彳Hr(2)式中*T供电电Ik/电流的蔡波UWu(r)负核电压:i(t)一如1电波.式(2)中.把一一电波i,波形九粒波频率下移相90,这可以通过调修读取对应的模拟数字轧换结果四分之他波周期的采样点数即可实现一在完成有功功率和无功功至测量的基枇上,总功率可以通过下式计算,POJVERQ2(3)2、利用微控制器实现电能参数的计算当待测的交流电压和电流信号通过模拟/数字转换器转换为相应的数字量以后,微控制器可以完成有功功率、无功功率以及总功率的计算。由于式(1)和(2)的
3、计算与信号周期相关,当电源周期发生变化时,有功功率和无功功率的计算将产生误差。如果能测量信号周期,并根据其变化对计算进行调整则可以减少,或者消除计算误差。这里采用MCS51兼容芯片和口开发软件完成市电周期的测量以及各种参数的计算。待测信号的周期测量通过单21机片内的定时/计数器实现。定时/计数器工作在定时模式,16位计数方式。计数的起止由正弦波转换获得的方波信号控制,当第一个方波前沿到来时启动计数,紧接着的方波前沿到来时停止计数,这样在计数器中的数据即为以单片机工作周期为单位的待测信号的周期值。设计中单片机的团频率选为12MHz,单片机工作周期,也就是周期测量的时间分辨率,为1us。定时/计数
4、器的16位计数方式的计数最大值为65535,市电周期为20ms,因此它直接满足周期测量的范围要求。Kei1开发软件支持MCS51系列芯片的汇编语言和C语言开发,并支持汇编语言和C语言的混合编程。Kei1Cx51支持的数据类型包括有浮点(f1oat)数据类型,它包括4字节(32位),这使得进行乘加运算时即保持足够的精度,也提供足够的动态范围。Kei1Cx51支持浮点数据类型的加、减、乘和除等算术运算,同时也提供了包括乘方运算、开方运算等运算库的支持,这些使得完成式(1)、(2)和(3)描述的计算非常方便。完成一次电压和电流信号的模拟/数字转换需要一定的时间,由实测的信号周期和这个时间数据就可以获
5、得实现积分运算需要完成的乘加运算次数。由于进行乘加运算次数只能为整数,还有如果电压与电流数据不能同时采集,而只能分时采集之间而存在的时间间隔,这些都将对积分运算的精度产生影响。3、数据分析在市电周期是模拟/数字转换需要的时间的整数倍数,同时也不考虑电压和电流信号进行模拟/数字转换之间的时间差,即同时完成电压信号和电流信号的采样,这时在电压信号与电流信号之间存在相位差时有功功率和无功功率的模拟测量数据如表1所示。表1的测量条件为:待测信号频率50Hz,一个信号周期的采样点为IoO0,模拟/数字转换器的分辨率为8位,电压幅度数据100单位,电流幅度数据100单位。表1电网电选与电源之间的I工化时功
6、率模拟测量值电陆与电流之间相位Tt夜)01234仃功功率理论100009998999499869976育功功率测Eff1100009998999499869976有功功率测或绝对误Z00000有功功率测鼠相对误差00000无功功率理论值0174.5349.0523.4697.6无功功率测阻值-0.01311174.5349.0523.3697.6无功功率测且绝对误娶-0.01311000无功功率测且相内误M00-OJA9C当市电频率偏离标称的50Hz,例如市电频率稍微升高,也就是信号周期稍微下降,由于实现积分运算需要完成的乘加运算次数必须为整数,这时信号周期与积分时间将产生误差。当这个误差达到
7、最大时,即完成一次模拟/数字转换所需要的时间,在不考虑电压和电流信号进行模拟/数字转换之间的时间差的情况下,其它测量条件同表1这时电压信号与电流信号之间存在相位差时各种功率的模拟测量数据如表2所示。表2电网电压与电流之间的相位差变化时功率模拟测坦误茎值电压与电流之间相位差(度)01234有功功淬理论值100009998999499869976仃功功*测吊0999099SS998499769966为功功率测量葩对误茎-10-10-10-10-10有功功柏量相对娓强-0,0010-00010-0.00!0-0.0010-0.0010无功功率理论值0174.5349.0523.4697.6E动功率测
8、量位-0.013091743348.6522.8696.9无功功卒测量绝对误年-0.01309-0.2-0.4-71.-JJ;H11v-0.0011-0.0011x1J.C3第许多微控制器具有多路模拟信号输入通道和在片模拟/数字转换器,例如AD1公司的ADuC8xx和I1公司的TMS320C28x系列,但是它们的内部是通过一个多路选通电路,再利用一个模块完成模拟/数字转换。如果用这样的芯片完成电压和电流信号的数据采集,那么在两者之间不可避免地产生时间差。表3给出电压和电流信号进行模拟/数字转换之间存在IOus时间差,但信号周期是模拟/数字转换需要的时间的整数倍数,这时在电压信号与电流信号之间存
9、在相位差时各种功率的模拟测量数据。表3的其它测量条件同表I0表3电网电压与电流之间的相曲圣变化时功率模拟测度值电压叮电流之间相位,(度)01234U-1Ji卜论值100009998999499869976hJ1一100009998999399859973郁功为阚J绝对误爰00-1-1-3行动功事测盘相对误?00-0.000010-0.000010-0.000030无功功率理论值0174.5349.0523.4697.6无功功率测M也31.40205.9380.4554.7728.931.4031.431.431331.3无功功率刈闺相对误10.17990.08997/10G.;7J由表1可以看
10、出,本文提出的有功功率和无功功率的测量方法具有很好的理论测量精度。表2显示电网频率发生变化对测量将会产生影响,但是影响很小3。最大的测量误差,尤其是无功功率的测量,来自于电压和电流信号进行模拟/数字转换之间的时间差,这点如表3所示。4、利用屿克服电压和电流信号之间的测量时间差使用微控制器控制2个独立工作的模拟/数字转换器可以克服电压信号和电流信号测量之间的时间差,利用扩展的数据存储器可以存储测量数据,但是这时所面临的问题是需要在一个市电周期的时间内同时完成2路多次模拟/数字转换,并需要把获得的数据存入数据存储器。可编程逻辑器件的并行处理能力使其在工作速度方面优于微控制器,由于计算机一次只能执行
11、一条指令,因此它的主要局限性是工作速度,采用硬件方案设计的数字系统总是比软件方案的数字系统的工作速度快。在本设计中,FPGA完成的工作包括控制2片T1C0820模拟/数字转换器的控制、提供数据存储所需要的存储单元以及实现它与AT89S51微控制器之间的数据传输接口。FPGA芯片采用A1TERA公司的EP1C3T144I-70T1CO820是T1公司生产的8位分辨率,转换时间为2.5us,具有并行数据接口的模拟/数字转换器,它满足本次设计的要求6O利用VHD1语言实现单片T1CO820模拟/数字转换器的控制代码。IF(resetadc=0)THENcurrent_state_adc=0;wr_t
12、1c0820=1;rd_t1c0820=i1f;E1SIF(c1k_sysEVENTANDc1k_sys=1)CASEcurrent_state_adcISWHEN0=wr_t1c0820=0;rd_t1c0820二0;current_state_adc二WHEN1=wr_t1c0820二0;current_state_adc二WHEN2:wr_t1c0820二0;1;二1;rd_t1c08202;=1;rd_t1c0820e1k_ramin=0;THEN二1;c1k_ram_in二1i;c1k_ramin=1;c1k_ram_inIF(int_t1c0820=,0)THENcurrent_s
13、tate_adc=3;E1SEcurrentstateadc=2;ENDIF;WHEN3:wr_t1c0820一;current_state_adc二WHEN4=wr_t1c0820fIitcurrent_state_adc二WHEN5=wr_t1c0820,Otcurrent_state_adc二WHEN6二wr_t1c08200current_state_adc二ENDCASE;二1;rd_t1c08204;二1;rd_t1c08205;=1;rd_t1c08206;二1;rd_t1c08206;=0;c1k_ram_in二0;c1k_ram_in二1;c1k_ram_in二1;c1k_r
14、am_inENDIF;FPGA芯片控制2片T1C0820模拟/数字转换器的工作,分别实现电压信号和电流信号的采样。模拟/数字转换器复位信号reset_adc同时送到2片T1C0820的控制代码,实现电压信号和电流信号的同步采样。模拟/数字转换过程完成之后,T1CO820产生中断信号int1c0820,在这个信号控制下,上面代码产生数据存储器写入时钟CIkramin,把模拟/数字转换结果写入对应的数据存储器。存储模拟/数字转换结果的数据存储器利用QUARTUSII可编程逻辑器件开发软件提供的可变参数模块1PM_RAM_DP来实现。电压信号和电流信号具有各自的数据存储器。数据存储器具有独立的读写地址线、数据线、使能信号以及时钟信号。FPGA芯片向微控制器的数据传送通过后者的数据总线实现。这部分也可以采用有限状态机模型进行编写。在完成上述各个部分的设计以后,生成它们的符号文件,再利用QUARTUSH可编程逻辑器件开发软件提供的原理图输入方式把所有符号连接起来实现完整的系统。该系统占用EP1C3T144I-7芯片291