一種基于單片機(jī)電壓采樣的功率因數(shù)在線檢測(cè)
單片機(jī)選用 PIC16F877單片機(jī),該芯片是目前集成外圍設(shè)備模塊最多、功能最強(qiáng)的單片機(jī)系列之一 [4]。該單片機(jī)芯片帶有 8通道、10位分辨率的數(shù)模轉(zhuǎn)換器 ADC模塊,并具有 4K的 FLASH程序存儲(chǔ)器。RA端口是一個(gè)只有 6個(gè)引腳的雙向 I/O端口,它在基本輸入/輸出功能的基礎(chǔ)上復(fù)合了 A/D轉(zhuǎn)換器功能,通過端口方向控制器可定義端口引腳為輸入或輸出。RB、RC分別為具有 8個(gè)引腳的輸入/輸出可編程接口,每個(gè)I/O口能提供或吸收 20mA的電流,能直接驅(qū)動(dòng)發(fā)光二極管和固態(tài)繼電器,并有看門狗電路。具有外部電路結(jié)構(gòu)簡(jiǎn)單,使用方便,性能可靠的特點(diǎn)。功率因數(shù)由單片機(jī)直接輸出通過 4位紅色高亮度數(shù)碼管,對(duì)功率因數(shù)進(jìn)行顯示,顯示精度達(dá)到0.001。
3個(gè)檢測(cè)電壓經(jīng)輸入接口 RA的 RA0、RA1、RA2管腳輸入給單片機(jī),首先經(jīng) A/D轉(zhuǎn)換器將功率因數(shù)轉(zhuǎn)換成數(shù)字信號(hào)并進(jìn)行保存,并將經(jīng)轉(zhuǎn)換后的數(shù)據(jù)經(jīng) RC和 RB接口進(jìn)行實(shí)時(shí)顯示。另外還可經(jīng)過串行接口與監(jiān)控系統(tǒng)實(shí)現(xiàn)通信,及時(shí)將線路的功率因數(shù)傳送給監(jiān)控系統(tǒng)。目前常用的串行通信有兩種 [5],一種為 RS-232串行通信,另一種為 RS-485串行通信。但由于 PIC16F877單片機(jī)串行輸入、輸出接口均為 TTL或 CMOS電平,而監(jiān)控系統(tǒng)的 PC機(jī)通常為 RS-232規(guī)范的外部總線標(biāo)準(zhǔn)串行接口,并采用負(fù)邏輯,因而 PIC16F877單片機(jī)的串行輸入、輸出接口電平不匹配,需要進(jìn)行轉(zhuǎn)換,這里采用 MAX232芯片來實(shí)現(xiàn)電平轉(zhuǎn)換的功能。MAX232芯片的外圍電路簡(jiǎn)單,只需外接 4個(gè) 0.1μF電容即可。
4.軟件設(shè)計(jì)[6]
軟件主要任務(wù)是完成 A/D轉(zhuǎn)換、數(shù)據(jù)的運(yùn)算、顯示和通信等,為方便起見,軟件編寫時(shí)采用模塊結(jié)構(gòu),主程序主要包括程序初始化、調(diào)用子程序、顯示等。
本文引用地址:http://www.ex-cimer.com/article/173272.htm
(1)A/D轉(zhuǎn)換子程序
該子程序主要是選擇 A/D輸入通道、選擇 A/D轉(zhuǎn)換時(shí)鐘;設(shè)置 A/D中斷,開放相應(yīng)的中斷使能位;等待所需要的采樣時(shí)間;啟動(dòng)A/D;等待 A/D完成;讀取 A/D轉(zhuǎn)換結(jié)果,并存入指定的存儲(chǔ)單元。
(2) 數(shù)字濾波子程序
為避免在工業(yè)現(xiàn)場(chǎng)產(chǎn)生的干擾噪聲對(duì)功率因數(shù)測(cè)量造成誤差,在軟件設(shè)計(jì)時(shí)增加了數(shù)字濾波。通常數(shù)字濾波方法有多種,這里采用了中值濾波法。即對(duì)電壓 U1、U2、U3連續(xù)采樣 5次,然后將這些采樣值進(jìn)行排序并選取中間值。這種濾波方法對(duì)濾除脈沖性質(zhì)的干擾比較有效。
(3)運(yùn)算子程序
首先將經(jīng)過數(shù)字濾波后的電壓 U1、U2、U3讀入,然后通過乘法指令完成平方運(yùn)算,得到U12 、U22 、U32 ,再經(jīng)減法運(yùn)算、乘法和除法運(yùn)算最后得到
,即得到被測(cè)功率因數(shù)。
通信子程序的任務(wù)是完成串行通信的初始化。PIC16F877單片機(jī)帶有的同步異步接收發(fā)送模塊(USART),它是利用 C口的RC6、RC7兩個(gè)引腳作為二線制的串行通信接口,為使 USART分別工作與發(fā)送和接收狀態(tài),編程時(shí)首先將 USART的接收狀態(tài)和控制寄存器的 bit 7和 TRISC寄存器的 bit 7均置為1,把 TRISC寄存器的 bit 6均置為0。其次,要使 USART工作在異步通信方式,還必須設(shè)置發(fā)送和接收速率即波特率。最后通過對(duì)發(fā)送狀態(tài)和控制寄存器 TXSTA的 bit 4設(shè)置為“0”,從而使 USART工作于異步通信模式。
5.試驗(yàn)及結(jié)果分析
為驗(yàn)證功率因數(shù)在線測(cè)量的精度,作者搭建了如圖 4所示的試驗(yàn)平臺(tái),圖中 COS是準(zhǔn)確等級(jí)為 0.2級(jí)的單相功率因數(shù)表。試驗(yàn)時(shí)分別采用白熾燈、電風(fēng)扇兩種不同負(fù)載作為測(cè)量對(duì)象進(jìn)行了功率因數(shù)測(cè)量試驗(yàn),并將實(shí)驗(yàn)結(jié)果與功率因數(shù)表的讀數(shù)進(jìn)行比較。
評(píng)論