新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)電壓采樣的功率因數(shù)在線檢測(cè)

        基于單片機(jī)電壓采樣的功率因數(shù)在線檢測(cè)

        作者: 時(shí)間:2012-10-16 來(lái)源:網(wǎng)絡(luò) 收藏

        傳感器完成對(duì),其中 1-3端用于電源 U1、1-2端用于附加電阻電壓 U2、2-3端用于檢測(cè)負(fù)載電壓 U3。

        選用 PIC16F877,該芯片是目前集成外圍設(shè)備模塊最多、功能最強(qiáng)的系列之一 [4]。該單片機(jī)芯片帶有 8通道、10位分辨率的數(shù)模轉(zhuǎn)換器 ADC模塊,并具有 4K的 FLASH程序存儲(chǔ)器。RA端口是一個(gè)只有 6個(gè)引腳的雙向 I/O端口,它在基本輸入/輸出功能的基礎(chǔ)上復(fù)合了 A/D轉(zhuǎn)換器功能,通過(guò)端口方向控制器可定義端口引腳為輸入或輸出。RB、RC分別為具有 8個(gè)引腳的輸入/輸出可編程接口,每個(gè)I/O口能提供或吸收 20mA的電流,能直接驅(qū)動(dòng)發(fā)光二極管和固態(tài)繼電器,并有看門狗電路。具有外部電路結(jié)構(gòu)簡(jiǎn)單,使用方便,性能可靠的特點(diǎn)。由單片機(jī)直接輸出通過(guò) 4位紅色高亮度數(shù)碼管,對(duì)進(jìn)行顯示,顯示精度達(dá)到0.001。

        3個(gè)檢測(cè)電壓經(jīng)輸入接口 RA的 RA0、RA1、RA2管腳輸入給單片機(jī),首先經(jīng) A/D轉(zhuǎn)換器將轉(zhuǎn)換成數(shù)字信號(hào)并進(jìn)行保存,并將經(jīng)轉(zhuǎn)換后的數(shù)據(jù)經(jīng) RC和 RB接口進(jìn)行實(shí)時(shí)顯示。另外還可經(jīng)過(guò)串行接口與監(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芯片來(lái)實(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)用子程序、顯示等。

        (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)過(guò)數(shù)字濾波后的電壓 U1、U2、U3讀入,然后通過(guò)乘法指令完成平方運(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ā)送和接收速率即波特率。最后通過(guò)對(duì)發(fā)送狀態(tài)和控制寄存器 TXSTA的 bit 4設(shè)置為“0”,從而使 USART工作于異步通信模式。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 龙岩市| 平安县| 衡东县| 屏东市| 通州区| 扎鲁特旗| 彩票| 乐昌市| 广西| 辽阳县| 东山县| 彭山县| 武川县| 衢州市| 宝丰县| 庆云县| 遂川县| 郓城县| 贵南县| 贵德县| 资中县| 三台县| 远安县| 荆门市| 包头市| 高尔夫| 钟山县| 三亚市| 无锡市| 调兵山市| 织金县| 敦化市| 新竹县| 临海市| 屏东县| 芜湖县| 怀化市| 迭部县| 海伦市| 民县| 阳东县|