1 PIC系列單片機特點
PIC18F6585是由Microchip公司開發(fā)、研制和生產(chǎn)的PIC系列單片機,該系列單片機的技術(shù)性能具有以下優(yōu)點[3]:
(1)哈佛總線結(jié)構(gòu)。PIC系列單片機在架構(gòu)上采用了與眾不同的哈佛總線結(jié)構(gòu),在芯片內(nèi)部將數(shù)據(jù)總線和指令總線分離,并且采用不同的寬度,便于實現(xiàn)指令提取、流水作業(yè)和全部指令的單字節(jié)化、單周期化,從而有利于提高CPU執(zhí)行指令的速度,并能確保數(shù)據(jù)的安全性。
(2)精簡指令集(RISC)技術(shù)。指令系統(tǒng)只有35條指令,容易學(xué)習(xí)、記憶、理解,也給程序的編寫、閱讀、調(diào)試、修改、交流帶來了極大的便利,可謂易學(xué)好用。
(3)尋址方式簡單。只有寄存器間接尋址、立即數(shù)尋址、直接尋址和位尋址4種尋址方式,比較容易理解與掌握。
(4)運行速度高。由于采用了哈佛總線結(jié)構(gòu),指令的讀取和執(zhí)行采用流水作業(yè)方式,使得運行速度大大提高。PIC系列單片機的運行速度遠(yuǎn)遠(yuǎn)高于其他相同檔次的單片機,在所有8 bit單片機中,PIC系列單片機是目前世界上運算速度最快的品種之一。
(5)功耗極低。其I/O口驅(qū)動負(fù)載能力較強,每個端口輸入和輸出電流的最大值可達(dá)25 mA,可直接驅(qū)動LED、光耦或微型繼電器。
(6) PIC18F6585芯片具有ADC、I2C和SPI串行總線端口等,并有外接電路,簡潔、開發(fā)方便,可用C語言編程,程序保密性強等特點。
2 繼電器硬件結(jié)構(gòu)與工作原理
(1)硬件結(jié)構(gòu)
漏電繼電器的CPU中采用了PIC18F6585芯片,漏電信號的檢測由零序電流互感器來完成,它可將檢測到的被保護線路的漏電電流轉(zhuǎn)換成毫伏級的交流電壓信號,再通過信號整流、放大和濾波得到一個直流電壓,配合相應(yīng)的控制電路來驅(qū)動執(zhí)行回路,以實現(xiàn)切斷保護線路供電電源的控制目的。實現(xiàn)過程是:信號檢測→濾波→二級放大→控制電路→驅(qū)動執(zhí)行回路→切斷被保護線路電源,其硬件結(jié)構(gòu)框圖如圖1所示。
圖1中各部分功能分別為:
①零序電流互感器回路。本裝置的電流互感器采用高性能的坡莫合金作為鐵芯的磁性材料,以確保電流互感器輸出在一定的范圍內(nèi)具有良好的線性。
②信號處理。影響系統(tǒng)可靠性的因素主要是線路工頻奇數(shù)倍諧波電流,故本電路采用一組有源低通濾波器,該濾波器主要濾去奇次諧波交流分量,然后進行交直流變換處理,以確保漏電繼電器的正確動作。
?、跜PU。這是本裝置的核心部件,PIC18F6585主要包括FLASHROM、RAM、TM2RX、A/D轉(zhuǎn)換、串行通信等,是整個系統(tǒng)的中央處理單元,系統(tǒng)的取指、判斷、執(zhí)行都由它完成。其中、A/D轉(zhuǎn)換器為10 bit轉(zhuǎn)換器,20 MHz主頻時,其一次轉(zhuǎn)換時間為16μs;FlashROM、RAM為存儲空間,用來存放程序和數(shù)據(jù)。
?、軘?shù)碼顯示及操作回路。數(shù)碼顯示用來顯示線路漏電流和系統(tǒng)跳閘的延時時間,主要由數(shù)碼驅(qū)動電路和LED數(shù)顯構(gòu)成,執(zhí)行回路主要由光電隔離及繼電器驅(qū)動電路構(gòu)成。
?、荽型ㄐ沤涌陔娐?。采用MAXIM公司的MAX422擴展出串行通信口。
?、奕藱C接口電路。人機接口電路主要完成保護整定值及系統(tǒng)延時跳閘時間的設(shè)定。
?、唠娫措娐?。為單片機系統(tǒng)提供工作電源,其中有一組為隔離電源。
(2)繼電器工作原理
系統(tǒng)開機運行后,系統(tǒng)設(shè)置TMR0定時中斷,每2 ms產(chǎn)生一次定時中斷信號,單片機響應(yīng)這個中斷信號,轉(zhuǎn)入中斷處理子程序。中斷處理子程序判斷是RB口中斷,還是TMR0中斷,然后分別調(diào)用定時中斷A/D處理子程序或鍵盤處理子程序。系統(tǒng)把A/D轉(zhuǎn)換結(jié)果與預(yù)定的整定值比較,如果大于整定值,則進行跳閘、事故報警等處理。所有結(jié)果都送主程序顯示。
3 軟件設(shè)計
3.1 軟件設(shè)計流程圖
本單片機系統(tǒng)采用20 MHz主頻,每1 ms進行一次定時中斷處理,軟件結(jié)構(gòu)簡單。軟件設(shè)計包含主程序、RB口中斷服務(wù)子程序、定時中服務(wù)子程序、A/D轉(zhuǎn)換子程序、數(shù)據(jù)處理子程序、顯示子程序,采用C語言進行設(shè)計。
(1)系統(tǒng)主程序。主要完成系統(tǒng)的端口、定時器、A/D轉(zhuǎn)換器、常量、變量及其他量的初始化工作,同時完成漏電流循環(huán)顯示工作。主程序流程圖如圖2所示。
(2)中斷服務(wù)子程序。主要根據(jù)INTCON寄存器的T0IF位的數(shù)據(jù)判斷TMR0是否溢出,如溢出則轉(zhuǎn)入TMR0中斷入口子程序;根據(jù)INTCON寄存器的RBIF位的數(shù)據(jù)判斷RB是否有輸入變化,如變化則轉(zhuǎn)入鍵盤中斷入口子程序。中斷服務(wù)程序流程如圖3所示。[!--empirenews.page--]
(3)定時中斷服務(wù)子程序及A/D轉(zhuǎn)換子程序。主要完成A/D轉(zhuǎn)換任務(wù),1 ms進行1次處理,每回連續(xù)6次采樣,采樣結(jié)果存入指定內(nèi)存單元。定時中斷服務(wù)子程序流程如圖4所示,A/D轉(zhuǎn)換子程序流程如圖5所示。
(4)數(shù)據(jù)處理子程序。主要完成數(shù)字濾波,提高系統(tǒng)抗干擾性能,求A/D轉(zhuǎn)換數(shù)據(jù)平均值,進行數(shù)據(jù)比較,確定是否跳閘與報警等。數(shù)據(jù)處理子程序流程如圖6所示。
(5)鍵盤處理子程序。主要為人機對話提供一個通道,用于設(shè)置保護的保護整定值、延時跳閘時間等。
3.2 程序設(shè)計
程序采用C語言設(shè)計,下面給出A/D轉(zhuǎn)換子程序和數(shù)據(jù)處理子程序中的核心語句[4]。
(1)A/D轉(zhuǎn)換子程序
void DataConv( )
{ int num;
PORT-D=1; //啟動A/D轉(zhuǎn)換
for(num=0;num++;num=6) //采樣6次數(shù)據(jù)
{ Delay();
adresult[num]=AD; //保存A/D轉(zhuǎn)換結(jié)果至adresult[]
}
PORT-D=0; //停止A/D轉(zhuǎn)換
}
(2)數(shù)據(jù)處理子程序
void DataDeal( )
{ int i;
result=0; //保存A/D轉(zhuǎn)換最終數(shù)值
for(i=0;i++;i=6)result=result+adresult[i];
//對A/D轉(zhuǎn)換結(jié)果進行數(shù)字濾波
result=result/6;
if(result>=raluemax‖result<=raluemin) Alarm( );
//若采樣值大于給定的最大值或小于給定的最小值,則做報警并進行故障處理
Display( ); //對數(shù)據(jù)進行實時顯示
}
設(shè)計的智能繼電器性能遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的繼電器產(chǎn)品,設(shè)計系統(tǒng)以PIC18F6585單片機為核心構(gòu)成一個實時數(shù)據(jù)采集系統(tǒng),可將采集的數(shù)據(jù)進行實時分析、運算和處理,獲得各種不同的保護特性,易于修改,選擇性和配合性好。集測量、監(jiān)控和保護于一身,可通過通信接口與計算機聯(lián)網(wǎng)構(gòu)成智能化的監(jiān)控保護與信息管理系統(tǒng),具有較高的工業(yè)使用價值。