基于单片机电压采样的功率因数在线检测

时间:2012-10-16来源:网络

电压传感器完成对电压的检测,其中 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工作于异步通信模式。

1 2 3

关键词: 因数 在线 检测 功率 采样 单片机 电压 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版