李耀輝
(許昌學(xué)院 電氣信息工程學(xué)院 河南許昌 461000)
信息處理模塊的設(shè)計與實現(xiàn)是智能酒精測試儀(也稱電子鼻)[1]的核心模塊,其完成了對酒精氣體的信號采集和預(yù)處理。該模塊主要包括燃料電池(Fuel Cell)傳感器電路、壓力傳感器電路、加熱、溫度傳感電路及信號濾波放大電路[2]?;驹O(shè)計思路如圖1所示。
圖1 信息處理模塊的設(shè)計思路
壓力傳感器電路是使能數(shù)據(jù)采樣的關(guān)鍵,為實現(xiàn)電壓變化與酒精氣體濃度之間的近似線性關(guān)系,當(dāng)呼氣壓力達(dá)到一定標(biāo)準(zhǔn)的時候,才能保證采樣有效。當(dāng)人體呼氣經(jīng)過燃燒室后,壓力傳感器檢測氣流壓力,轉(zhuǎn)化為電信號,通過CMOS運(yùn)算放大器[3]放大輸出給PSENSE引腳。其中該引腳連接到LPC2210的P2.25,當(dāng)氣流壓力達(dá)到預(yù)定的數(shù)值時,PSENSE輸出高電平,LPC2210發(fā)出指令讓信息處理模塊開始采樣,從而將氣體中的酒精濃度轉(zhuǎn)化為電量輸出。
圖2 Fuel Cell(上)及加熱、溫度傳感器電路(下)
Fuel Cell傳感器電路采用7位排針排母的接口方式,其中附有7位的排母,如圖2所示。兩端的1、7位是Fuel Cell的正負(fù)極,2和6引腳控制加熱電阻,3、4、5引腳主要完成Fuel Cell的溫度控制。其中要說明的是HEAT通過場效應(yīng)管Q1連接到6引腳用來控制加熱電阻工作,HEAT是由LPC2210通過74LCX373擴(kuò)展出的埠。加熱、溫度傳感電路是Fuel Cell傳感器電路的輔助電路, 輔助完成加熱和溫度控制功能。在7位排針接口中,兩端的1和7位連接到Fuel Cell傳感器的正負(fù)極,2和6位接加熱電阻板兩端,加熱電阻板采用4×120 ?的貼片電阻,用來加熱燃燒室,控制其工作的在Fuel Cell傳感器電路;此電路的溫度測量芯片采用的是LM60,測量范圍在-40~+125°C,LM60的輸出電壓與溫度基本成線性關(guān)系(+6.25 mV/°C),并且存在一個直流偏移(+424 mV),因此,在-40~25°C的范圍內(nèi),正常的輸出電壓范圍應(yīng)該是+174 mV~+1 205 mV。
LPC2210具有1個10位逐次比較的A/D轉(zhuǎn)換器,有8個A/D輸入引腳。系統(tǒng)設(shè)計用到了AIN0~AIN3四個引腳為FuelCell信號輸入,AIN4和AIN5為溫度信號輸入。
首先建立設(shè)備文件,驅(qū)動程序默認(rèn)的主設(shè)備號為124,從設(shè)備號來標(biāo)識A/D的輸入通道號,0代表通道0,1代表通道1,以此類推,代碼為:mknod/dev/ADC0.0 c 124 0,mknod /dev/ADC0.1 c 124 1,mknod /dev/ADC0.2 c 124 2,mknod /dev/ADC0.3 c 124 3。然后編寫adc.h頭文件,在頭文件中定義了兩個宏,對應(yīng)ioctl()函數(shù)體中的特殊命令,即設(shè)置A/D工作頻率和設(shè)置A/D轉(zhuǎn)換精度。編寫內(nèi)核接口函數(shù)adc_init()、open()、close()、ioctl()和read(),注意對于A/D來說,每次讀的數(shù)據(jù)量是相對確定的,每次read()調(diào)用是不可分割的。
最后建立Makefile文件,通過make命令編譯驅(qū)動程序,得到ADC驅(qū)動模塊文件adc,在操作系統(tǒng)中執(zhí)行“insmod adc”,就可以使用ADC轉(zhuǎn)換功能了。
在使用ADC之前,先調(diào)用adc_init()進(jìn)行初始化,然后用open()打開設(shè)備獲取設(shè)備節(jié)點的從設(shè)備號,并判斷A/D通道的被使用情況;接著用ioctl()函數(shù)設(shè)置A/D轉(zhuǎn)換的時鐘和轉(zhuǎn)換精度,代碼如下:ioctl(fd,ADC_SET_CLKDIV, (Fpclk + fadc - 1) /fadc - 1);ioctl(fd, ADC_SET_BITS,10)。其中VPB總線的頻率為11.059 2 MHz,fadc設(shè)置為4.5 MHz,精度設(shè)為10。
最后,等待Fuel Cell信號觸發(fā),讀取A/D轉(zhuǎn)換結(jié)果,即:read(fd, &ad_data, sizeof(ad_data))。
隨著智能酒精測試儀系統(tǒng)的硬件及軟件設(shè)計的完成,接著要對系統(tǒng)的指標(biāo)進(jìn)行評價。這就需要明確測試標(biāo)準(zhǔn),配制出復(fù)合標(biāo)準(zhǔn)的定量酒精氣體是系統(tǒng)測試的關(guān)鍵,測試標(biāo)準(zhǔn)是對測試結(jié)果分析的唯一依據(jù),標(biāo)準(zhǔn)的明確是系統(tǒng)分析的關(guān)鍵。
模塊測試儀用到酒精氣體模擬器、≥99.7%的無水酒精、數(shù)字萬用表、微量取樣器、U型液體壓力計、數(shù)顯溫濕度計、電子秒表及量筒、燒杯、滴管等化學(xué)容器。其中酒精氣體模擬器采用美國生產(chǎn)的Guth 34C模擬器,它能夠配置產(chǎn)生定量的標(biāo)準(zhǔn)酒精與空氣的混合氣體,并將溫度控制在33.8~34.2℃范圍內(nèi),最大允許誤差在0.090~0.105 g/220 L。另外,數(shù)顯溫濕度計的測量濕度在 10%RH至90%RH之間, 最大允許誤差1.9%RH,溫度在0~50℃,最大允許誤差0.4℃。
首先為系統(tǒng)測試準(zhǔn)備良好的環(huán)境條件,如室內(nèi)溫度要控制在(25±2)℃,相對濕度控制到≤80%RH。要清理Guth 34C模擬器的容器,準(zhǔn)備好無水酒精及取樣器具等,接著配置定量的標(biāo)準(zhǔn)酒精混合氣體。用量筒取純凈水 500 mL,倒入模擬器的配液容器中,用微量取樣器取定量的酒精液體,放入模擬器配液容器,裝配好模擬器,預(yù)熱 30分鐘左右,調(diào)節(jié)好氣體流量范圍;然后吹氣檢測,模擬器的進(jìn)氣端接外部氣泵,排氣端接智能酒精測試儀的進(jìn)氣口,通過外部氣泵的氣流壓力,將空氣和模擬器中的酒精氣體混合并壓出,進(jìn)入智能酒精測試儀進(jìn)行檢測,最后讀取測試數(shù)據(jù),并分析結(jié)果。
針對測試標(biāo)準(zhǔn),要說明的是智能酒精測試儀對檢測酒精濃度的計算方法。由于研究開發(fā)的智能酒精測試儀是針對檢測人醉酒程度的,因此要判斷顯示人體內(nèi)血液中的酒精含量。大量的統(tǒng)計研究結(jié)果表明,如果被測者深吸氣后以中等力度呼氣達(dá)3秒鐘以上,這時呼出的氣就是從肺部深處出來的氣體,而呼氣中的酒精含量與血液中的酒精含量有如下關(guān)系:
此外,系統(tǒng)處理后的數(shù)據(jù)為血液酒精濃度,采用mg/100 mL為單位,換算關(guān)系為:血液酒精濃度(mg/100 mL) = 呼氣酒精濃度 (mg/L)×220,這樣, 50 mg/100 mL的血液酒精濃度相當(dāng)于0.227 mg/L的呼氣酒精濃度。除了血液酒精濃度與呼氣酒精濃度之間存在系數(shù)換算關(guān)系,呼氣酒精濃度與FuelCell所產(chǎn)生的電壓值也有系數(shù)關(guān)系,處理器將FuelCell通過電化學(xué)反應(yīng)產(chǎn)生的電壓VOL取到,通過換算得到呼氣酒精濃度的值,即呼氣酒精濃度(mg/L)=Z×VOL(mV),其中系數(shù)Z就是FuelCell的增益系數(shù)。由于FuelCell本身特性會因時間及化學(xué)反應(yīng)等因素的影響而衰減,因此在校核時要校準(zhǔn)這個增益系數(shù)Z。至此,智能酒精測試儀系統(tǒng)所顯示的血液酒精濃度(mg/100 mL)的計算公式為:
在“車輛駕駛?cè)藛T血液、呼氣酒精含量閥值與檢驗”的國家標(biāo)準(zhǔn)[4]中,對飲酒駕車和醉酒駕車有明確的定義:飲酒駕車指的是車輛駕駛?cè)藛T血液中的酒精含量大于或者等于20 mg/100 ml,小于80 mg/100 ml的駕駛行為;醉酒駕車指的是車輛駕駛?cè)藛T血液中的酒精含量大于或者等于80 mg/100 ml的駕駛行為。這就決定了飲酒駕車血液酒精濃度的臨界值為20 mg/100 mL,而醉酒駕車血液酒精濃度的臨界值為80 mg/100 mL,其誤差范圍和重復(fù)性標(biāo)準(zhǔn)按國家規(guī)定標(biāo)準(zhǔn)[5],見表1。
表1 示值誤差與重復(fù)性標(biāo)準(zhǔn)
對于示值誤差及重復(fù)性檢測采取的方案及數(shù)學(xué)模型為:配置濃度在0.07 mg/L~0.4 mg/L(取0.1 mg/L)的酒精氣體,在3個不同時間用智能酒精測試儀連續(xù)測量10次。
式(4)中: C0為標(biāo)準(zhǔn)酒精氣體濃度,mg/L;為酒精測試儀示值的平均值,mg/L。
式(5)中: Ci為第i次測量結(jié)果,mg/L;為酒精測試儀n次測量值平均值,mg/L。
配置示值濃度和氣體濃度為22 mg/100 mL和0.100 mg/L的酒精溶液,通過3個不同的時間段對其進(jìn)行了3次數(shù)據(jù)統(tǒng)計,并根據(jù)配比和公式計算得到其均值,見表2。
表2 測試數(shù)據(jù)統(tǒng)計表
根據(jù)表2可知,第一次對于示值誤差:
當(dāng)C0= 0.100 mg/L時,
對于重復(fù)性:當(dāng)C0= 0.1 mg/L時,
第二次對于示值誤差:當(dāng)0C= 0.100 mg/L時,
對于重復(fù)性:當(dāng)0C= 0.100 mg/L時,
對于重復(fù)性:當(dāng)0C= 0.100 mg/L時,
該濃度的氣體經(jīng)過3次檢測后,示值誤差和重復(fù)性均超出了范圍,但都在標(biāo)準(zhǔn)規(guī)定范圍內(nèi)。圖3所示是3次對濃度為0.1 mg/L酒精氣體的檢測比較,陰影數(shù)據(jù)表示沒有達(dá)到標(biāo)準(zhǔn),其中包括示值誤差和重復(fù)性。從圖3中可以看出,第2次曲線呈基本平穩(wěn)并略有上升,而第1次和第3次曲線基本呈下降趨勢;從點劃線的平均值可以看出,測試結(jié)果隨時間呈下降趨勢,其中第2次測試的結(jié)果最靠近原始值,當(dāng)然這也受原始配氣的不確定性影響;在第3次測試時,測試結(jié)果一部分超出標(biāo)準(zhǔn)規(guī)定的區(qū)域,而且平均值也超出了誤差范圍。系統(tǒng)測試低濃度酒精氣體時,存在不確定性,準(zhǔn)確度為80%,說明系統(tǒng)在檢測時,特別是檢測低濃度氣體時,存在著不穩(wěn)定性。
圖3 濃度為0.1 mg/L酒精氣體檢測比較
經(jīng)過對系統(tǒng)分析后發(fā)現(xiàn),智能酒精測試儀系統(tǒng)總體的準(zhǔn)確度和穩(wěn)定性良好,并證實了FuelCell傳感器的性能品質(zhì)隨著時間而衰減,當(dāng)產(chǎn)生明顯的測量誤差時,就應(yīng)該對FuelCell進(jìn)行校核,以避免產(chǎn)生誤差。
[1] 劉輝,牛智有.電子鼻技術(shù)及其應(yīng)用研究進(jìn)展[J].中國測試, 2009.
[2] 森榮二(日). LC 濾波器設(shè)計與制作[M].薛培鼎,譯.北京: 科學(xué)出版社, 2006.
[3] 童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社, 2006.
[4] 重慶市公安局交通管理局.GB 19522-2004車輛駕駛?cè)藛T血液、呼氣酒精含量閾值與檢驗[S].國家質(zhì)檢總局(SBTS), 2004.
[5] 公安部交通管理科學(xué)研究所,上海市計量測試技術(shù)研究院.GA 307-2001呼出氣體酒精含量探測器[S].行業(yè)標(biāo)準(zhǔn)-公安(CSIC-GA), 2001.