当前位置:文档之家› 最新简易电能质量监测装置报告

最新简易电能质量监测装置报告

题目: 简易电能质量监测装置论文编号:参赛学校:参赛学生:指导教师:目录引言 (1)1方案论证与设计 (1)2原理分析与硬件电路图 (2)2.1升压部分电路图 (2)2.2整形部分电路图 (3)3软件设计与流程 (4)3.1理论分析与计算: (4)3.2程序流程图: (5)3.3主要程序分析: (6)3.3.1频率测量函数: (6)3.3.2相位差测量函数: (6)3.3.3ADC采集函数: (7)3.3.4计算函数:.............................. 错误!未定义书签。

4系统测试与误差分析 (10)4.1测试环境 (10)4.2测试仪器 (10)4.3测试方法.................................. 错误!未定义书签。

4.4测试结果和分析............................ 错误!未定义书签。

4.5误差产生原因分析 (11)5总结 (12)参考文献 (12)简易电能质量监测装置摘要:本简易电能质量监测装置由单片机主控制模块,电源模块、信号变换与处理模块和数据转换模块等构成,由c8051f020为主控单片机,它能准确的完成对一路交流工频电(有失真的正弦波)的频率、电压有效值、电流有效值、有功功率、无功功率、功率因数和谐波占有率的进行测量。

系统调试时,用函数信号发生器输出正弦电压信号作为交流信号的电压信号输入,此电压信号经过自制的移相电路移相后代表同一路信号的电流信号输入。

关键字:电能质量单片机工频交流电移相电路引言随着相位测量技术广泛应用于国防、科研、生产等各个领域,对相位测量的要求也逐步向高精度、高智能化方向发展,在低频范围内,相位测量在电力、机械等部门有着尤其重要的意义,对于电能质量监测,用传统的模拟指针式仪表显然不能够满足所需的精度要求,随着电子技术以及微机技术的发展,数字式仪表因其高精度的测量分辨率以及高度的智能化、直观化的特点得到越来越广泛的应用。

基于这些要求,我们设计并制作了基于c8051f020单片机为核心的简易电能质量监测装置。

1方案论证与设计全系统用c8051f020单片机作全局控制,从信号发生器模拟工频交流电(正弦波信号),通过硬件比较器,模拟出方波电压、电流信号,再通过PCA捕捉两个波形,计算出两波形的相位差以及频率。

同时,另输出电压和电流的正弦信号,通过PCA 捕捉波形计算电压、电流有效值以及在lcd12864上显示出电压和电流的波形曲线。

然后再根据有效值和相位再进行计算有功功率P、无功功率Q、视在功率S及功率因数PF。

在lcd1602上显示。

本系统的优点在于成本低廉,减少硬件,并满足电压输出精度。

2原理分析与硬件电路图根据题目要求,通过升压、移向电路,输出电压、电流的正弦信号,再通过单片机的ADC对模拟信号进行每个周期64个点的采样,通过ADC转换成数字信号后通过单片机的运算,计算出有效值,并把每周期64个点的曲线显示在液晶显示屏LCD12864上。

同时,通过整形电路把电压、电流的正弦型号整形为方波信号,然后接入单片机不同的i\o口进行相位和频率的测量,并计算尺相位差。

2.2升压移相部分电路图2.2整形部分电路图3软件设计与流程3.1理论分析与计算根据题目要求,通过硬件中的移相电路和整形电路,将工频交流电信号移相成电流和电压正弦型号,整形为电流和电压的等效方波信号,再通过c8051f020 AD的采集算出相位差和频率,再通过相位差和频率计算出电流电压的有功功率、无功功率、视在功率等参数,并记录它们的最大值、最小值。

应用取点法,采集波形显示的相应点,在lcd12864上显示出来。

