朱雪璇,裴建良
ZHU Xue-xuan, PEI Jian-liang
(新余高等專科學校,新余 338000)
隨著我國的經濟建設發展,各種現代化的樓宇對火災報警和自動的滅火系統提出了更高的要求。大型酒店、賓館、商場、博物館、圖書館、檔案館和辦公樓等,自動的滅火系統己成為了必不可少的保安裝置。設置功能比較完善的消防設施,對保障人民的生命財產的安全,無疑是極其重要的。自動報警的滅火系統是將報警與滅火聯動且加以控制的系統。為及時發現火災隱患以及撲滅火災,電力系統的防火重點保護場所、各種商業、工業建筑以及現代智能建筑已經采用火災自動報警的滅火系統[1]。火災報警系統用來探測火災并且給出聲響警示信號,具體是由布放在現場的探測器、傳輸線路以及安放在控制室的控制器組成。探測器感受物質燃燒時的現場各種物理參數,把判斷結果或者模擬量值通過現場的總線傳回控制器,控制器做進一步的處理后給出報警的信號,同時也獲取來自監視模塊的消防設備的運行狀態信息。由于采用先進的計算機的控制技術,對傳感器輸出的信號調理具有智能性,其智能化程度將大大提高。探測器的輸出形式采用了模擬量,并可以通過軟件對其靈敏度根據使用的場合、時間來進行設定和調整,如可以設定夜間、白天、休息日不同的靈敏度[2]。對探測器使用的環境參數變化比較大的場所,靈敏度設定相對較低一些,對環境較穩定或者一些重要的場所,靈敏度的設定相對高一些,這個功能可提高系統的穩定性以及可靠性,減少誤報。
火災的自動報警系統是由觸發器件、火災警報裝置及具有其它輔助功能的裝置組成的。它能在火災初期,將燃燒時產生的煙霧、熱量以及光輻射等物理量,通過感溫、感煙及感光等火災探測器變成電信號,傳輸到火災報警的控制器,且同時顯示出火災的發生部位,記錄火災的發生時間[3]。一般火災的自動報警系統以及自動噴水滅火系統、防排煙系統、室內消火栓系統、通風系統、防火門、防火卷簾、空調系統、擋煙垂壁等相關的設備聯動,自動或者手動發出指令,啟動相應的防火滅火的裝置。
本項目系列的產品技術研發分為:機械以及電子兩部分。由機械和電子兩部分技術聯合最終生產系列化、標準化、模塊化的全自動的定位滅火裝置。本文只包括了電子技術研發部分。火災的自動報警系統的基本功能是通過探測器來準確尋找火源,驅動步進的電機定位,精確判斷火災的災源進行報警,噴水滅火;同時系統具有遙控的檢測功能。
本系統電氣部分主要由中央控制單元,檢測單元,電機驅動單元及通信模塊單元四部分組成的。總體框圖如圖1所示。

圖1 火災自動報警系統硬件總體框圖
檢測單元主要是由探火傳感器組成。為提高系統可靠性,減少誤報以及漏報,本系統采用兩種不同的傳感器,能同時根據情況來發出火災信號。中央的控制單元是以C8051F單片機為核心,接收并且處理火災的報替信號,驅動電機動作信號、輸出報警信號、提供區域的供水電磁閥動作信號等。電機驅動單元為電機驅動的電路,由單片機發出的控制信號從而控制電機相應的旋轉定位[4]。通信模塊的單元使系統具有遙控自檢的功能,通過接收模塊來接收遙控信號判斷信號從而實現相應的自檢功能。
對于在單片機上運行程序的開發,嵌入式的軟件開發平臺是必不可少的。不同種類的單片機配套的嵌入式軟件的開發平臺也不盡相同。本次的系統嵌入式軟件開發的平臺主要是C8051FOXX系列的開發套件,包括:串行適配器(RS-232至目標系統協議轉換器)、C8051FOXX目標板、Cygnal IDE等。本系統嵌入式的程序包括以下幾個功能模塊:電機驅動模塊、數據采集模塊、串口通信模塊。
2.1.1 軟件總體結構圖
2.1.2 數據采集處理程序
該系統是對各種的探測器所探測到的信號來進行檢測。系統一共采用三個探測器:紫外傳感器、光敏傳感器(光敏三極管)、紅外傳感器。通過對這三個傳感器數據的采集,相互配合處理以后分別控制三個電機的旋轉從而能帶動整個探頭的旋轉以及準確定位來達到精確判斷。
系統設置4個外部的中斷:紫外傳感器1和紫外傳感器2中斷、光敏中斷、紅外傳感器中斷;兩個時鐘的中斷:T1中斷;一個串口中斷。T1作為整個系統的判斷火災的基準時鐘,在T1中斷里通過FLAG的變量不同的值選擇四個不同的外部中斷來進行各自的條件判斷。T0定時用來控制步進的電機轉速,為了能在橫向以及縱向兩個方面進行精確定位,在T0中斷里還有電機2以及電機3的回轉調步的控制功能。整個系統初始化時,光敏傳感器中斷以及T1中斷打開。如果光敏傳感器感知到信號以后,通過T1中斷的判斷條件認為可疑,將啟動電機1,然后帶動整個裝置的防塵罩打開。隨后電機2帶動橫向紫外1傳感器進行橫向的一周掃描,如果此過程中傳感器的信號達到了火災條件,電機2將調整位置定下以后啟動電機3帶動縱向的紫外2的傳感器來縱向掃描,當此傳感器的信號達到了火災條件時電機3將調整探頭位置,定位在精確位置上,最后進行紅外掃描以確保真正的火源,避免發生錯誤的判斷,當紅外傳感器的信號滿足條件以后,進行噴水的滅火同時啟動報警系統。

