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