• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > 單片機實現多氣體檢測系統

    單片機實現多氣體檢測系統

    作者: 時間:2012-03-29 來源:網絡 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/186720.htm

    氣體傳感器是一種能將氣體種類及其與濃度有關的信息轉換成電氣信號的裝置。根據這些電氣信號的強弱就可以獲得與待測氣體在環境中存在情況有關的信息,從而可以進行檢測、監控、報警。

    本設計采用酒精傳感器、甲烷傳感器、一氧化碳傳感器等多種氣體傳感器組成傳感器陣列,通過傳感器陣列能把氣體中的特定成分檢測出來,并將其轉化為電信號,然后采用ADC0809 將傳感器輸出的模擬信號轉換為數字信號,運用AT89C51 進行數據處理和計算,并通過LED 顯示氣體種類和濃度信息,實現了對多種氣體的識別和檢測。

    1 硬件電路設計

    本設計硬件電路由數據采集、數據轉換、數據處理、結果顯示和報警等部分組成,涉及的芯片有AD0809 模數轉換芯片、AT89C51、SUN7474頻率發生器以及一些氣體傳感器、驅動電路、復位電路和LED 顯示模塊。系統的功能框圖如圖1 所示。

    1.jpg

    圖1 系統功能框圖

    1.1 氣體傳感器陣列

    氣體傳感器陣列是電子嗅覺系統的關鍵組成單元,相當于初級嗅覺神經元,由具有廣譜響應特性、交叉靈敏度較大、對不同氣味/氣體有不同靈敏度的氣敏元件組成。

    氣體傳感器是組成氣體傳感器陣列的核心器件。氣體傳感器是一種把氣體中的特定成分檢測出來,并將其轉化為電信號的器件。通常,氣體傳感器陣列可以采用數個單獨的氣體傳感器組合而成,并采用集成工藝制作,體積小,功耗低,便于信號的集中采集與處理。單個氣體傳感器與傳敏陣列在特性上有質的區別,單個氣體傳感器對氣味/ 氣體的響應可用強度來表示,而氣敏傳感器陣列除了各個傳感器的響應外,在全部傳感器組成的多維空間中形成響應模式,在環境條件一定的情況下,陣列上的響應模式與其激勵是一一對應的,而這正是該系統能對多種氣味和氣體進行辨識的關鍵所在。

    本設計要求實現對酒精、甲烷、一氧化碳氣體的定性和定量分析,首先最重要的工作是選擇合適的傳感器,通過對性能、可實現性、價格等的對比,針對酒精氣體,選擇的是MQ-303A酒精傳感器,針對甲烷氣體,采用的是MQ-4 半導體氣體傳感器,針對一氧化碳氣體,選擇的是V-40 一氧化碳傳感器,由這三種傳感器組成傳感器陣列。

    該設計通過氣體傳感器陣列采集氣體信息,并將采集到的信息轉化為電信號,然后送到ADC0809 進行模數轉換。

    1.2 數據采集和數據處理系統

    由氣體傳感器陣列輸出的微弱電信號,經各自信號放大電路對信號進行預處理,使其轉換為O ~5V 范圍內變化的直流信號,送到A/D 轉換電路變換為數字信號,對其進行數據采集處理。

    為了方便與89C51 的連接,本系統選用ADC0809芯片對采集到的氣體信息進行模數轉換。其分辨率為8 位,不必進行零點和滿度調整,且具有高阻抗斬波穩定比較器,8個通道的多路開關可直接存取8 個單端模擬信號中的一個。利用寫啟動A / D 轉換器,轉換結束后再由ADC0809 向89C51 發出中斷請求信號,CPU 響應中斷請求。通過對譯碼器的讀操作,讀取轉換結果并送到被測量的相應存儲區。再重新選擇被測量,并再次啟動A/D轉換后中斷返回。ADC0809與單片機89C51 連線線路如圖2 所示。

    2.jpg

    圖2 ADC0809 與89C51 的連線線路

    微處理器采用的是AT89C51 芯片。

    89C51 單片機是ATMEL、PHILIPS和SST等公司生產的與80C51 兼容的低功耗、高性能8 位單片機,具有比8031 更豐富的硬件資源,特別是其內部增加的閃速可電改寫的存儲器Flash ROM給單片機的開發及應用帶來了很大的方便,且芯片價格非常便宜。在該系統中89C51 主要對采集數據進行處理,按各種氣體濃度的數學模型計算出其濃度,由數碼管顯示其相應的氣體種類及濃度值,當濃度超標時,進行報警。

    該系統還采用了分頻器SUN7474.分頻器對脈沖信號進行2的n次方分之一的分頻,例如把32768HZ 的脈沖信號變成1HZ的秒信號。通常利用T觸發器實現,每來一個脈沖后觸發器狀態改變一次,經過n個T觸發器處理后就可以得到2的n次方分之一的分頻信號。89C51接12MHZ晶振,經ALE端后輸出到分頻器為2MHZ,分頻器進行分頻后為ADC0809 提供所需的工作時鐘。

    1.3 顯示電路

    在該設計中,LED 顯示器的顯示方法采用動態顯示。LED 動態顯示的基本做法在于分時輪流選通數碼管的公共端,使得各數碼管輪流導通,在選通相應LED后,即在顯示字段上得到顯示字形碼。這種方式不但能提高數碼管的發光效率,并且由于各個數碼管的字段線是并聯使用的,從而大大簡化了硬件線路。本設計中處理結果采用4位LED顯示,首位顯示氣體類別,后3 位顯示氣體濃度。逐位輪流點亮各個LED,每一位保持1ms,在10~20ms 之內再一次點亮,重復不止。這樣利用人的視覺停留,好像4 位LED 同時點亮一樣。

    綜上可得,基于單片機的多的數據采集、數據處理及結果顯示電路如圖3。

    3.jpg

    圖3 多電路

    2 軟件設計

    本設計由數據采集、數據轉換、數據處理、顯示和報警幾個模塊組成。

    主程序流程圖為圖4。

    4.jpg

    圖4 主程序流程圖

    AD0809 部分程序流程圖為圖5。

    5.jpg

    圖5 AD0809 部分程序流程圖

    顯示子程序流程圖如圖6。

    6.jpg

    圖6 顯示子程序流程圖

    結語

    在本設計中采用多傳感器組成傳感器陣列,可針對多種不同氣體進行信息采集、信息轉換和數據處理,最后顯示氣體種類和濃度信息,為多種氣體的檢測提供了一種切實可行的解決方案。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 拉萨市| 景宁| 邢台县| 车致| 东源县| 镇宁| 乐安县| 临泽县| 嵊泗县| 玉林市| 富蕴县| 文山县| 棋牌| 辽阳县| 峡江县| 南昌县| 奈曼旗| 伊金霍洛旗| 松滋市| 宝应县| 旬邑县| 光泽县| 右玉县| 八宿县| 罗田县| 广昌县| 黄骅市| 昌邑市| 河北区| 宿松县| 太白县| 博野县| 轮台县| 克拉玛依市| 贺州市| 蒙自县| 岳池县| 青冈县| 神池县| 毕节市| 监利县|