圖2 軟件結構圖
2.1.3 電機驅動模塊
步進電機是兩相式,每個步進電機均是通過各自的MENA, MDIR, MENB三個信號驅動,MENB, MENA為步進電機的兩相電流控制信號,MDIR控制步進電機電流方向。通過設置一個二維的數組MOTORA[3,4]將MENA, MDIR, MENB三個信號按照一定的順序排列成{1,1,0}{1,0,1}{0,0,1}{0,1,0}順序執行為電機正轉,逆序來執行電機反轉。通過設置變量m及DirCom的配合可實現順序及逆序的轉換。電機旋轉來帶動傳感器的掃描一周,通過一個單刀雙擲的開關來判斷掃描是否結束,程序中通過MLIMIT及MLIMITl兩個變量配合達到。
2.1.4 串口通信模塊
串口通信模塊主要是實現三個功能:1)觀察運行的狀態;2)可通過上位機來改變系統的參數進而改變系統運行的狀態;3)實現人工模擬來檢測電機功能。下位機利用單片機串口可以實現。串口初始作為接收狀態,當接收到上位機命令字后,區分三個不同的值實現三個不同的功能。上位微機及下位單片機構成了一個多機通信系統,通信的方式采用主從式結構:上位機為主動,而下位機為從動;下位機不主動發送命令或者數據,一切都由上位機來控制。上位機發送的信息分為兩種:一種是地址,當串行數據的第9位為1時,表示是上位機需通信的下位機地址;另一種是數據,當串行數據的第9位為0時,表示的是上位機發送給下位機的數據。下位單片機C8051F須工作在方式2或3下,且所有下位機的串行口控制寄存器SCON的SM2須為1。每個下位機在RI=0時能接收到上位機所發送的地址,而進入各自的中斷服務子程序,將接收到的地址以及本機地址進行對比。若相同則表示上位機要與本機通信而使SM2=0,以便接收后面上位機發送來的數據或者命令;若不相同則退出中斷服務的子程序,等待下一次通信。
為實現單片機和PC機之間的串口通信,這里選用的應用程序開發工具是Visual C++6.0,之所以采用Visual C++6.0可視化的編程工具,是因為其功能非常的強大,具有支持面向對象編程、代碼可重用、模塊化、組件共享等技術,可大大提高軟件系統的設計、管理以及開發和運行速度[5]。與以往的DOS下串行通信不同,Windows不提倡應用程序來直接控制硬件,而是通過Windows系統提供設備驅動程序來進行數據傳遞。串口在Win32中是作文件來處理的,而不是直接地對端口進行操作。本文采用WindowsAPI函數、MSComm控件來實現PC機與單片機間的通信。
Microsoft Communication Control(簡稱MSComm)是Microsoft公司所提供的簡化Windows下串行的通信編程的ActiveX控件,為應用程序提供串口接收發送數據的一個簡便方法。MSComm控件通過串行端口傳輸以及接收數據為應用程序來提供串行通信功能。MSComm提供兩種處理通信問題的方法:一個是事件驅動法,主要是利用OnComm事件來捕獲并處理這些通信時間,也可檢查和處理通信錯誤;二是查詢法,在這樣的情況下,每當應用程序執行完一個串行的操作后,將查看MSComm控件的CommEvent屬性以確定執行結果或檢查某一事件是否發生。
通過VC6.0++來創建一個對話框,在對話框中創建通信的控件,再將該控件從工具箱中拉到對話框中[6]。此時,只需關心控件提供的對Windows通訊驅動程序的API函數接口。換句話說,只需設置和監視MSComm控件的屬性以及事件。在Class Wizard中為新創建的通信的控件定義成員對象(CMSComm mse Serial )通過該對象便可對串口屬性進行設置。
MSComm控件的部分源碼如下:
串口初始化且打開串口:

