曾當兵
(中山市技師學院,廣州中山,528400)
目前市面上出現的酒駕測試儀價格昂貴,測試標準單一,不能修改閾值數據,使用場合單一,耗電量大,經常更換干電池,使用成本高等不足,針對以上不足,結合高性能單片機STC12C5A16AD的特點,設計該測試儀,以滿足不同應用場合,對酒駕行為進行提前預防,保障人民群眾的生命安全。
本設計基于STC12C5A60S2微處理器,用于檢測氣體中的酒精濃度,可使用在一些對環境酒精氣體濃度要求嚴格的生產車間,本設計可以及時檢測車間內的氣體酒精濃度。當氣體酒精濃度高于設定閾值時,發出告警提示,提醒車間管理者及時通風換氣,以便于安全生產。除此之外,還可用于酒駕測試,用來測試當前呼氣酒精濃度,是否高于酒駕濃度閾值,以此來時刻提醒駕駛員請勿酒后駕駛。
為了提高測量數據精度,需要高精度的酒精傳感器,本設計中采用了MQ—3型酒精傳感器,將酒精氣體濃度值轉換成0~5V的模擬電壓輸出,再將模擬電壓值傳送到微處理內部自帶的高精度10位A/D轉換模塊中去,得到一組10位二進制數據存放在單片機內部寄存器中,再通過單片機數據處理和控制部件,將相應結果顯示在液晶顯示屏中。為了便于使用,采用通用USB接口充電器,大容量鋰電池,提供穩定可靠的電源支持。
系統結構框圖如圖1所示,包含MQ—3乙醇氣體檢測模塊、液晶顯示模塊、鍵盤模塊、 鋰電池充放電模塊、報警模塊、單片機模塊等。
測試儀的定位是日常使用便攜式測試器,主要特點是使用方便,容易攜帶,安全衛生,重復使用操作簡便等特點。根據以上特點對測試儀外觀工藝做要求:重量要輕;三維尺寸要小,適合手持要求;氣嘴由于經常使用,可以采用價格適中的一次性氣嘴設計,符合市面上通用氣嘴標準;充電設備兼容手機等電子產品充電設備規范,采用迷你USB接口;顯示屏幕不能太大,為了縮小整體尺寸,顯示測試數據和相關報警信息等。測試儀外觀滿足人體工程學相關要求,外觀采用流線型設計。

圖1 系統結構框圖
在這次設計中采用了STC12C5A60S2微處理器,該處理器屬于增強型51單片機,是單時鐘/機器周期(1T)單片機。普通51單片機的機器周期是振蕩頻率進行12分頻后得到的,而該單片機機器周期相等于振蕩周期,這樣在相同振蕩頻率下,該單片機指令執行速度至少比普通單片機快12倍,適合用于響應及時的場合,隨著單片機技術的發展,該單片機價格已經接近普通51單片機價格。它內部集成1280 字節 RAM和64KROM空間,適合運行大型單片機程序,給程序員提供方便。內部還集成了8路10位高精度高速A/D轉換器,指令代碼完全兼容傳統51單片機,本設計正是利用單片機內部高精度A/D轉換器,在不影響測試精度的條件下,方便控制測試儀的整體尺寸,節約成本。

