基于PIC16F87X單片機的火災報警系統(tǒng)設計
火災報警系統(tǒng)是各行各業(yè)必需的一種安全系統(tǒng)網絡,可靠的監(jiān)測與數(shù)據(jù)傳輸是該系統(tǒng)非常重要的環(huán)節(jié)。
以往的火災報警系統(tǒng)經常會出現(xiàn)總線上的數(shù)據(jù)沖突、長距離數(shù)據(jù)傳輸?shù)牟豢煽恳约安灰讛U展等問題,隨著近年來一些低價格、高性能單片機被廣泛應用于各個電路系統(tǒng),尤其是電路控制等方面,這些問題都得到了一定的改善。
本系統(tǒng)采用了美國微芯公司生產的運行速度快、功耗低且驅動能力強的PIC16F87X系列單片機,作為該系統(tǒng)電路的邏輯控制、總線偵聽以及數(shù)據(jù)讀取與發(fā)送單元,解決了可靠數(shù)據(jù)監(jiān)測以及長距離傳輸所面臨的問題,可以準確地遠程監(jiān)視火災發(fā)生地點。
硬件設計
系統(tǒng)硬件電路設計
系統(tǒng)基本工作原理如圖1所示。傳感器輸出的電流信號經過電流轉換電壓電路變?yōu)殡妷盒盘?,然后由信號放大電路將信號轉化為適合模數(shù)轉換器件(A/D)的輸入信號,最后將數(shù)字化的采樣結果送入單片機PIC16F87X,分析該數(shù)據(jù)是否已經達到了火災效應。
若分析得到有火災發(fā)生時,先進行總線偵聽,當總線“空閑”時則單片機立即讀出外部ROM事先存儲好的有關室內所有的信息數(shù)據(jù)(包括報警裝置的放置位置),然后發(fā)送數(shù)據(jù)并將這些重要數(shù)據(jù)送到部門遠程監(jiān)視系統(tǒng)的液晶顯示器LCD上,最后輸出連續(xù)脈沖信號,通過驅動電路驅動報警喇叭以提醒監(jiān)視人員有火災危險。
傳感器介紹及其外圍電路的設計
該系統(tǒng)使用的傳感器為HS系列一氧化碳電化學氣體傳感器,以定電位電解為基本原理。當一氧化碳擴散到氣體傳感器時,其輸出端產生電流輸出,起著將化學能轉化為電能的作用。當一氧化碳氣體濃度發(fā)生變化時,氣體傳感器的輸出電流也隨之成正比變化。
傳感器測定范圍:0-1000ppm
輸出電流:4010nA/ppm
工作氣壓:1atm 10%
將電流信號轉換為電壓信號是引入一個電阻R1,將0~40mA的電流信號轉換為0~4V的電壓信號,然后進行放大濾波。圖中OPA637接成電壓跟隨方式,它的輸入阻抗很高,可以減少對R1的分流作用。OP07接成運放電路,可以通過調節(jié)Rf的大小來改變運放的閉環(huán)增益,以調節(jié)為適應于A/D的電壓輸入范圍。
PIC16F87X的特性
PIC16F87X是微芯(Microchip)公司于1998年年底推出的產品,采用哈佛總線結構,指令單字節(jié)化,尋址方式簡單,精簡指令 集(RISC)技術,僅有35條指令。它運行速度快,功耗低,驅動能力強,具備有USART模塊和MSSP模塊,程序保密性強,目前尚無其他辦法對其直接進行解密拷貝。它的一大特征是片內帶有64、128或256字節(jié)的EEPROM數(shù)據(jù)存儲器,另外其程序存儲器是Flash型存儲器,這種存儲器可以實現(xiàn)在電路板上直接擦/寫程序。
PIC16F87X與外部串型存儲器ROM的硬件連接
在選擇外部存儲器ROM時,由于要在安裝報警器前通過單片機將與安裝地點有關的重要信息全部寫入外部存儲器中,所以必須使用容量較大的靜態(tài)存儲器ROM,以便寫入盡可能多的數(shù)據(jù)信息且掉電后數(shù)據(jù)不易丟失。當有火災發(fā)生時,單片機立即在其RA0口模擬出移位時鐘CLK,并輸入給外部存儲器ROM的CLK引腳,同時RA1口向 SI口發(fā)送讀 命令,最后從存儲器SO輸出口讀取已經保存好的數(shù)據(jù),并立即將這些數(shù)據(jù)送入部門遠程監(jiān)視系統(tǒng)的顯示器上。
在考慮PIC單片機與本系統(tǒng)所選的外部串行存儲器AT25F1024的引腳 連接時,由于PIC16F87X供電電源為 V CC =5V,輸出為 CMOS電平,即輸出 高電平約5V,低電平約0V。但是其 輸入為TT L電平,而供電電壓為2.7V~3.6V左右的AT25F1024,其V LL 在?0.6V~ 0.3V CC 之間,V IH 在0.7V CC ~V CC +0.5之間 。所以如果將單片機和ROM直接連接, 當單 片機輸出高電 平給ROM時,該值將超過ROM的輸入門限值,此 刻就有可 能出現(xiàn)無法識別數(shù)據(jù)或燒毀存儲器管腳的情況 。 但是 ,AT25F1024的輸出可以直接和單片機相連接,因 為PIC單片機的輸入為TTL電平 , 故只 需考慮ROM的輸入接口電平匹配問題。同理,輸入輸出電流也是如此分 析。為了解決接口電平匹配問題,有很多可采用的方法:使用分壓電阻分壓,通過三級管和CMOS管的開關作用以及其他適合的芯片來調節(jié)電壓等。
在設計該電路的過程中,由于分壓電路易于實現(xiàn),如圖3所示,首先考慮使用電阻分壓得到適當?shù)碾娖剿徒o串行ROM,經調試后可實現(xiàn)數(shù)據(jù)通信。此電路結構簡單,不需要太多的電子元器件,但一般在此情況下使用較少。
為了達到更好的通信效果。如圖4所示,在此電路中選擇了非門芯片74LVC04A,該非門的供電電壓在1.2V~3.6V之間,可以和外部ROM使用同一個電源供電,其管腳的高電平電壓輸入范圍在2.0V~5.5V之間,低電平輸入為0V左右,可識別單片機的CMOS輸出電平。該芯片輸出高電平電壓約為電源供電電壓,低電平電壓約為0V左右,所以可串聯(lián)兩個74LVC04A非門將單片機的輸出信號轉換為AT25F1024可準確識別的輸入電壓,從而提高了數(shù)據(jù)的準確傳輸。
避免總線沖突的設計
在本結構中,為了保證正確有效的長距離數(shù)據(jù)傳輸,使用了開關管RF634來增加電路的驅動能力,在接收端使用LM393比較器來修正信號,并在其后端連接一個非門7406,用以還原原始信號。
當一個節(jié)點需要使用總線時,為了實現(xiàn)總線通信可靠,在有數(shù)據(jù)需要發(fā)送的情況下先偵聽總線。在硬件接口上,將報警終端單片機的數(shù)據(jù)發(fā)送引腳TX與其中斷引腳INT0相連接,且將RA2口作為接收引腳,通過驅動電路與起偵聽作用的單片機的RA3引腳相連接。報警終端網絡中的單片機在發(fā)送數(shù)據(jù)前,先探測其RA2口是否保持高電平輸入。若有,則表明總線“忙”,等待主控方釋放總線;若沒有,則表明總線“空閑”,可以發(fā)送數(shù)據(jù)。因主控方在發(fā)送數(shù)據(jù)的同時也將數(shù)據(jù)傳給了中斷引腳INT0,起偵聽作用的單片機接收數(shù)據(jù)后,通過其RA3口向報警裝置網絡中的所有單片機以廣播的通信方式發(fā)送高電平1。
報警終端網 絡中的單片機在一直不停地查詢其中斷引腳INT0是否有電平變化,并同時查詢其RA2接收口是否有高電平輸入。若單片機的RA2口有高電平輸入且又有中斷引腳電平變化,則繼續(xù)發(fā)送數(shù)據(jù);若只有RA2口有高電平輸入但中斷引腳INT0沒有電平變化,表示其探測到總線正“忙”,則待主控方完成通信交出總線控制權后,再讓其得到總線控制權,這樣就較好地解決了總線沖突的問題。采用這種工作方式后,系統(tǒng)中已經沒有主、從節(jié)點之分,各個節(jié)點對總線 的使用權限是平等的,從而有效避免了個別節(jié)點通信負擔較重的情況??偩€的利用率和系統(tǒng)的通信效率都得以提升,從而也使系統(tǒng)響應的實時性得到改善。而且,即使系統(tǒng)中個別節(jié)點發(fā)生故障,也不會影響其他節(jié)點的正常通信和正常工作。這樣使得系統(tǒng)的“危險”分散,從某種程度上來說,增強了系統(tǒng)的工作可靠性和穩(wěn)定性。
在查詢INT0引腳的高低電平變化時,宜采用定時器TIMER0來定時,在一個固定的時間內查詢INT0引腳是否有高低電平變化。以避免所發(fā)送的數(shù)據(jù)有連續(xù)的1或0發(fā)送時,INT0引腳無高低電平變化,從而導致主控方停止發(fā)送數(shù)據(jù)。
系統(tǒng)軟件設計
軟件的主要流程如下:
1)報警裝置終端程序:完成系統(tǒng)的初始化工作,開始給模數(shù)轉換器發(fā)送啟動轉換信號,使之開始工作,將轉換后的數(shù)據(jù)與空氣中的一氧化碳濃度(已知數(shù)據(jù))相比較,如果其濃度遠大于空氣中一氧化碳的濃度,則說明有火災發(fā)生,否則,繼續(xù)進行轉換、比較。當判斷有火災發(fā)生時,先進行總線偵聽,若檢測到總線上有數(shù)據(jù)傳輸時,則等待總線釋放,若沒有檢測到,則立即從外部ROM里讀出數(shù)據(jù),進行數(shù)據(jù)發(fā)送。
2)偵聽電路中的單片機程序:判斷是否有數(shù)據(jù)接收,若有數(shù)據(jù)接收,則發(fā)送數(shù)據(jù)給遠程終端,并同時輸出高電平給報警裝置單片機的RA2口。
3)數(shù)據(jù)顯示程序:判斷是否有數(shù)據(jù)接收,若有,則初始化LCD,數(shù)據(jù)寫入LCD,顯示信息。最后輸出連續(xù)脈沖信號以驅動報警喇叭。
結論
基于PIC16F87X單片機的報警網絡系統(tǒng),其電路簡單、功耗低、電源要求單一、精度高、系統(tǒng)監(jiān)視范圍廣,具有檢測總線沖突的功能,可以在遠程監(jiān)視系統(tǒng)中顯示火災的具體位置和有關的重要信息。該系統(tǒng)盡可能減少了火災損失,容易擴展為一臺顯示器監(jiān)視較多的報警裝置的系統(tǒng)網絡,在石油化工、航空、煤炭以及其他易于發(fā)生火災的領域,都具有實用價值。
評論