發送數據:

接收數據:

一個火災報警的控制系統想達到預期目的就是:在它的監控范圍內出現了報警目標時,應可靠地發出報警;而當監控的環境中不存在目標時,不應發出報警的訊號。可靠性是說明一個系統性能最佳的指標。而在火災的探測報警系統中,探測器、各種硬件軟件的選擇均是影響系統可靠性的關鍵原因。
1)在探測器方面:為提高系統的可靠性,本系統選用感光探測器以及紅外感溫傳感器兩種復合式的火災探測器。通過感光及感溫雙重判斷的火災情況,同時這兩種傳感器均具有抗潮濕、抗電磁干擾、抗腐蝕的特點,從而更加保證探測器的準確性。
2)防塵罩是本設計的一大特色,在可靠性方面起重要作用。第一,當無火災發生時候,通過防塵罩的保護,整個裝置可防止灰塵的進入,更能保證傳感器的準確性,提高可靠性;第二,防塵罩通過光敏電阻的控制,從而為系統又增加一重火災判斷,進一步降低誤報以及漏報的可能性,提高系統的可靠性。
3)電源方面我們通過一個開關電源及一個集成穩壓器層層轉化為系統所需要的直流電壓。由于系統接入的開關電源的電壓是消防用電,因此可避免電源掉電。為確保電源的穩定性及提高散熱效果,本系統增加浪涌保護電路,同時整個電源電路均裝在一個電源盒中放于整個裝置外部,散熱性能好。
4)通信模塊單元使系統具有遙控的自檢功能,通過接收模塊及接收遙控信號判斷信號實現相應的自檢功能,從而大大提高系統可靠性。
在軟件的設計中,我們對重要的環節采用多次重復的判斷以提高系統可靠性。此外我們選用C8051F005型號的單片機,本身具有一個32K字節的FLASH存儲器,我們將系統所運行的重要信息,如火災、故障等信息保存起來。同時,此款單片機的內部有看門狗,當干擾造成的程序運行發生混亂或者陷入死循環時,可使單片機復位從而讓程序正常地運行。總之,火災報警以及滅火控制系統是一項復雜的工程,須在系統設計、軟件編制、結構設計、整機裝備及調試階段各個環節方面統籌安排,嚴格把關才能保證整個系統具有高的可靠性。
針對火災智能報警系統,對火災報警控制器的理論做了深入的研究,并全面闡述了研制一個能實際應用的火災報警控制器硬件部分和軟件部分的方法及過程。本系統采用兩種不同的傳感器,通過橫向以及縱向掃描將光信號轉換成電信號,通過各自放大電路傳送給系統的控制器:C8051F005單片機,單片機通過綜合判斷,最后判斷出火災情況進行報警.由于研發的系統中主要用于工廠等大型建筑,系統增加通信模塊,采用HAC-uM系列的微功率無線數傳模塊實現單片機控制器與上位機之間的通信,從而達到了無線遙控系統的功能,給維修或檢測帶來很大方便。
[1]童長飛.C8051F系列單片機開發與C語言編程[M].北京:北京航空航天大學出版社,2008.
[2]周方平.分布式智能消防報警控制系統的設計[D].中南大學,2006.
[3]呂津一種新穎的火災自動報警控制器的硬件設計[D].四川:四川大學,2006.
[4]曾自強,王玉菌.用VC++實現單片機與PC機串口通信的三種方法[J].自動化與儀器儀表,2007,(3):16-20.
[5]A.Mirabadi,N.Mort,F.Schmid, Application of Sensor Fusion to Railway System,Proceedings of the 1996 IEEE/SICE/RSJ International Conference of Multisensor Fusion and Integration for Intelligent System,2008.
[6]Cheng Qingheng,He Jinliang and Zhou Wenjun,etal.surge protection for interface circuits of communication system[J].IEEE trans.PD,2007,18(1):85-89.