郭家建
(福建船政交通職業學院,福建 福州 350007)
工業自動化系統包含大量設備,長期運行難免出現各種故障,如開關跳閘、電路短路、設備失電等。當系統發生故障時,故障自動報警系統能第一時間發出報警信號,提醒工作人員處理故障。工作人員根據報警信號,在控制臺進行響應,并立即前往現場處理故障,使設備正常運行。隨著社會經濟的發展,科學技術如單片機技術、通信技術與人工智能技術也在不斷發展,報警系統越來越智能化[1-3]。文章主要研究自動報警系統的整體設計和功能,通過硬件和軟件程序的設計,滿足報警系統的功能要求。
自動報警系統由單片機、故障傳感器、響應電路、復位電路、電源電路以及輸出模塊組成。其中復位電路實現報警系統復位功能。當工業自動化系統發生故障時,首先故障傳感器將檢測到的故障信號送至SCT89C52單片機;其次單片機根據故障信號輸出相應的聲光報警控制信號;再次輸出模塊向外界環境發出聲音警示,同時報警指示燈閃爍;最后工作人員按下響應按鈕,聲音警示消失,報警指示燈常亮。若故障修復,則聲音警示消失、報警指示燈熄滅。自動報警系統組成模塊如圖1所示。

圖1 自動報警系統組成模塊
設計的自動報警系統核心為單片機。單片機芯片上集成了中央處理器(Central Processing Unit,CPU)、存儲器、輸入/輸出(Input/Output,I/O)部件以及時鐘電路等,具有優越的性能,已廣泛應用于控制、通信、檢測等領域。單片機具備顯著的應用優勢。第一,體積小、重量輕、價格低以及功能強,易于產品化,可以嵌入各種測控設備和儀器儀表。第二,可靠性高、抗干擾能力強,能適應各種環境。第三,使用方便靈活、通用性強。在開發過程中可以使用C語言進行編程,開發周期短,且具有一定的可移植性。第四,實時控制能力強,可以直接通過I/O口進行各種操作,實時響應事件且處理速度快,具有豐富的控制指令,可以控制邏輯功能較為復雜的系統。第五,低電壓、低功耗,可在5 V、3 V甚至更低的電壓下工作。
設計的基于單片機自動報警系統采用SCT89C52單片機。STC89C52單片機是一種低功耗、高性能的微控制器,擁有8位CPU、8 kb可重復擦寫的Flash閃速存儲器、3個16位定時器/計數器、32條可編程的I/O線(4個8位并行I/O端口)、1個可編程全雙工串行口、512 bits的隨機存取存儲器(Random Access Memory,RAM)以及看門狗定時器等部件。單片機自動報警系統的硬件部分由故障傳感器、響應電路、復位電路、電源電路以及輸出模塊組成。
故障傳感器通過開關信號來模擬,輸入信號接到單片機P1.7引腳。開關斷開,表示系統無故障,單片機輸入信號為“1”(高電平);開關閉合,表示系統有故障,單片機輸入信號為“0”(低電平)。
單片機自動報警系統設置有響應按鈕。工業自動化系統發生故障時,報警系統會發出報警信號,工作人員按下響應按鈕,即可關閉報警聲,同時報警指示燈由閃爍變為常亮。響應按鈕作為輸入信號與單片機的P1.0引腳相連。響應按鈕按下,表示工作人員已響應,單片機輸入信號為“0”(低電平);若響應按鈕未按下,表示工作人員未響應,單片機輸入信號為“1”(高電平)。
單片機自動報警系統設置有復位按鈕。復位按鈕按下,即給單片機復位引腳(RST)輸入高電平,當高電平持續2個機器周期以上,單片機就執行復位操作,實現自動報警系統的復位。
電源電路負責為單片機自動報警系統提供電能,包括單片機和其他硬件組成部分。單片機芯片電源線連接VCC(+5 V)和VSS(地)2個引腳。
自動報警系統輸出模塊由發光二極管(Light-Emitting Diode,LED)電路和聲音報警電路組成。
2.5.1 LED燈電路
設計的基于單片機自動報警系統是聲光報警系統,采用LED燈進行警示,不僅能保證充足的亮度,而且節能。LED燈的陽極接電源,陰極經過電阻連接到單片機P3.0引腳。其中電阻起到限流的作用,電阻的阻值取220 Ω。當單片機的P3.0引腳輸出為0(低電平)時,LED燈點亮;輸出為1(高電平)時,LED燈熄滅。
2.5.2 聲音報警電路
聲音報警電路的發聲裝置選用Buzzer蜂鳴器。蜂鳴器采用一體化結構,使用直流電壓供電,常作發聲器件應用于各種電子產品。蜂鳴器按驅動方式可分為有源蜂鳴器和無源蜂鳴器。其中有源蜂鳴器直接連接額定電源即可連續發聲;而無源蜂鳴器和電磁揚聲器一樣,只有連接音頻輸出電路才能發聲。由于蜂鳴器的工作電流較大,而單片機的I/O口輸出電流較小,無法直接驅動蜂鳴器,需要連接放大電路來驅動,一般使用三極管來放大電流。
文章選用的蜂鳴器為有源蜂鳴器,單片機的P0.7引腳輸出聲音報警控制信號,只需改變該引腳輸出的電平即可控制蜂鳴器。當單片機P0.7引腳輸出為0(低電平)時,三極管導通,蜂鳴器工作,發出聲音;當單片機P0.7引腳輸出為1(高電平)時,三極管截止,蜂鳴器不工作,不發出聲音。
單片機自動報警系統功能的實現除了硬件,軟件設計也非常重要。文章采用Keil C51軟件進行軟件編程。Keil C51是美國Keil Software軟件公司開發的基于8051內核的微控制器軟件開發平臺。Keil C51是51系列單片機C語言軟件開發系統,也是目前開發8051內核單片機的主流工具,提供了包括C編譯器、宏匯編、連接器、庫管理以及仿真調試器等的完整開發方案[4]。
單片機自動報警系統軟件設計重點是程序的編寫,文章采用C語言進行編程。根據報警系統所要實現的功能,設計程序流程圖。系統整體程序流程如圖2所示。