具体的公式如下面所示频率f: f=1/T T=50HZ功率因数PF:PF=P/S有功功率P:P=IUCOSφ (W) △t波形相位差无功功率Q: Q=I*U*sinφ (var)视在功率S:S=UI (VA)谐波的含有率: HRUn =Un/U1*100% HRIn=In/I1*100%谐波的有效值:傅里叶函数分析谐波公式: u(wt)=a0+∑(ancosnwt+bnsinnwt)3.2程序流程图3.3主要程序分析3.3.1频率测量函数通过定时器上升沿触发启动定时器0开始计数、定时器1开始计时,通过几下接下来的10个周期所用的时间,计算出频率,此方法经过验证精确度已经达到了题目的拓展部分的要求,函数程序如下:void fre(void){TR1=1;while(TL1<1);TR0=1;while(TL1<11);TR0=0;TR1=0;temp=counter0*65536+TH0*256+TL0;temp/=24002864.18747;freq=10/temp;cycle=1/freq;}3.3.2相位差测量函数通过PCA0的中断计算电压和电流整形后的方波信号上升沿的时差,然后通过函数计算出两个信号的相位差供下面计算使用:void PCA0(void) interrupt 9{if(CF==1){CF=0;counter2++;}if(CCF0==1){CCF0=0;temp1=counter2*65536+PCA0CPH0*256+PCA0CPL0;}if(CCF1==1){CCF1=0;temp2=counter2*65536+PCA0CPH1*256+PCA0CPL1;}}/*********************************************************************** ************************************************************************/ void phase(void){temp=(temp1-temp2)/24002864.18747;phase_dif=(temp*freq*2-0.001)*3.1415926;//CR=0;}3.3.3ADC采集函数通过定时器2的工作方式的选择,捕捉电压、电流的正弦波信号,每个周期采集64个点,并计算出最大值最小值。

void ADC0_Convert (unsigned char ain0_i){double vmax,vmin,imax,imin,vpt=0.0,ipt=0.0;unsigned char i;temp3=0.0,temp4=0.0;TR2=1;for(i=0;i<63;i++){AMX0SL = ain0_i;AD0INT = 0; // 清除ADC转换完成标志while (AD0INT==0); //等待ADC0转换完成,这里也可以采用中断的方式读取//if(ain0_i==2){adc0_buff0[i] = ADC0H;adc0_buff0[i] = adc0_buff0[i]*256 + ADC0L;ain0_i+=1;}AMX0SL = ain0_i;AD0INT = 0; // 清除ADC转换完成标志while (AD0INT==0); //等待ADC0转换完成,这里也可以采用中断的方式读取//if(ain0_i==3){adc0_buff1[i] = ADC0H;adc0_buff1[i] = adc0_buff1[i]*256 + ADC0L; //读取ADC0的值ain0_i-=1;}}TR2=0;vmax=adc0_buff0[0];vmin=vmax;imax=adc0_buff1[0];imin=imax;for(i=0;i<63;i++){temp3=(adc0_buff0[i]/4095.0*VREF0-1.50)*(adc0_buff0[i]/4095.0*VREF0-1.50);if(vmax<adc0_buff0[i]) vmax=adc0_buff0[i];if(vmin>adc0_buff0[i]) vmin=adc0_buff0[i];vpt+=temp3;temp4=(adc0_buff1[i]/4095.0*VREF0-1.50)*(adc0_buff1[i]/4095.0*VREF0-1.50);if(imax<adc0_buff1[i]) imax=adc0_buff1[i];if(imin>adc0_buff1[i]) imin=adc0_buff1[i];ipt+=temp4;}U=sqrt(vpt/64);Uma=vmax/4095.0*VREF0-1.50;Umi=vmin/4095.0*VREF0-1.50;I=sqrt(ipt/64);Ima=imax/4095.0*VREF0-1.50;Imi=imin/4095.0*VREF0-1.50;}3.3.4计算函数通过上面得到的频率、相位差等数据计算电压有效值、电流有效值、有功功率、无功功率、功率因数等。

void power_count(void){unsigned char i;double temp4=0.0,temp5=0.0;ptemp=U*I;pa=(adc0_buff0[0]/4095.0*VREF0-1.50)*(adc0_buff1[0]/4095.0*VREF0-1.50);pi=pa;Sma=pa*pa*cos(phase_dif)*cos(phase_dif)+pa*pa*sin(phase_dif)*sin(phase_dif);Smi=Sma;for(i=0;i<63;i++){temp3=(adc0_buff0[i]/4095.0*VREF0-1.50)*(adc0_buff1[i]/4095.0*VREF0-1.50);temp4=temp3*cos(phase_dif);temp5=temp3*sin(phase_dif);if(pa<temp3) pa=temp3;if(pi>temp3) pi=temp3;if(Sma<(temp4*temp4+temp5*temp5))Sma=(temp4*temp4+temp5*temp5);if(Smi>(temp4*temp4+temp5*temp5)) Smi=(temp4*temp4+temp5*temp5);}}4系统测试与误差分析4.1测试环境时间:2011年7月26日温度:28C4.2测试仪器(1)多功能数字万用表(2)数字示波器(3)c8051f020单片机实验板(4)自制移相、整形硬件电路(6)函数发生器4.3测试方法用函数型号发生器产生正弦信号作为工频交流电的电压信号波输入,此电压信号经移相电路移相后作为同一路电路的电流信号输入,经采样送单片机处理后显示在lcd12864上,将显示各数值同函数信号发生器的输出值和示波器的数值进行比较,计算出各数值的误差值。

相关主题