一种基于单片机电压采样的功率因数在线检测
 
 
时间:2010-07-27 来源: 作者:董爱华 李金丽
 
 

1.引言 功率因数是交流电路中的重要参数,是衡量电力系统是否经济运行的一个重要指标,也是供电线路在线监测系统的重要检测量,在功率因数补偿系统中需对其进行实时测量 [1]。因此设计出结构简单、检测精度高的功率因数在线检测电路十分必要。而功率因数的测量一般都要对被测电路的电压、电流进行采样,然后进行处理提取功率因数信号,通常由电压、电流取样电路、整形电路、同步周期测量、相位测量等组成,其缺点是结构较复杂,检修困难,有时会出现功率因数的测量精度不高的问题 [2]。为此,作者基于电压采样,经单片机软件进行分析、计算可得出被测电路的功率因数,通过显示电路显示出功率因数的大小,并由通信接口电路将被测功率因数进行远距离传输。这样既简化功率因数测量电路的结构,提高功率因数的测量精度,又增强了功率因数检测电路的功能。
2.原理分析

通过对电压的提取来检测功率因数的原理如图 1 (a)所示,首先采用 3个高精度的 WB系列数字式交流电压真有效值传感器分别对被测电路的电源电压 U1、附加可调电阻 RP两端电压 U2及负载电压 U3进行检测。可调电阻 RP的作用是使附加电阻尽可能小,以减小对被测负载的影响,又可得到数值适当的电压U2满足功率因数计算的要求。由电路理论 [3],可画出电压 的相量图如图 1(b)所示,则 COSφ即是被测负载的功率因数。

图 1 电压测量原理示意图与电压相量图根据几何学中的余弦定理可得,

由式( 2)可知,只要将电压 U1、U2、U3经过运算后就可求出负载的功率因数 COSφ。为减小测量电路的硬件开销,数据的处理与计算由单片机软件完成。 3.单片机输入输出电路设计 单片机输入输出电路主要是对传感器检测的电压信号需要进行处理,主要包括信号转换、计算、存储及功率因数的显示和数据传输。为此,我们设计出了以单片机及有关部件组成的电路如图 2所示。

电压传感器完成对电压的检测,其中 1-3端用于检测电源电压 U1、1-2端用于检测附加电阻电压 U2、2-3端用于检测负载电压 U3。
单片机选用 PIC16F877单片机,该芯片是目前集成外围设备模块最多、功能最强的单片机系列之一 [4]。该单片机芯片带有 8通道、10位分辨率的数模转换器 ADC模块,并具有 4K的 FLASH程序存储器。RA端口是一个只有 6个引脚的双向 I/O端口,它在基本输入/输出功能的基础上复合了 A/D转换器功能,通过端口方向控制器可定义端口引脚为输入或输出。RB、RC分别为具有 8个引脚的输入/输出可编程接口,每个I/O口能提供或吸收 20mA的电流,能直接驱动发光二极管和固态继电器,并有看门狗电路。具有外部电路结构简单,使用方便,性能可靠的特点。功率因数由单片机直接输出通过 4位红色高亮度数码管,对功率因数进行显示,显示精度达到0.001。
3个检测电压经输入接口 RA的 RA0、RA1、RA2管脚输入给单片机,首先经 A/D转换器将功率因数转换成数字信号并进行保存,并将经转换后的数据经 RC和 RB接口进行实时显示。另外还可经过串行接口与监控系统实现通信,及时将线路的功率因数传送给监控系统。目前常用的串行通信有两种 [5],一种为 RS-232串行通信,另一种为 RS-485串行通信。但由于 PIC16F877单片机串行输入、输出接口均为 TTL或 CMOS电平,而监控系统的 PC机通常为 RS-232规范的外部总线标准串行接口,并采用负逻辑,因而 PIC16F877单片机的串行输入、输出接口电平不匹配,需要进行转换,这里采用 MAX232芯片来实现电平转换的功能。MAX232芯片的外围电路简单,只需外接 4个 0.1μF电容即可。
4.软件设计[6]
软件主要任务是完成 A/D转换、数据的运算、显示和通信等,为方便起见,软件编写时采用模块结构,主程序主要包括程序初始化、调用子程序、显示等。