圖2 系統整體程序流程
依據程序流程圖編寫C語言程序,程序主要包含main主函數和報警函數。其中報警函數主要用于實現報警功能,main主函數則實現系統的初始化和報警函數的調用。利用Keil C51軟件進行調試、編譯,生成.HEX文件。部分程序代碼為


單片機自動報警系統的仿真使用Proteus軟件,該軟件是英國Labcenter Electronics公司開發的EDA工具軟件,可以設計和仿真模擬電路、數字電路,是目前較先進的單片機和嵌入式系統的設計與仿真平臺,也是目前單片機系統設計廣泛使用的仿真軟件[5]。
Proteus軟件具有生動的仿真顯示功能和豐富的元器件庫,擁有超過27 000種元器件[6]。該軟件適用于單片機及其外圍器件的仿真,輸入類器件如矩陣式鍵盤、按鍵、開關等;輸出類器件如LED燈、蜂鳴器、LCD12864/1602液晶顯示屏、數碼管以及點陣屏等。
采用Proteus軟件驗證設計的單片機自動報警系統的仿真電路圖,打開Proteus軟件,將之前生成的.HEX文件導入單片機,然后點擊運行按鈕,開始運行仿真。仿真結果顯示,系統無故障時(即開關處于斷開狀態),蜂鳴器不工作,同時LED燈處于熄滅狀態;當系統出現故障時(即開關處于閉合狀態),蜂鳴器工作,發出報警聲音,同時LED燈處于閃爍狀態;當工作人員按下響應按鈕后(即故障未修復,開關處于閉合狀態),蜂鳴器不工作,同時LED燈處于常亮狀態;當系統故障修復后(即開關處于斷開狀態),報警系統回復為初始狀態,即蜂鳴器不工作,LED燈處于熄滅狀態。仿真運行結果達到預期效果,實現了單片機自動報警系統所需的功能。
設計的基于單片機自動報警系統,主要用于接收故障傳感器的信號,利用單片機處理故障信息,實現系統故障自動報警,同時可以進行故障響應操作。設計的報警系統具有結構簡單、維護成本低、操作簡單以及可靠性高等優勢,可以應用于各類需要進行故障自動報警和故障處理的場景,如自動化生產線、防盜系統、門禁系統等。同時,該系統具有可拓展性,可以根據用戶的需求增加功能,應用前景較為廣闊。