郭家建
(福建船政交通職業(yè)學(xué)院,福建 福州 350007)
工業(yè)自動(dòng)化系統(tǒng)包含大量設(shè)備,長(zhǎng)期運(yùn)行難免出現(xiàn)各種故障,如開(kāi)關(guān)跳閘、電路短路、設(shè)備失電等。當(dāng)系統(tǒng)發(fā)生故障時(shí),故障自動(dòng)報(bào)警系統(tǒng)能第一時(shí)間發(fā)出報(bào)警信號(hào),提醒工作人員處理故障。工作人員根據(jù)報(bào)警信號(hào),在控制臺(tái)進(jìn)行響應(yīng),并立即前往現(xiàn)場(chǎng)處理故障,使設(shè)備正常運(yùn)行。隨著社會(huì)經(jīng)濟(jì)的發(fā)展,科學(xué)技術(shù)如單片機(jī)技術(shù)、通信技術(shù)與人工智能技術(shù)也在不斷發(fā)展,報(bào)警系統(tǒng)越來(lái)越智能化[1-3]。文章主要研究自動(dòng)報(bào)警系統(tǒng)的整體設(shè)計(jì)和功能,通過(guò)硬件和軟件程序的設(shè)計(jì),滿足報(bào)警系統(tǒng)的功能要求。
自動(dòng)報(bào)警系統(tǒng)由單片機(jī)、故障傳感器、響應(yīng)電路、復(fù)位電路、電源電路以及輸出模塊組成。其中復(fù)位電路實(shí)現(xiàn)報(bào)警系統(tǒng)復(fù)位功能。當(dāng)工業(yè)自動(dòng)化系統(tǒng)發(fā)生故障時(shí),首先故障傳感器將檢測(cè)到的故障信號(hào)送至SCT89C52單片機(jī);其次單片機(jī)根據(jù)故障信號(hào)輸出相應(yīng)的聲光報(bào)警控制信號(hào);再次輸出模塊向外界環(huán)境發(fā)出聲音警示,同時(shí)報(bào)警指示燈閃爍;最后工作人員按下響應(yīng)按鈕,聲音警示消失,報(bào)警指示燈常亮。若故障修復(fù),則聲音警示消失、報(bào)警指示燈熄滅。自動(dòng)報(bào)警系統(tǒng)組成模塊如圖1所示。
圖1 自動(dòng)報(bào)警系統(tǒng)組成模塊
設(shè)計(jì)的自動(dòng)報(bào)警系統(tǒng)核心為單片機(jī)。單片機(jī)芯片上集成了中央處理器(Central Processing Unit,CPU)、存儲(chǔ)器、輸入/輸出(Input/Output,I/O)部件以及時(shí)鐘電路等,具有優(yōu)越的性能,已廣泛應(yīng)用于控制、通信、檢測(cè)等領(lǐng)域。單片機(jī)具備顯著的應(yīng)用優(yōu)勢(shì)。第一,體積小、重量輕、價(jià)格低以及功能強(qiáng),易于產(chǎn)品化,可以嵌入各種測(cè)控設(shè)備和儀器儀表。第二,可靠性高、抗干擾能力強(qiáng),能適應(yīng)各種環(huán)境。第三,使用方便靈活、通用性強(qiáng)。在開(kāi)發(fā)過(guò)程中可以使用C語(yǔ)言進(jìn)行編程,開(kāi)發(fā)周期短,且具有一定的可移植性。第四,實(shí)時(shí)控制能力強(qiáng),可以直接通過(guò)I/O口進(jìn)行各種操作,實(shí)時(shí)響應(yīng)事件且處理速度快,具有豐富的控制指令,可以控制邏輯功能較為復(fù)雜的系統(tǒng)。第五,低電壓、低功耗,可在5 V、3 V甚至更低的電壓下工作。
設(shè)計(jì)的基于單片機(jī)自動(dòng)報(bào)警系統(tǒng)采用SCT89C52單片機(jī)。STC89C52單片機(jī)是一種低功耗、高性能的微控制器,擁有8位CPU、8 kb可重復(fù)擦寫(xiě)的Flash閃速存儲(chǔ)器、3個(gè)16位定時(shí)器/計(jì)數(shù)器、32條可編程的I/O線(4個(gè)8位并行I/O端口)、1個(gè)可編程全雙工串行口、512 bits的隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)以及看門(mén)狗定時(shí)器等部件。單片機(jī)自動(dòng)報(bào)警系統(tǒng)的硬件部分由故障傳感器、響應(yīng)電路、復(fù)位電路、電源電路以及輸出模塊組成。
故障傳感器通過(guò)開(kāi)關(guān)信號(hào)來(lái)模擬,輸入信號(hào)接到單片機(jī)P1.7引腳。開(kāi)關(guān)斷開(kāi),表示系統(tǒng)無(wú)故障,單片機(jī)輸入信號(hào)為“1”(高電平);開(kāi)關(guān)閉合,表示系統(tǒng)有故障,單片機(jī)輸入信號(hào)為“0”(低電平)。
單片機(jī)自動(dòng)報(bào)警系統(tǒng)設(shè)置有響應(yīng)按鈕。工業(yè)自動(dòng)化系統(tǒng)發(fā)生故障時(shí),報(bào)警系統(tǒng)會(huì)發(fā)出報(bào)警信號(hào),工作人員按下響應(yīng)按鈕,即可關(guān)閉報(bào)警聲,同時(shí)報(bào)警指示燈由閃爍變?yōu)槌A?。響?yīng)按鈕作為輸入信號(hào)與單片機(jī)的P1.0引腳相連。響應(yīng)按鈕按下,表示工作人員已響應(yīng),單片機(jī)輸入信號(hào)為“0”(低電平);若響應(yīng)按鈕未按下,表示工作人員未響應(yīng),單片機(jī)輸入信號(hào)為“1”(高電平)。
單片機(jī)自動(dòng)報(bào)警系統(tǒng)設(shè)置有復(fù)位按鈕。復(fù)位按鈕按下,即給單片機(jī)復(fù)位引腳(RST)輸入高電平,當(dāng)高電平持續(xù)2個(gè)機(jī)器周期以上,單片機(jī)就執(zhí)行復(fù)位操作,實(shí)現(xiàn)自動(dòng)報(bào)警系統(tǒng)的復(fù)位。
電源電路負(fù)責(zé)為單片機(jī)自動(dòng)報(bào)警系統(tǒng)提供電能,包括單片機(jī)和其他硬件組成部分。單片機(jī)芯片電源線連接VCC(+5 V)和VSS(地)2個(gè)引腳。
自動(dòng)報(bào)警系統(tǒng)輸出模塊由發(fā)光二極管(Light-Emitting Diode,LED)電路和聲音報(bào)警電路組成。
2.5.1 LED燈電路
設(shè)計(jì)的基于單片機(jī)自動(dòng)報(bào)警系統(tǒng)是聲光報(bào)警系統(tǒng),采用LED燈進(jìn)行警示,不僅能保證充足的亮度,而且節(jié)能。LED燈的陽(yáng)極接電源,陰極經(jīng)過(guò)電阻連接到單片機(jī)P3.0引腳。其中電阻起到限流的作用,電阻的阻值取220 Ω。當(dāng)單片機(jī)的P3.0引腳輸出為0(低電平)時(shí),LED燈點(diǎn)亮;輸出為1(高電平)時(shí),LED燈熄滅。
2.5.2 聲音報(bào)警電路
聲音報(bào)警電路的發(fā)聲裝置選用Buzzer蜂鳴器。蜂鳴器采用一體化結(jié)構(gòu),使用直流電壓供電,常作發(fā)聲器件應(yīng)用于各種電子產(chǎn)品。蜂鳴器按驅(qū)動(dòng)方式可分為有源蜂鳴器和無(wú)源蜂鳴器。其中有源蜂鳴器直接連接額定電源即可連續(xù)發(fā)聲;而無(wú)源蜂鳴器和電磁揚(yáng)聲器一樣,只有連接音頻輸出電路才能發(fā)聲。由于蜂鳴器的工作電流較大,而單片機(jī)的I/O口輸出電流較小,無(wú)法直接驅(qū)動(dòng)蜂鳴器,需要連接放大電路來(lái)驅(qū)動(dòng),一般使用三極管來(lái)放大電流。
文章選用的蜂鳴器為有源蜂鳴器,單片機(jī)的P0.7引腳輸出聲音報(bào)警控制信號(hào),只需改變?cè)撘_輸出的電平即可控制蜂鳴器。當(dāng)單片機(jī)P0.7引腳輸出為0(低電平)時(shí),三極管導(dǎo)通,蜂鳴器工作,發(fā)出聲音;當(dāng)單片機(jī)P0.7引腳輸出為1(高電平)時(shí),三極管截止,蜂鳴器不工作,不發(fā)出聲音。
單片機(jī)自動(dòng)報(bào)警系統(tǒng)功能的實(shí)現(xiàn)除了硬件,軟件設(shè)計(jì)也非常重要。文章采用Keil C51軟件進(jìn)行軟件編程。Keil C51是美國(guó)Keil Software軟件公司開(kāi)發(fā)的基于8051內(nèi)核的微控制器軟件開(kāi)發(fā)平臺(tái)。Keil C51是51系列單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),也是目前開(kāi)發(fā)8051內(nèi)核單片機(jī)的主流工具,提供了包括C編譯器、宏匯編、連接器、庫(kù)管理以及仿真調(diào)試器等的完整開(kāi)發(fā)方案[4]。
單片機(jī)自動(dòng)報(bào)警系統(tǒng)軟件設(shè)計(jì)重點(diǎn)是程序的編寫(xiě),文章采用C語(yǔ)言進(jìn)行編程。根據(jù)報(bào)警系統(tǒng)所要實(shí)現(xiàn)的功能,設(shè)計(jì)程序流程圖。系統(tǒng)整體程序流程如圖2所示。
圖2 系統(tǒng)整體程序流程
依據(jù)程序流程圖編寫(xiě)C語(yǔ)言程序,程序主要包含main主函數(shù)和報(bào)警函數(shù)。其中報(bào)警函數(shù)主要用于實(shí)現(xiàn)報(bào)警功能,main主函數(shù)則實(shí)現(xiàn)系統(tǒng)的初始化和報(bào)警函數(shù)的調(diào)用。利用Keil C51軟件進(jìn)行調(diào)試、編譯,生成.HEX文件。部分程序代碼為
單片機(jī)自動(dòng)報(bào)警系統(tǒng)的仿真使用Proteus軟件,該軟件是英國(guó)Labcenter Electronics公司開(kāi)發(fā)的EDA工具軟件,可以設(shè)計(jì)和仿真模擬電路、數(shù)字電路,是目前較先進(jìn)的單片機(jī)和嵌入式系統(tǒng)的設(shè)計(jì)與仿真平臺(tái),也是目前單片機(jī)系統(tǒng)設(shè)計(jì)廣泛使用的仿真軟件[5]。
Proteus軟件具有生動(dòng)的仿真顯示功能和豐富的元器件庫(kù),擁有超過(guò)27 000種元器件[6]。該軟件適用于單片機(jī)及其外圍器件的仿真,輸入類(lèi)器件如矩陣式鍵盤(pán)、按鍵、開(kāi)關(guān)等;輸出類(lèi)器件如LED燈、蜂鳴器、LCD12864/1602液晶顯示屏、數(shù)碼管以及點(diǎn)陣屏等。
采用Proteus軟件驗(yàn)證設(shè)計(jì)的單片機(jī)自動(dòng)報(bào)警系統(tǒng)的仿真電路圖,打開(kāi)Proteus軟件,將之前生成的.HEX文件導(dǎo)入單片機(jī),然后點(diǎn)擊運(yùn)行按鈕,開(kāi)始運(yùn)行仿真。仿真結(jié)果顯示,系統(tǒng)無(wú)故障時(shí)(即開(kāi)關(guān)處于斷開(kāi)狀態(tài)),蜂鳴器不工作,同時(shí)LED燈處于熄滅狀態(tài);當(dāng)系統(tǒng)出現(xiàn)故障時(shí)(即開(kāi)關(guān)處于閉合狀態(tài)),蜂鳴器工作,發(fā)出報(bào)警聲音,同時(shí)LED燈處于閃爍狀態(tài);當(dāng)工作人員按下響應(yīng)按鈕后(即故障未修復(fù),開(kāi)關(guān)處于閉合狀態(tài)),蜂鳴器不工作,同時(shí)LED燈處于常亮狀態(tài);當(dāng)系統(tǒng)故障修復(fù)后(即開(kāi)關(guān)處于斷開(kāi)狀態(tài)),報(bào)警系統(tǒng)回復(fù)為初始狀態(tài),即蜂鳴器不工作,LED燈處于熄滅狀態(tài)。仿真運(yùn)行結(jié)果達(dá)到預(yù)期效果,實(shí)現(xiàn)了單片機(jī)自動(dòng)報(bào)警系統(tǒng)所需的功能。
設(shè)計(jì)的基于單片機(jī)自動(dòng)報(bào)警系統(tǒng),主要用于接收故障傳感器的信號(hào),利用單片機(jī)處理故障信息,實(shí)現(xiàn)系統(tǒng)故障自動(dòng)報(bào)警,同時(shí)可以進(jìn)行故障響應(yīng)操作。設(shè)計(jì)的報(bào)警系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、維護(hù)成本低、操作簡(jiǎn)單以及可靠性高等優(yōu)勢(shì),可以應(yīng)用于各類(lèi)需要進(jìn)行故障自動(dòng)報(bào)警和故障處理的場(chǎng)景,如自動(dòng)化生產(chǎn)線、防盜系統(tǒng)、門(mén)禁系統(tǒng)等。同時(shí),該系統(tǒng)具有可拓展性,可以根據(jù)用戶的需求增加功能,應(yīng)用前景較為廣闊。