通过PIC16F877单片机的电压采样进行功率因数测量电路的设计

描述

 1.引言

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

  2.原理分析

  通过对电压的提取来检测功率因数的原理如图 1 (a)所示,首先采用 3个高精度的 WB系列数字式交流电压真有效值传感器分别对被测电路的电源电压 U1、附加可调电阻 RP两端电压 U2及负载电压 U3进行检测。可调电阻 RP的作用是使附加电阻尽可能小,以减小对被测负载的影响,又可得到数值适当的电压U2满足功率因数计算的要求。由电路理论,可画出电压 U_1 、U_2 和U_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左右即可,这样既能满足测量要求,又不至于对负载造成太大影响。

  


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分