李浩 儲珂 胡飄 陳悅 李子昂



摘要:設計了基于STC12C5A60S2單片機的一氧化碳檢測報警儀。該儀器具有一氧化碳濃度實時檢測、顯示和聲光報警等功能,采用MQ-7傳感器實時采集空氣內的一氧化碳濃度,通過AD7887進行A/D轉換,將所得到的數字量與單片機事先規定好的閾值進行比對,如果超過閾值,通過LCD12864液晶模塊顯示一氧化碳濃度,并進行聲光報警。該一氧化碳檢測報警儀具有成本低廉、識別精度高的優點,完全可以滿足室內一氧化碳濃度檢測的需要。
關鍵詞:STC12C5A60S2;一氧化碳檢測儀;報警系統
0 ? ?引言
一氧化碳作為一種無色、無味的氣體,吸入后會與人體內的血紅蛋白相結合,對人體產生巨大的傷害。在現實生活中,一氧化碳中毒事件通常都是發生在人們并不知情的情況下,因此急需一種能夠實時、準確監測室內一氧化碳濃度的一氧化碳檢測儀,來保證廣大人民的生命財產安全[1]。本系統設計的這一款一氧化碳檢測儀,采用電化學傳感器實現氣體傳感,通過A/D轉換技術將得到的數字量與預設值進行比對,如果超出預設值,則進行相應的液晶顯示和聲光報警,以此來提醒相關人員及時進行通風通氣,從而有效避免事故的發生。
1 ? ?系統總體設計
一氧化碳檢測系統主要由微處理器、一氧化碳傳感器、A/D轉換器、LCD液晶顯示器等硬件組成,具體檢測流程如圖1所示。該系統以微處理器為核心,芯片采用STC12C5A60S2,選用市場上常見的MQ-7一氧化碳傳感器進行信號的采集,采集的信號經過處理以后,通過A/D轉換器轉變成數字量,所得到的數字量與單片機事先規定好的閾值進行比對,如果未超過閾值,則自動忽略。如果超過閾值,則進行相應的數據處理,進行聲光報警,同時將轉化后的數字量信號傳入LCD顯示器,通過LCD可以有效地將相應的氣體濃度值顯示出來。整機主要實現了對一氧化碳濃度的實時監測,并能及時反饋監測結果;必要時還可設計與PC機通信單元連接,將一段時間內所測數據采集存儲起來,然后通過RS485總線上傳到PC機,供技術人員進行查看、預測。
2 ? ?整體硬件設計
2.1 ? ?微處理器模塊設計
在我們所設計的這套系統中采用的微處理器是STC12C5A60S2單片機,它是由宏晶公司生產的單時鐘的單片機[2],相比于之前的51單片機,一方面,這款單片機的指令代碼可以完全兼容傳統8051單片機代碼,使代碼具有更好的通用性,極大地減少了程序員的工作量;另一方面,這款單片機在傳統的8051單片機基礎上,性能得到了大幅度的提高,具有更好的適用場景與適用方向。
2.2 ? ?氣體傳感模塊設計
本系統采用的MQ-7[3]氣體傳感器所依據的原理是通過高低溫循環檢測方式檢測一氧化碳的濃度,該傳感器的電導率隨一氧化碳濃度的增大而增大,通過設計簡單的測試電路就可以將傳感器中電導率的變化,轉換為與一氧化碳氣體濃度相對應的輸出信號進行輸出,從而完成傳感器的信號采集任務。圖2所示為具體的MQ-7電路實驗圖。
2.3 ? ?顯示模塊設計
本系統采用的帶中文字庫的LCD12864是一種既具有8位并行、2線串行的多種接口方式,同時內部也含有國標一級或二級簡體中文字庫的點陣液晶顯示模塊,該LCD顯示器顯示分辨率為128×64,內置8 192個16×16點漢字庫,其具有低電壓、低功耗的顯著特點,所以非常適用于長期顯示字體。
2.4 ? ?聲光報警模塊設計
聲音報警模塊主要選用壓電式蜂鳴器。當系統所轉化的數字量與報警閾值相比較后大于所設定的閾值,會輸出相應信號,驅動聲音報警,如圖3所示。在圖中,P26接三極管基極輸入端,當P26輸出高電平1時,三極管處于導通狀態,電路導通,蜂鳴器通電而發音;當P26輸出低電平0時,三極管處于截止狀態,電路斷開,此時蜂鳴器停止發音。
本系統所設計的光報警模塊主要由發光二極管及相應電路組成,如圖4所示。當對應端口輸出低電平時,二極管處于導通狀態,電路導通,發光二極管發出光亮來提醒用戶及時采取預防措施。
3 ? ?整體軟件設計
3.1 ? ?軟件開發環境
STC12C5A60S2可以說是51單片機的升級版,要想進行好的開發,選擇良好的運行環境必不可少。于是本系統選用常見且上手較快的開發工具KEIL MDK進行整體軟件的開發。
KEIL C51是美國KEIL Software公司出品的51系列兼容單片機C語言軟件開發系統,與其他語言相比,C語言不僅好學易用,而且更適用于底層硬件的開發。KEIL將包括C編譯器、宏匯編器、鏈接器、庫管理器和仿真調試器等在內的全部所需工具,最終通過一個集成開發環境組合在一起,從而大大較少了程序員的勞動量。
3.2 ? ?系統軟件開發流程
整體軟件的編程采用C語言,運行環境為KEIL μVision4。整個軟件設計包括主程序模塊設計、A/D轉換模塊設計、顯示模塊設計和聲光報警模塊設計。系統的整體流程圖如圖5所示。首先通過系統中一氧化碳傳感器將信號采集過來,進行信號增強等處理,通過A/D轉換器進行模擬—數字轉化,將得到的數字量與存儲器中的閾值進行比較,如果大于相應的閾值,則判定為一氧化碳超出標準,相應的端口輸出低電平,三極管導通,電路連通,進行聲光報警;反之,當數據小于相應的閾值,則停止報警。
3.3 ? ?A/D開發流程
在本系統中,根據實時采集到的A/D內置寄存器中的數據,通過一定的對應關系可以進一步計算出I/O口的電壓,再利用所得到的電壓就可以反推出傳感器所測得的氣體濃度。使用ADC內置函數可以得到一氧化碳傳感器輸出的電壓值,繼續使用另一個ADC內置函數即可換算出一氧化碳氣體濃度。
3.4 ? ?顯示部分和聲光報警部分開發流程
在本模塊中,字符和漢字均是以點陣的形式進行存儲的,LCD的顯示也是用16×16的點陣數據來確定的。具體的確定方式為由每一個二進制位數來表示每一個點,在LCD上如果顯示亮點就表示該點存入的是1,顯示暗點就表示存入的值是0。當需要寫入漢字時,事先進行引腳配置,進行數字1與0的配置之后,就可以進行漢字的顯示。通過A/D轉換得到所需數字量之后,與內置存儲器中所存值比較大小,如果高于所存值則輸出低電平,驅動聲光報警電路,之后導通三極管觸發蜂鳴器進行聲音報警,并點亮二極管進行提示。
4 ? ?結語
近年來,我國衛生、環保、建筑各部門陸續出臺了一系列有關室內環境空氣污染控制和室內空氣質量的標準或規定[4]。針對以上規定,本文提出了一種一氧化碳檢測報警儀,其成本低廉、使用簡單,設計的主要優點在于:(1)使用場景廣泛,這套裝置可以適用于家庭內部、農家大棚內等;(2)使用簡單,使用這套裝置無需過多操作,將裝置通電放到所需場景中即可,由于低功耗,可以使用很長時間;(3)成本低廉,這套裝置所需成本低,檢測精度高,所以具有非常廣泛的使用前景。
[參考文獻]
[1] 李瑞福.基于單片機AT89C51的一氧化碳濃度檢測儀設計[J].軟件,2015,36(9):106-108.
[2] 涂菁,張輝,楊錠康,等.基于STC12C5A60S2的智能滅火小車的研究[J].工業控制計算機,2020,33(5):148-149.
[3] 張鯤,陳美伊,李壯,等.基于單片機火災報警系統設計原理及方案的比較分析與研究[J].新型工業化,2014,4(2):74-77.
[4] 薛嬌嬈.室內空氣環境監測技術的現狀及問題[J].綠色科技,2016(20):59-60.
收稿日期:2020-07-07
作者簡介:李浩(1998—),男,內蒙赤峰人,研究方向:信號處理。