劉雨佳
摘 要 隨著經濟的騰飛,社會也在日新月異的發展,人們的生活水平和娛樂方式在發生著改變,其中許多娛樂活動都離不開酒,但是這也引發了許多問題。導致交通事故的重要原因之一就是酒后駕車,交警在執法現場可以通過檢測司機呼出氣體中酒精氣體濃度來判斷是否有酒駕嫌疑。酒精濃度探測儀日益受到重視,使用范圍也逐漸擴大,例如在一些需要控制空氣中酒精氣體濃度的場所,可以使用它來對氣體監測。隨著物質生活的極大豐富,酒精濃度探測儀也會有更好的應用前景。
關鍵詞 酒精探測儀 單片機 MQ-3
中圖分類號:TP309.1文獻標識碼:A
本研究設計的酒精濃度探測儀是一款實用性強、安全可靠的酒精氣體濃度探測工具,傳感器部分采用MQ-3型氣體傳感器對待測氣體中的酒精氣體濃度進行檢測,將模擬信號進行A/D轉換后,核心部分用AT89S51型單片機對采集到的數據進行分析、處理,最后把經過處理的數據,通過液晶屏顯示出十進制數字。此外,在系統中還可以根據不同的需要設定或修改閥值,若所檢測到的濃度超過閥值,就會發出聲光信號進行報警提示。
1系統的硬件電路設計
AT89S51芯片是酒精濃度探測儀的一個核心部分,是將傳感器采集到的電信號進行調理、分析的重要元件。芯片有40個引腳,引腳結構與80C51芯片相同,在這里就不作具體介紹。其中有4個8位的并行I/O端口,分別記作P0、P1、P2、P3,這32個I/O口是單片機與外部聯系的重要通道。整個系統的電路設計比較簡單,總共使用了23個引腳,大致分為五個部分:P1口連接S2、S3獨立按鍵,采集閥值調整信息;P0口與LCD顯示器相連,通過軟件編程控制顯示器顯示酒精濃度;P3口連接報警模塊,當采樣數據中的酒精濃度超過閥值時,通過P3.2口控制發光二極管和蜂鳴器發出指示信號;P2口與ADC0832芯片連接,將傳感器采集的信號經過A/D轉換后輸入單片機進行分析、處理;XTAL1與XTAL2端口接片外晶體組成內部時鐘。
傳感器模塊的設計中,傳感器是酒精濃度探測儀的關鍵部分,只有先采集到要探測的信息,才能在后續的系統中進行一系列處理。使用氣敏型傳感器對氣體探測時,重點要注意干擾氣體對靈敏度的影響。其外形前一章節我們已經介紹過。經過調理,采集到的原始信號被轉換成電壓信號,再經過A/D轉換送入單片機處理。該傳感器模塊的設計方便與單片機系統接口組成檢測儀器,信號輸出0~5V電壓,并且酒精濃度越高,輸出電壓越高。MQ-3型傳感器的敏感部分由微型Al2O3陶瓷管和SnO2敏感層構成,加熱器內有鎳鉻合金電阻絲,在敏感電阻工作時提供合適的工作溫度。傳感器一共有六個引腳,其中兩個用于加熱器,其余四個用于電壓輸出,標準回路由兩部分組成。
在報警顯示模塊設計時,在系統成功測定到酒精氣體濃度后,需要將濃度用字母、數字等方式顯示出來。SMC 1602液晶屏是一種用來顯示字母、數字、符號等內容的點陣型液晶模塊,它由若干個5?或者5?1等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。其中第15、16腳為背光源的電源,3號端口VO外接一電阻R分壓,用來調整顯示對比度,接電源VCC時得到最低的對比度,接地時得到最高的對比度。按照此原理,對比度可以通過外接電阻大小直接調整。液晶屏的RS、E/W和E控制引腳、第7—14數據引腳接單片機的P0端口。
2系統的軟件設計
支持51單片機的編程語言有:51匯編、PL/M宏匯編、C51、BASIC等。相比于匯編語言,C語言具有在功能性、可讀性、結構性、可維護性上的明顯優勢,因而易學易用。
C語言是由Pascal語言演變而來的一種結構化程序設計語言。主要優點:規模最小(關鍵字少)、書寫自由、可移植性好、表達能力強(豐富的數據類型、結構、運算符)、結構好(程序基本單位是函數)、可直接控制硬件資源(物理地址訪問能力)、目標代碼質量高(接近或超過匯編代碼)。主要缺點:語法定義不嚴格(出錯檢查難)、運算符優先級復雜。
Keil編譯軟件是德國Keil Software公司出品的單片機集成開發軟件,使用方便、代碼緊湊并且可以運行在Windows XP/Win7等操作系統下,優于其他多種編譯器,非常適合我們使用。從實用性和語言的熟悉程度考慮,本實驗采用C語言編制程序設計,用Keil編譯器進行編譯。
3系統調試與測試
在硬件調試中要注意的幾點問題:
(1)電路板焊接結束后,不能立刻上電。先用萬用表測量電源VCC與GND端是否短路,如果短路馬上檢查電路。確定沒有短路之后,可以進行下一步對元器件引腳的檢查,一是檢查有沒有虛焊、漏焊和導線焊接短路的情況,二是在此復查各元器件的設計,防止焊錯引腳影響到模塊的實現。
(2)經過檢查電路,確保焊接沒有問題后,可以接通USB電源,用萬用表電壓檔測量5V和GND之間的電壓是否正常,如果電壓不正常,則立刻斷電,按照上一步的檢查方式逐一排查。
最后進行實物測試,通上電源,在測試前讓傳感器預熱3-5分鐘。警察檢測駕駛員是否酒駕時一般是直接對著測量儀器管吹氣,如果要用吹氣的方式探測,可以加裝吹氣套筒以避免空氣中雜質的干擾,否則氣體濃度顯著下降。為了方便觀察,實物測試時用一小團棉花蘸取酒精溶液,放在傳感器前,使其進行感應。本次測試所得酒精濃度為92mg/L,系統設定的閾值為80mg/L,已經超過設定的閾值,系統報警。經過多次測試,結果顯示,系統的精確性較高,能夠滿足設計的要求,達到了預先的目的。