(1)A/D转换子程序
该子程序主要是选择 A/D输入通道、选择 A/D转换时钟;设置 A/D中断,开放相应的中断使能位;等待所需要的采样时间;启动A/D;等待 A/D完成;读取 A/D转换结果,并存入指定的存储单元。
(2) 数字滤波子程序
为避免在工业现场产生的干扰噪声对功率因数测量造成误差,在软件设计时增加了数字滤波。通常数字滤波方法有多种,这里采用了中值滤波法。即对电压 U1、U2、U3连续采样 5次,然后将这些采样值进行排序并选取中间值。这种滤波方法对滤除脉冲性质的干扰比较有效。
(3)运算子程序
首先将经过数字滤波后的电压 U1、U2、U3读入,然后通过乘法指令完成平方运算,得到U12 、U22 、U32 ,再经减法运算、乘法和除法运算最后得到

,即得到被测功率因数。
通信子程序的任务是完成串行通信的初始化。PIC16F877单片机带有的同步异步接收发送模块(USART),它是利用 C口的RC6、RC7两个引脚作为二线制的串行通信接口,为使 USART分别工作与发送和接收状态,编程时首先将 USART的接收状态和控制寄存器的 bit 7和 TRISC寄存器的 bit 7均置为1,把 TRISC寄存器的 bit 6均置为0。其次,要使 USART工作在异步通信方式,还必须设置发送和接收速率即波特率。最后通过对发送状态和控制寄存器 TXSTA的 bit 4设置为“0”,从而使 USART工作于异步通信模式。
5.试验及结果分析
为验证功率因数在线测量的精度,作者搭建了如图 4所示的试验平台,图中 COS?是准确等级为 0.2级的单相功率因数表。试验时分别采用白炽灯、电风扇两种不同负载作为测量对象进行了功率因数测量试验,并将实验结果与功率因数表的读数进行比较。

图 4 试验电路示意图图中
S1为电源开关,S2为转换开关,当 S2合在下边位置时可得到功率因数表直接读数;当 S2合在上边位置时可得到在线测量电路的功率因数测量值,试验结果与计算值如表 1所示。

由表 1可知,采用测量电路得到的测量值与功率因数表的读数非常接近,说明该测量电路具有较好的测量精度。白炽灯为纯电阻负载,而电风扇为电感性负载,试验表明该功率因数测量电路具有较好通用性,既适用于电阻性负载也适用于感性负载。 5 结束语
基于电压采样来测量功率因数的方案,简化了功率因数在线检测电路的结构、降低了成本,提高了检测精度。并且这种检测功率因数的思路还具有很好的实用价值,因在实际中电压表比功率因数表更为常见,当手头没有功率因数表的情况下,就可用电压表测量相应的 3个电压,通过公式( 2)计算也可得到负载的功率因数,解决了无功率因数表就无法测量功率因数的困难,给功率因数的测量带来了很大的方便。但该测量电路也存在不足之处,测量时需要串接一个附加可调电阻,因而测量显得不太方便,另外还会影响负载的工作,因此在使用时应尽量使阻值调小些以得到适当的电压为宜,通过试验我们认为该电压调到 10V左右即可,这样既能满足测量要求,又不至于对负载造成太大影响。
本文作者创新点:通过对被测电路电压采样,并经过计算即可得到被测电路的功率因数,简化了功率因数测量电路结构,提高了功率因数的测量精度。克服了传统的功率因数测量时需要对电压、电流进行检测,再经过电压、电流波形变换得到电压、电流的相位差,最后才能得到被测电路的功率因数复杂过程。
参考文献
[1]刘新平,李军 . 单片机在电机功率因数测量中的应用 [J].计算机工程与设计.2007,(2):400-401.
[2]张健雄,苏宏英,郑文争 .基于电能计量芯片的功率因数测量仪器[J].电气应用 2006,(4):76-78.
[3]邱关源主编,电路(第四版) [M].北京:高等教育出版社,1999.
[4]段大鹏,江秀臣,孙才新等 .正交分解的介质损耗因数数字测量算法 [J].中国电机工程学报,2008,28(7):127-133.
[5]贺安坤,张京武,陈明 . 基于 RS-485变频器与 PC机串行通信的实现[J].微计算机信息, 2007,10-1: 98-99.
[6]曹月. 基于 PIC16F877单片机的甲烷传感器设计 [J].中国科技信息, 2008(8):128-129.

 

 
编者按:其实测量功率因数有专用IC,如CS5463等,精度高、功能多、使用简便。请看:http://www.mcufan.com/cs5463.htm
                                        www.mcufan.com
                                                      收集、整理