曾當(dāng)兵
(中山市技師學(xué)院,廣州中山,528400)
目前市面上出現(xiàn)的酒駕測試儀價格昂貴,測試標(biāo)準(zhǔn)單一,不能修改閾值數(shù)據(jù),使用場合單一,耗電量大,經(jīng)常更換干電池,使用成本高等不足,針對以上不足,結(jié)合高性能單片機STC12C5A16AD的特點,設(shè)計該測試儀,以滿足不同應(yīng)用場合,對酒駕行為進行提前預(yù)防,保障人民群眾的生命安全。
本設(shè)計基于STC12C5A60S2微處理器,用于檢測氣體中的酒精濃度,可使用在一些對環(huán)境酒精氣體濃度要求嚴(yán)格的生產(chǎn)車間,本設(shè)計可以及時檢測車間內(nèi)的氣體酒精濃度。當(dāng)氣體酒精濃度高于設(shè)定閾值時,發(fā)出告警提示,提醒車間管理者及時通風(fēng)換氣,以便于安全生產(chǎn)。除此之外,還可用于酒駕測試,用來測試當(dāng)前呼氣酒精濃度,是否高于酒駕濃度閾值,以此來時刻提醒駕駛員請勿酒后駕駛。
為了提高測量數(shù)據(jù)精度,需要高精度的酒精傳感器,本設(shè)計中采用了MQ—3型酒精傳感器,將酒精氣體濃度值轉(zhuǎn)換成0~5V的模擬電壓輸出,再將模擬電壓值傳送到微處理內(nèi)部自帶的高精度10位A/D轉(zhuǎn)換模塊中去,得到一組10位二進制數(shù)據(jù)存放在單片機內(nèi)部寄存器中,再通過單片機數(shù)據(jù)處理和控制部件,將相應(yīng)結(jié)果顯示在液晶顯示屏中。為了便于使用,采用通用USB接口充電器,大容量鋰電池,提供穩(wěn)定可靠的電源支持。
系統(tǒng)結(jié)構(gòu)框圖如圖1所示,包含MQ—3乙醇氣體檢測模塊、液晶顯示模塊、鍵盤模塊、 鋰電池充放電模塊、報警模塊、單片機模塊等。
測試儀的定位是日常使用便攜式測試器,主要特點是使用方便,容易攜帶,安全衛(wèi)生,重復(fù)使用操作簡便等特點。根據(jù)以上特點對測試儀外觀工藝做要求:重量要輕;三維尺寸要小,適合手持要求;氣嘴由于經(jīng)常使用,可以采用價格適中的一次性氣嘴設(shè)計,符合市面上通用氣嘴標(biāo)準(zhǔn);充電設(shè)備兼容手機等電子產(chǎn)品充電設(shè)備規(guī)范,采用迷你USB接口;顯示屏幕不能太大,為了縮小整體尺寸,顯示測試數(shù)據(jù)和相關(guān)報警信息等。測試儀外觀滿足人體工程學(xué)相關(guān)要求,外觀采用流線型設(shè)計。
圖1 系統(tǒng)結(jié)構(gòu)框圖
在這次設(shè)計中采用了STC12C5A60S2微處理器,該處理器屬于增強型51單片機,是單時鐘/機器周期(1T)單片機。普通51單片機的機器周期是振蕩頻率進行12分頻后得到的,而該單片機機器周期相等于振蕩周期,這樣在相同振蕩頻率下,該單片機指令執(zhí)行速度至少比普通單片機快12倍,適合用于響應(yīng)及時的場合,隨著單片機技術(shù)的發(fā)展,該單片機價格已經(jīng)接近普通51單片機價格。它內(nèi)部集成1280 字節(jié) RAM和64KROM空間,適合運行大型單片機程序,給程序員提供方便。內(nèi)部還集成了8路10位高精度高速A/D轉(zhuǎn)換器,指令代碼完全兼容傳統(tǒng)51單片機,本設(shè)計正是利用單片機內(nèi)部高精度A/D轉(zhuǎn)換器,在不影響測試精度的條件下,方便控制測試儀的整體尺寸,節(jié)約成本。
圖2 MQ—3外部結(jié)構(gòu)圖
傳感器電壓輸出信號Vout和氣體酒精濃度,以及環(huán)境溫度密切相關(guān),為了減小氣體酒精濃度測量誤差,需要在傳感器測量前進行預(yù)熱,一般預(yù)熱時間為 20秒左右。Vout電壓每升高0.1V,實際被測氣體的濃度增加20ppm,這里的1ppm=1mg/kg=1mg/L , 常用來表示氣體濃度,或者溶液濃度。
MQ—3模塊信號有數(shù)字電平輸出和模擬信號電壓輸出兩種模式,由于本設(shè)計需要適時顯示被測量的酒精濃度,所以采用模擬電壓輸出模式。模擬電壓輸出范圍0~5V,濃度越高輸出電壓值越高。
為了讓產(chǎn)品便于攜帶,考慮到待機時長問題,本設(shè)計采用成熟的1602液晶作為顯示單元。1602液晶體積小,能固定顯示兩行各16個字符,采用移位顯示模式還可以顯示兩行各32個字符,本項目第一行顯示“Alcohol CON:”,第二行顯示“xxx mg/100ml”。如果將第一閾值閾值設(shè)置為20mg/100ml,第二閾值設(shè)置為80mg/100ml,那么測試值大于等于20mg/100ml,小于80mg/100ml,第二行顯示數(shù)值會以1Hz頻率閃爍,并開啟蜂鳴器和報警燈以相同頻率報警;如果數(shù)值大于等于80mg/100ml,則數(shù)值以10Hz的頻率快速閃爍,并開啟蜂鳴器和報警燈以相同頻率報警。以上警告提示是以國家質(zhì)量監(jiān)督檢驗檢疫局早前發(fā)布的《車輛駕駛?cè)藛T血液、呼氣酒精含量閾值與檢驗》(GB19522-2004)為依據(jù)。
鍵盤模塊主要作用是可以設(shè)置閥門值,根據(jù)不同場合對酒精濃度的要求進行修改,擴大了本設(shè)計的應(yīng)用范圍。一個按鍵定義為數(shù)值加,每按一次數(shù)值增加1mg/100ml;另一個為數(shù)值減,每按一次數(shù)值減少1mg/100ml;第三個按鍵為數(shù)值清零,講預(yù)設(shè)的閥門值清零;第四個按鍵為設(shè)置鍵,用于設(shè)置數(shù)據(jù)確認(rèn)鍵。本系統(tǒng)所需按鍵較少,采用獨立式按鍵電路連接方式。
鋰電池充電、放電模塊采用TP5410來解決,TP5410是一款專為移動電源鋰電池充電和升壓至恒定5V的電源管理芯片,它可以進行高精度的電壓充電和精確調(diào)節(jié)充電電流,還具有預(yù)充、充電狀態(tài)指示和充電截止等功能。R6是充電電流調(diào)節(jié)電阻,將它設(shè)為680Ω,最大充電電流可以到1A,充、放電電路如圖3所示。
圖3 鋰電池充、放電電路圖
本系統(tǒng)耗電部分主要集中在MQ—3傳感器檢測和蜂鳴器報警期間,最大供電電流不大,實際最大工作電流不足300mA,輸出電壓在+5V±0.1V。
總體程序流程圖如圖4所示。系統(tǒng)初始化包括液晶屏初始化、A/D初始化、數(shù)據(jù)初始化。設(shè)定判斷閾值主要是根據(jù)環(huán)境需要設(shè)定極限值,系統(tǒng)允許設(shè)定三個不同閾值,如果是測試酒駕、醉駕,則設(shè)定第一個閾值為20mg/100ml,第二個閾值為80mg/100ml,第三個閾值可以不用設(shè)置,系統(tǒng)默認(rèn)不啟用。系統(tǒng)也可以用在其他需要測試酒精濃度的場合,比如食品加工車間、釀酒車間等。聲光報警是由一只紅色LED和蜂鳴器組成,通過報警聲音頻率和LED閃爍頻率來確定超出規(guī)定閾值酒精濃度的高低,綠色LED表示濃度值正常。
在酒精濃度測量過程中,連續(xù)多次測量值都會有不同,為了讓測量值更加穩(wěn)定和精確,這里采用多次測量取平均值的辦法,系統(tǒng)每隔10ms測量一次數(shù)據(jù),將測量到的五次數(shù)據(jù)做平均處理。
傳感器在測量不同濃度酒精溶液時,測試濃度值與電壓值之間是非線性關(guān)系,為了使處理數(shù)據(jù)方便,系統(tǒng)將電壓值區(qū)間分為六段,分別做線性處理,具體映射方式如表5所示。
圖4 程序流程圖
由于考慮到便攜性特點,電路板盡量設(shè)計為長方形,液晶屏罩在單片機上,吹嘴通過軟管接到傳感器上,
讓氣體都能噴到傳感器感應(yīng)頭上。配置四種濃度:10mg/100ml、22mg/100ml、48mg/100ml、112mg/100ml,用該系統(tǒng)測試四種容易的濃度值為:9.8、22.1、47.1、106.2,測量最大誤差為5.2%。實驗表明測量低濃度數(shù)值誤差較小,高濃度測試數(shù)值誤差稍大,由于測試環(huán)境酒精濃度普遍不高,在低濃度環(huán)境測量中精度更高,整體符合系統(tǒng)的應(yīng)用要求。 由于溶液中酒精易揮發(fā),酒精濃度會比配置值稍低,也會影響測量誤差。
表5 電壓值-濃度映射關(guān)系
本系統(tǒng)體積小巧,便于攜帶,采用鋰電池供電,使用成本降低了。充分利用STC增強型51單片機的高性能,讓微處理器外圍元件減少,增強了系統(tǒng)穩(wěn)定性。閾值設(shè)置靈活,擴大了該系統(tǒng)的使用范圍,通用性更強。采用一定的軟件優(yōu)化技術(shù),測量數(shù)據(jù)更加準(zhǔn)確,達到了設(shè)計預(yù)期。