羅 怡,寧 媛
(貴州大學 電氣工程學院,貴陽 550025)
研究可知,造成交通事故的因素有很多,其中包括人、車、環境等,尤其是駕駛員的自身因素就占據了較高比例。然而,由駕駛員所導致交通事故的重要因素之一就是酒后駕駛。據不完全統計,社會每年仍會有為數不少的各年齡段的人會因為酒后駕駛行為付出巨大代價,并已成為引發交通事故的主要原因之一。
目前主流使用的酒精濃度檢測儀大多是利用電化學-燃料電池作為傳感器這一類型的檢測儀,其原理是駕駛員呼出的氣體中的酒精被催化劑氧化成氧化碳或者乙醛和水,在此過程中釋放出化學能,化學能經過能量轉換器轉換成電流后通過電伏特表顯示出酒精濃度值?,F如今國內的防酒駕的電子產品種類繁多[1-2],然而這些產品大多結構復雜、價格昂貴、制造工藝難度大,因此沒有得到普及?;谏鲜鲈颍疚膹慕Y構復雜度、制造成本角度出發,設計了基于單片機的酒精濃度在線檢測儀,該檢測儀具備LCD 顯示功能以及聲光報警功能,駕駛員可以利用該檢測儀進行自我檢測,從而減少酒駕引發的道路交通安全事故。該酒精濃度檢測儀可以通過改變其酒精濃度的檢測閾值,以適用于各種不同的工作場所,因而具有較強的市場吸引力。
本設計的總體方案是以單片機為基礎,酒精傳感器采集空氣中的酒精濃度,利用轉換裝置將其轉換成電壓信號,將電壓信號作為A/D 轉換電路的輸入,使其轉換成數字信號傳遞給單片機的同時,并在液晶顯示屏上顯示出當前的酒精濃度值。在不同的檢測要求下,可以通過按鍵設定不同的報警濃度值。檢測酒精濃度時,濃度低于設定值,綠燈閃爍;一旦濃度大于設定值,單片機就驅動報警電路,此時,蜂鳴器響起,紅燈閃爍,繼電器吸合。
在單片機的選擇上,選擇的是STC89C51 單片機,此型號單片機運算速度快、功耗小、抗干擾能力強[3],利用的是傳感器MQ-3 采集酒精濃度,選擇ADC0832 模數轉換器轉換采集信號,通過LCD1602來實時顯示信息。該系統將采集到的信息與設定的閾值進行對比,如果超過閾值,系統將會發出聲光報警提示,閾值可以由按鍵進行設置。其總體設計框架如圖1 所示。