圖2 MQ—3外部結構圖
傳感器電壓輸出信號Vout和氣體酒精濃度,以及環境溫度密切相關,為了減小氣體酒精濃度測量誤差,需要在傳感器測量前進行預熱,一般預熱時間為 20秒左右。Vout電壓每升高0.1V,實際被測氣體的濃度增加20ppm,這里的1ppm=1mg/kg=1mg/L , 常用來表示氣體濃度,或者溶液濃度。
MQ—3模塊信號有數字電平輸出和模擬信號電壓輸出兩種模式,由于本設計需要適時顯示被測量的酒精濃度,所以采用模擬電壓輸出模式。模擬電壓輸出范圍0~5V,濃度越高輸出電壓值越高。
為了讓產品便于攜帶,考慮到待機時長問題,本設計采用成熟的1602液晶作為顯示單元。1602液晶體積小,能固定顯示兩行各16個字符,采用移位顯示模式還可以顯示兩行各32個字符,本項目第一行顯示“Alcohol CON:”,第二行顯示“xxx mg/100ml”。如果將第一閾值閾值設置為20mg/100ml,第二閾值設置為80mg/100ml,那么測試值大于等于20mg/100ml,小于80mg/100ml,第二行顯示數值會以1Hz頻率閃爍,并開啟蜂鳴器和報警燈以相同頻率報警;如果數值大于等于80mg/100ml,則數值以10Hz的頻率快速閃爍,并開啟蜂鳴器和報警燈以相同頻率報警。以上警告提示是以國家質量監督檢驗檢疫局早前發布的《車輛駕駛人員血液、呼氣酒精含量閾值與檢驗》(GB19522-2004)為依據。
鍵盤模塊主要作用是可以設置閥門值,根據不同場合對酒精濃度的要求進行修改,擴大了本設計的應用范圍。一個按鍵定義為數值加,每按一次數值增加1mg/100ml;另一個為數值減,每按一次數值減少1mg/100ml;第三個按鍵為數值清零,講預設的閥門值清零;第四個按鍵為設置鍵,用于設置數據確認鍵。本系統所需按鍵較少,采用獨立式按鍵電路連接方式。
鋰電池充電、放電模塊采用TP5410來解決,TP5410是一款專為移動電源鋰電池充電和升壓至恒定5V的電源管理芯片,它可以進行高精度的電壓充電和精確調節充電電流,還具有預充、充電狀態指示和充電截止等功能。R6是充電電流調節電阻,將它設為680Ω,最大充電電流可以到1A,充、放電電路如圖3所示。

圖3 鋰電池充、放電電路圖
本系統耗電部分主要集中在MQ—3傳感器檢測和蜂鳴器報警期間,最大供電電流不大,實際最大工作電流不足300mA,輸出電壓在+5V±0.1V。
總體程序流程圖如圖4所示。系統初始化包括液晶屏初始化、A/D初始化、數據初始化。設定判斷閾值主要是根據環境需要設定極限值,系統允許設定三個不同閾值,如果是測試酒駕、醉駕,則設定第一個閾值為20mg/100ml,第二個閾值為80mg/100ml,第三個閾值可以不用設置,系統默認不啟用。系統也可以用在其他需要測試酒精濃度的場合,比如食品加工車間、釀酒車間等。聲光報警是由一只紅色LED和蜂鳴器組成,通過報警聲音頻率和LED閃爍頻率來確定超出規定閾值酒精濃度的高低,綠色LED表示濃度值正常。
在酒精濃度測量過程中,連續多次測量值都會有不同,為了讓測量值更加穩定和精確,這里采用多次測量取平均值的辦法,系統每隔10ms測量一次數據,將測量到的五次數據做平均處理。
傳感器在測量不同濃度酒精溶液時,測試濃度值與電壓值之間是非線性關系,為了使處理數據方便,系統將電壓值區間分為六段,分別做線性處理,具體映射方式如表5所示。

圖4 程序流程圖
由于考慮到便攜性特點,電路板盡量設計為長方形,液晶屏罩在單片機上,吹嘴通過軟管接到傳感器上,
讓氣體都能噴到傳感器感應頭上。配置四種濃度:10mg/100ml、22mg/100ml、48mg/100ml、112mg/100ml,用該系統測試四種容易的濃度值為:9.8、22.1、47.1、106.2,測量最大誤差為5.2%。實驗表明測量低濃度數值誤差較小,高濃度測試數值誤差稍大,由于測試環境酒精濃度普遍不高,在低濃度環境測量中精度更高,整體符合系統的應用要求。 由于溶液中酒精易揮發,酒精濃度會比配置值稍低,也會影響測量誤差。

表5 電壓值-濃度映射關系
本系統體積小巧,便于攜帶,采用鋰電池供電,使用成本降低了。充分利用STC增強型51單片機的高性能,讓微處理器外圍元件減少,增強了系統穩定性。閾值設置靈活,擴大了該系統的使用范圍,通用性更強。采用一定的軟件優化技術,測量數據更加準確,達到了設計預期。