羅 怡,寧 媛
(貴州大學(xué) 電氣工程學(xué)院,貴陽 550025)
研究可知,造成交通事故的因素有很多,其中包括人、車、環(huán)境等,尤其是駕駛員的自身因素就占據(jù)了較高比例。然而,由駕駛員所導(dǎo)致交通事故的重要因素之一就是酒后駕駛。據(jù)不完全統(tǒng)計,社會每年仍會有為數(shù)不少的各年齡段的人會因為酒后駕駛行為付出巨大代價,并已成為引發(fā)交通事故的主要原因之一。
目前主流使用的酒精濃度檢測儀大多是利用電化學(xué)-燃料電池作為傳感器這一類型的檢測儀,其原理是駕駛員呼出的氣體中的酒精被催化劑氧化成氧化碳或者乙醛和水,在此過程中釋放出化學(xué)能,化學(xué)能經(jīng)過能量轉(zhuǎn)換器轉(zhuǎn)換成電流后通過電伏特表顯示出酒精濃度值?,F(xiàn)如今國內(nèi)的防酒駕的電子產(chǎn)品種類繁多[1-2],然而這些產(chǎn)品大多結(jié)構(gòu)復(fù)雜、價格昂貴、制造工藝難度大,因此沒有得到普及。基于上述原因,本文從結(jié)構(gòu)復(fù)雜度、制造成本角度出發(fā),設(shè)計了基于單片機(jī)的酒精濃度在線檢測儀,該檢測儀具備LCD 顯示功能以及聲光報警功能,駕駛員可以利用該檢測儀進(jìn)行自我檢測,從而減少酒駕引發(fā)的道路交通安全事故。該酒精濃度檢測儀可以通過改變其酒精濃度的檢測閾值,以適用于各種不同的工作場所,因而具有較強(qiáng)的市場吸引力。
本設(shè)計的總體方案是以單片機(jī)為基礎(chǔ),酒精傳感器采集空氣中的酒精濃度,利用轉(zhuǎn)換裝置將其轉(zhuǎn)換成電壓信號,將電壓信號作為A/D 轉(zhuǎn)換電路的輸入,使其轉(zhuǎn)換成數(shù)字信號傳遞給單片機(jī)的同時,并在液晶顯示屏上顯示出當(dāng)前的酒精濃度值。在不同的檢測要求下,可以通過按鍵設(shè)定不同的報警濃度值。檢測酒精濃度時,濃度低于設(shè)定值,綠燈閃爍;一旦濃度大于設(shè)定值,單片機(jī)就驅(qū)動報警電路,此時,蜂鳴器響起,紅燈閃爍,繼電器吸合。
在單片機(jī)的選擇上,選擇的是STC89C51 單片機(jī),此型號單片機(jī)運(yùn)算速度快、功耗小、抗干擾能力強(qiáng)[3],利用的是傳感器MQ-3 采集酒精濃度,選擇ADC0832 模數(shù)轉(zhuǎn)換器轉(zhuǎn)換采集信號,通過LCD1602來實(shí)時顯示信息。該系統(tǒng)將采集到的信息與設(shè)定的閾值進(jìn)行對比,如果超過閾值,系統(tǒng)將會發(fā)出聲光報警提示,閾值可以由按鍵進(jìn)行設(shè)置。其總體設(shè)計框架如圖1 所示。
圖1 方案總體框圖Fig. 1 The overall framework design of the system
單片機(jī)最小系統(tǒng)是能使單片機(jī)正常工作的最小硬件電路。本文設(shè)計的酒精濃度在線檢測儀以單片機(jī)最小系統(tǒng)作為核心的控制部分,單片機(jī)通過驅(qū)動A/D 轉(zhuǎn)換電路、液晶顯示電路、報警電路以及繼電器等,實(shí)現(xiàn)酒精濃度檢測的功能。單片機(jī)最小系統(tǒng)在整個酒精檢測系統(tǒng)中起著統(tǒng)籌的作用。本文選用STC89C52 單片機(jī)作為系統(tǒng)的主控芯片來設(shè)計單片機(jī)最小系統(tǒng)。主要由STC89C52 單片機(jī)、復(fù)位電路、時鐘電路構(gòu)成。
目前,通常使用的氣體傳感器有半導(dǎo)體型氣體傳感器和電化學(xué)型氣體傳感器兩種。其中,半導(dǎo)體型傳感器具有結(jié)構(gòu)簡單、靈敏度高、價格低廉、動態(tài)性能好等優(yōu)點(diǎn),且半導(dǎo)體為敏感材料,容易實(shí)現(xiàn)傳感器智能化和集成化。因此本文設(shè)計的酒精濃度檢測儀選用的是MQ-3 半導(dǎo)體型酒精氣體傳感器。研究可知,MQ-3 氣敏傳感器的工作原理是利用氣敏半導(dǎo)體材料同氣體接觸后,會發(fā)生還原反應(yīng)同時釋放出大量的熱量,造成半導(dǎo)體電阻發(fā)生變化,可以檢測的范圍0.04~4 mg/L[4]。
一般需要采集的信號都是連續(xù)變化的模擬量,此模擬量需經(jīng)過傳感器轉(zhuǎn)換成模擬量,再經(jīng)由A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號才可被傳送至單片機(jī)中使用軟件對其進(jìn)行處理。本文選用的是ADC0832 模數(shù)轉(zhuǎn)換器。ADC0832 具有8 位分辨率,最高分辨達(dá)到256 級,對于一般的模數(shù)轉(zhuǎn)換要求均可適應(yīng)。同時,還具備雙通道A/D 轉(zhuǎn)換,雙數(shù)據(jù)輸出可以減小數(shù)據(jù)的誤差,轉(zhuǎn)換速度快、并且穩(wěn)定性強(qiáng)。ADC0832 芯片與單片機(jī)的接口一般有4 條數(shù)據(jù)線,分別是CS、CLK、DO、DI。其中,CLK 提供工作時鐘;DO 傳遞數(shù)字信號;DL 用于選擇電壓采樣輸入通道。當(dāng)處于通信狀態(tài)時,DO 端和DI 端不能同時有效,并且單片機(jī)與2 個端口均屬于雙向接口??紤]到對單片機(jī)I/O 口的節(jié)省使用,A/D 轉(zhuǎn)換電路在設(shè)計時選擇將這2 個端口并聯(lián)在一根數(shù)據(jù)線上使用。
在單片機(jī)中,常用的液晶顯示屏有2 種。一種是LCD12864 液晶顯示屏,另一種是LCD1602 液晶顯示器。其中,LCD1602 屬于字符型液晶顯示器,其主控芯片是HD44780 或其他兼容芯片,單片機(jī)只要將相應(yīng)的命令和數(shù)據(jù)寫入LCD 模塊就可以顯示所需內(nèi)容。
本設(shè)計讀取按鍵利用的是按鍵接低的方式。單片機(jī)初始時輸入高電平,當(dāng)按下按鍵時,單片機(jī)輸入一個低電平,并且對這個信號進(jìn)行處理。單片機(jī)的鍵盤電路主要分為獨(dú)立按鍵和矩陣按鍵兩種。本設(shè)計需要的鍵盤較少,因此采用的是獨(dú)立鍵盤接法,該方法就是利用單片機(jī)I/O 口的電平高低來判斷按鍵是否按下。
報警電路包括燈光指示電路和聲音報警電路兩部分。其中,燈光指示電路采用的是2 個LED 燈(紅燈和綠燈)和2 個電阻組成的。綠色的LED 燈作為酒精濃度低于設(shè)定值的安全提示燈,而紅燈作為當(dāng)檢測到的濃度值超過設(shè)定值時的報警提示燈;聲音報警電路則采用了有源蜂鳴器,當(dāng)紅燈亮起時蜂鳴器同時響起。
在本次設(shè)計中,以STC89C51 單片機(jī)作為控制整體電路的核心,將酒精傳感器部分、A/D 轉(zhuǎn)換部分、顯示部分、按鍵部分以及報警部分連接成一個整體。通過邏輯程序進(jìn)一步控制整體電路,以實(shí)現(xiàn)所要求的功能。程序的主函數(shù)是利用C 語言進(jìn)行編程。單片機(jī)上電后,進(jìn)入程序初始化,判斷是否按下按鍵設(shè)置酒精檢測濃度范圍,然后系統(tǒng)將會轉(zhuǎn)入監(jiān)控狀態(tài),檢測空氣中的酒精濃度。酒精濃度信息經(jīng)ADC0832 轉(zhuǎn)換處理后,由單片機(jī)進(jìn)行分析判斷,在LCD1602 液晶屏上顯示當(dāng)前酒精濃度,超過設(shè)置酒精濃度時啟動報警。系統(tǒng)研發(fā)流程如圖2 所示。
圖2 主程序流程圖Fig. 2 Flow chart of the program design
ADC0809 初始化后,將接收到的模擬量轉(zhuǎn)換成數(shù)字量,并存入內(nèi)存單元。A/D 轉(zhuǎn)換程序流程如圖3 所示。
圖3 A/D 模數(shù)轉(zhuǎn)換程序設(shè)計Fig. 3 Flow chart of A/D conversion program
對設(shè)計的酒精濃度在線檢測儀進(jìn)行仿真分析。MQ-3 酒精傳感器采集的濃度值轉(zhuǎn)換成電壓模擬信號,將其傳遞到A/D 模數(shù)轉(zhuǎn)換電路中轉(zhuǎn)換成數(shù)字信號,傳送到STC89C51 單片機(jī)處理,并將濃度通過LCD1602 顯示出來。在仿真模擬酒精檢測過程中,可以通過滑動變阻器電路改變輸入值與設(shè)定閾值對比,若檢測值大于設(shè)定值時,則報警電路發(fā)出報警。其仿真結(jié)果如圖4 所示。通過對該酒精檢測系統(tǒng)進(jìn)行仿真分析,可以得出本文研發(fā)設(shè)計的酒精濃度在線檢測系統(tǒng)在理論上是可以實(shí)現(xiàn)其報警功能的,基本上達(dá)到了設(shè)計的要求。
圖4 酒精濃度在線檢測系統(tǒng)仿真圖Fig. 4 Simulation diagram of alcohol concentration online detection system
對設(shè)計好的酒精濃度在線檢測儀進(jìn)行實(shí)驗驗證,觀察其是否能滿足正常使用要求。購買所需要的元器件,利用焊接技術(shù)焊制出的酒精濃度在線檢測儀,如圖5 所示。設(shè)置的閾值為25 mg/100 mL,檢測到空氣中的酒精濃度超過設(shè)置的閾值,則紅燈閃爍,蜂鳴器響起。
圖5 酒精濃度在線檢測儀實(shí)驗結(jié)果Fig. 5 Alcohol concentration online detector experimental results
通過實(shí)驗可以看出,當(dāng)酒精濃度超過設(shè)置的閾值,則發(fā)出報警提示,低于閾值、報警停止。實(shí)驗說明本文設(shè)計的酒精濃度在線檢測儀能夠滿足使用要求。
設(shè)計了基于STC89C51 單片機(jī)的酒精濃度在線檢測儀,MQ-3 酒精傳感器采集信息,LCD1602 液晶顯示模塊輸出信息。經(jīng)實(shí)驗表明:該檢測儀能夠較為準(zhǔn)確快速地檢測出當(dāng)前環(huán)境下的酒精濃度,并通過液晶顯示屏顯示出數(shù)值,超過設(shè)定值將開啟聲光報警,另外還可以通過按鍵設(shè)定不同的閾值,具有較好的實(shí)際應(yīng)用價值。