圖1 方案總體框圖Fig. 1 The overall framework design of the system
單片機最小系統是能使單片機正常工作的最小硬件電路。本文設計的酒精濃度在線檢測儀以單片機最小系統作為核心的控制部分,單片機通過驅動A/D 轉換電路、液晶顯示電路、報警電路以及繼電器等,實現酒精濃度檢測的功能。單片機最小系統在整個酒精檢測系統中起著統籌的作用。本文選用STC89C52 單片機作為系統的主控芯片來設計單片機最小系統。主要由STC89C52 單片機、復位電路、時鐘電路構成。
目前,通常使用的氣體傳感器有半導體型氣體傳感器和電化學型氣體傳感器兩種。其中,半導體型傳感器具有結構簡單、靈敏度高、價格低廉、動態性能好等優點,且半導體為敏感材料,容易實現傳感器智能化和集成化。因此本文設計的酒精濃度檢測儀選用的是MQ-3 半導體型酒精氣體傳感器。研究可知,MQ-3 氣敏傳感器的工作原理是利用氣敏半導體材料同氣體接觸后,會發生還原反應同時釋放出大量的熱量,造成半導體電阻發生變化,可以檢測的范圍0.04~4 mg/L[4]。
一般需要采集的信號都是連續變化的模擬量,此模擬量需經過傳感器轉換成模擬量,再經由A/D轉換器轉換成數字信號才可被傳送至單片機中使用軟件對其進行處理。本文選用的是ADC0832 模數轉換器。ADC0832 具有8 位分辨率,最高分辨達到256 級,對于一般的模數轉換要求均可適應。同時,還具備雙通道A/D 轉換,雙數據輸出可以減小數據的誤差,轉換速度快、并且穩定性強。ADC0832 芯片與單片機的接口一般有4 條數據線,分別是CS、CLK、DO、DI。其中,CLK 提供工作時鐘;DO 傳遞數字信號;DL 用于選擇電壓采樣輸入通道。當處于通信狀態時,DO 端和DI 端不能同時有效,并且單片機與2 個端口均屬于雙向接口??紤]到對單片機I/O 口的節省使用,A/D 轉換電路在設計時選擇將這2 個端口并聯在一根數據線上使用。
在單片機中,常用的液晶顯示屏有2 種。一種是LCD12864 液晶顯示屏,另一種是LCD1602 液晶顯示器。其中,LCD1602 屬于字符型液晶顯示器,其主控芯片是HD44780 或其他兼容芯片,單片機只要將相應的命令和數據寫入LCD 模塊就可以顯示所需內容。
本設計讀取按鍵利用的是按鍵接低的方式。單片機初始時輸入高電平,當按下按鍵時,單片機輸入一個低電平,并且對這個信號進行處理。單片機的鍵盤電路主要分為獨立按鍵和矩陣按鍵兩種。本設計需要的鍵盤較少,因此采用的是獨立鍵盤接法,該方法就是利用單片機I/O 口的電平高低來判斷按鍵是否按下。
報警電路包括燈光指示電路和聲音報警電路兩部分。其中,燈光指示電路采用的是2 個LED 燈(紅燈和綠燈)和2 個電阻組成的。綠色的LED 燈作為酒精濃度低于設定值的安全提示燈,而紅燈作為當檢測到的濃度值超過設定值時的報警提示燈;聲音報警電路則采用了有源蜂鳴器,當紅燈亮起時蜂鳴器同時響起。
在本次設計中,以STC89C51 單片機作為控制整體電路的核心,將酒精傳感器部分、A/D 轉換部分、顯示部分、按鍵部分以及報警部分連接成一個整體。通過邏輯程序進一步控制整體電路,以實現所要求的功能。程序的主函數是利用C 語言進行編程。單片機上電后,進入程序初始化,判斷是否按下按鍵設置酒精檢測濃度范圍,然后系統將會轉入監控狀態,檢測空氣中的酒精濃度。酒精濃度信息經ADC0832 轉換處理后,由單片機進行分析判斷,在LCD1602 液晶屏上顯示當前酒精濃度,超過設置酒精濃度時啟動報警。系統研發流程如圖2 所示。

圖2 主程序流程圖Fig. 2 Flow chart of the program design
ADC0809 初始化后,將接收到的模擬量轉換成數字量,并存入內存單元。A/D 轉換程序流程如圖3 所示。

圖3 A/D 模數轉換程序設計Fig. 3 Flow chart of A/D conversion program
對設計的酒精濃度在線檢測儀進行仿真分析。MQ-3 酒精傳感器采集的濃度值轉換成電壓模擬信號,將其傳遞到A/D 模數轉換電路中轉換成數字信號,傳送到STC89C51 單片機處理,并將濃度通過LCD1602 顯示出來。在仿真模擬酒精檢測過程中,可以通過滑動變阻器電路改變輸入值與設定閾值對比,若檢測值大于設定值時,則報警電路發出報警。其仿真結果如圖4 所示。通過對該酒精檢測系統進行仿真分析,可以得出本文研發設計的酒精濃度在線檢測系統在理論上是可以實現其報警功能的,基本上達到了設計的要求。

圖4 酒精濃度在線檢測系統仿真圖Fig. 4 Simulation diagram of alcohol concentration online detection system
對設計好的酒精濃度在線檢測儀進行實驗驗證,觀察其是否能滿足正常使用要求。購買所需要的元器件,利用焊接技術焊制出的酒精濃度在線檢測儀,如圖5 所示。設置的閾值為25 mg/100 mL,檢測到空氣中的酒精濃度超過設置的閾值,則紅燈閃爍,蜂鳴器響起。

圖5 酒精濃度在線檢測儀實驗結果Fig. 5 Alcohol concentration online detector experimental results
通過實驗可以看出,當酒精濃度超過設置的閾值,則發出報警提示,低于閾值、報警停止。實驗說明本文設計的酒精濃度在線檢測儀能夠滿足使用要求。
設計了基于STC89C51 單片機的酒精濃度在線檢測儀,MQ-3 酒精傳感器采集信息,LCD1602 液晶顯示模塊輸出信息。經實驗表明:該檢測儀能夠較為準確快速地檢測出當前環境下的酒精濃度,并通過液晶顯示屏顯示出數值,超過設定值將開啟聲光報警,另外還可以通過按鍵設定不同的閾值,具有較好的實際應用價值。