滕云飛 史秀男 沈陽工學(xué)院
酒精濃度測試儀的設(shè)計(jì)與研究
滕云飛 史秀男 沈陽工學(xué)院
綜觀現(xiàn)有的酒精檢測器系統(tǒng)以單片機(jī)AT89S52單片機(jī)為基礎(chǔ),并借助相應(yīng)的外圍電路,將檢測結(jié)果通過LED、LCD等顯示方式告知使用者。本設(shè)計(jì)用的MQK2酒精傳感器就是一種對(duì)氣體敏感的化學(xué)傳感器,它能隨著外部氣體的濃度或不同而改變敏感膜的電阻。同時(shí)采用了DS18B20溫度采集,它能夠直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。系統(tǒng)選AT89S52單片機(jī)為控制核心,對(duì)檢測到的氣體狀況進(jìn)行相應(yīng)的處理分析、處理和顯示,并通過報(bào)警進(jìn)行提示。
AT89S52 傳感器 A/D轉(zhuǎn)換器 DS18B20
氣體檢測儀器儀表行業(yè)的廣闊前景、快速發(fā)展及較高利潤水平,也吸引了相關(guān)工業(yè)儀器儀表巨頭的高度關(guān)注。部分工業(yè)儀器儀表巨頭迅速調(diào)整方向介入氣體檢測儀器儀表行業(yè),市場競爭越來越激烈。可以預(yù)見國內(nèi)一些小型的酒精濃度檢測儀器企業(yè)面臨洗牌的危險(xiǎn),而規(guī)模相對(duì)較大的企業(yè)也需要加強(qiáng)研發(fā)和技術(shù)創(chuàng)新,擴(kuò)大生產(chǎn)規(guī)模,提高市場占有率,并迅速建立核心氣體傳感器研發(fā)和生產(chǎn)能力,以便盡快做大做強(qiáng),才有足夠?qū)嵙εc跨國巨頭競爭。
大量的統(tǒng)計(jì)研究結(jié)果表明,如果被測者深吸氣后以中等力度呼氣達(dá)三秒鐘上,這時(shí)呼出的氣就是從肺部深處出來的氣體。呼氣中的酒精含量與血液中的酒精含量有如下關(guān)系:
其中,BAC代表血液酒精濃度,BrAC表示呼氣酒精濃度,in mg/L表示以每升中多少毫克為單位。也就是說,以毫克/升為單位的血液酒精濃度在數(shù)值上相當(dāng)于以毫克/升為單位的呼氣酒精濃度乘上系數(shù)2200(由于各國的情況不同,在美國此系數(shù)采用2000,而歐洲很多國家采用2100)。由于BrAC受到環(huán)境溫度、濕度以及被測試者個(gè)體差異等多方面影響,其測試結(jié)果不如直接檢測BAC準(zhǔn)確,但是該結(jié)果仍可作為判斷飲酒程度的重要參考。我國對(duì)酒后駕駛的判定界限為10~30g/100L(血液中的酒精濃度)。
模數(shù)轉(zhuǎn)換采用ADC0804,對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0-5V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。ADC0804有20個(gè)引腳,其中11-18管腳為數(shù)字信號(hào)輸出端,與單片機(jī)P1口相連;cs為片選端,接單片機(jī)P3.5口,當(dāng)cs接低電平時(shí)ADC0804開始工作,WR接P3.6口,當(dāng)WR變?yōu)榈碗娖皆偬優(yōu)楦唠娖胶髥?dòng)A/D轉(zhuǎn)換,RD接單片機(jī)P3.7口,當(dāng)RD由低電平跳變?yōu)榈碗娖綍r(shí),單片機(jī)讀走A/D轉(zhuǎn)換完的數(shù)字信號(hào)。鍵盤分編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識(shí)別由專用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號(hào)或鍵值的稱為編碼鍵盤,如計(jì)算機(jī)鍵盤。而靠軟件編程來識(shí)別的稱為非編碼鍵盤;在單片機(jī)組成的各種系統(tǒng)中,用的最多的是非編碼鍵盤。非編碼鍵盤有又分為:獨(dú)立鍵盤和行列式(又稱為矩陣式)鍵盤。本設(shè)計(jì)采用3個(gè)獨(dú)立鍵盤來輸入數(shù)字量,三個(gè)鍵盤分別接單片機(jī)P2.0,P2.1,P2.2。使用時(shí)先將鍵盤借口初始化,即將P2.0~P2.2全部置1,然后判斷是否有鍵按下,若鍵盤輸入端變?yōu)榈碗娖?,表明此鍵盤按下,在軟件編程時(shí),注意鍵盤消抖。為充分加熱傳感器的電熱絲,在系統(tǒng)初始化完成后,首先啟動(dòng)DS18B20,顯示當(dāng)前環(huán)境溫度同時(shí)開始預(yù)熱,時(shí)間大約30s。30s計(jì)時(shí)到后,并等待用戶的按鍵操作,若未檢測到任何按鍵按下,系統(tǒng)進(jìn)入待機(jī)狀態(tài)。系統(tǒng)共分3個(gè)按鍵K1、K2、K3,分別接至單片機(jī)P2.0-P2.2口,初始化時(shí)將P2.0-P2.2置1,當(dāng)檢測到輸入端為低電平時(shí)表示有鍵按下,通過軟件5ms延時(shí),消除鍵盤抖動(dòng)。在待機(jī)狀態(tài)時(shí)若按下K1鍵提示被測者吹氣,若檢測過程中需要取消測試,可按K2鍵,此時(shí)系統(tǒng)放棄測試,并可回到待機(jī)狀態(tài)??紤]到環(huán)境、濕度以及被測試者的個(gè)體差異等因素,有時(shí)需要修改濃度的警戒值,在待機(jī)狀態(tài)下,按下K3,數(shù)碼管上將顯示當(dāng)前設(shè)置值,此時(shí)按下K1、K2可調(diào)節(jié)警戒值。每按一次K1值可將報(bào)警濃度上調(diào)0.02mg/L(最高到0.72mg/L),按下K2則下調(diào)0.02mg/L(最低到0.04mg/L),調(diào)整完后再按下K3值可保存新的警戒值。當(dāng)開始檢測時(shí),采樣傳感器的輸出信號(hào),并準(zhǔn)備A/D轉(zhuǎn)換。每隔50ms采集一個(gè)電壓值,共采集10個(gè),取其中最大的3個(gè)結(jié)果,并計(jì)算其平均數(shù)。在單片機(jī)按鍵在閉合和斷開時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象。一般消抖的方法有硬件消抖和軟件消抖。本設(shè)計(jì)采用軟件辦法消除鍵盤抖動(dòng),即當(dāng)鍵盤按下后,先延時(shí)10ms再判斷該鍵盤是否按下,若此時(shí)鍵盤仍然按下,則表明此鍵盤確實(shí)被按下。同時(shí)應(yīng)在松手時(shí)進(jìn)行松手檢測,方法如上。
本文設(shè)計(jì)了基于單片機(jī)的酒精濃度檢測儀,設(shè)計(jì)過程包括了硬件電路設(shè)計(jì)和軟件程序的編寫兩部分。硬件電路部分結(jié)構(gòu)簡單、使用方便、適合大眾化使用。軟件部分采用模塊化設(shè)計(jì)思想,各個(gè)子程序的功能相對(duì)獨(dú)立,便于調(diào)試和修改。通過軟、硬件聯(lián)合調(diào)試,實(shí)驗(yàn)結(jié)果滿足設(shè)計(jì)基本要求,達(dá)到設(shè)計(jì)目標(biāo)。
史秀男(通訊作者),沈陽工學(xué)院信息與控制學(xué)院通信教研室,講師。