文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190752
中文引用格式: 胡仕兵,陳子為. 一種無線酒精濃度探測(cè)儀的研制[J].電子技術(shù)應(yīng)用,,2020,,46(3):66-70,75.
英文引用格式: Hu Shibing,,Chen Ziwei. Development of a type of wireless alcohol concentration detector[J]. Application of Electronic Technique,,2020,46(3):66-70,,75.
0 引言
在食品工業(yè)、釀酒行業(yè),、石化和工礦企業(yè),、環(huán)境檢測(cè)、公安交通管理,、社會(huì)公用事業(yè)等一些國(guó)民經(jīng)濟(jì)生產(chǎn)和人們工作生活的領(lǐng)域和場(chǎng)合中,,常常需要檢測(cè)特定環(huán)境中酒精氣體的濃度,以確保工廠企業(yè)環(huán)境安全和人民生命財(cái)產(chǎn)安全[1-4],。如監(jiān)控酒精生產(chǎn)車間和石化廠的酒精濃度,可以避免工廠起火和爆炸事故的發(fā)生,;監(jiān)測(cè)工礦企業(yè)場(chǎng)地的酒精濃度,,能避免工作人員出現(xiàn)酒精中毒等惡性事故;檢測(cè)司機(jī)體內(nèi)酒精含量,,可以防止駕駛?cè)藛T酒后駕車,,減少惡性交通事故的發(fā)生。因此,,研制酒精氣體濃度檢測(cè)儀具有十分廣闊的現(xiàn)實(shí)和潛在的市場(chǎng)需求,,并具有十分重要的意義。傳統(tǒng)的酒精氣體檢測(cè)儀因傳感器性能,、電路設(shè)計(jì),、數(shù)據(jù)處理算法等原因,存在著氣體選擇性不高,、抗干擾性能差,、智能化程度低、儀器操作復(fù)雜,、無法實(shí)時(shí)保存和調(diào)看數(shù)據(jù)等突出問題[3-4],。鑒于此,筆者設(shè)計(jì)和研制了一種無線智能酒精濃度探測(cè)儀,,彌補(bǔ)了傳統(tǒng)酒精檢測(cè)儀器的缺點(diǎn)和不足,。
1 系統(tǒng)總體方案
該酒精濃度探測(cè)儀由發(fā)送端和接收端兩部分組成,其原理框圖分別如圖1和圖2所示,。發(fā)送端主要包括酒精濃度傳感器與A/D轉(zhuǎn)換電路,、STC90C52RC單片機(jī)、濃度閾值設(shè)置與聲音報(bào)警電路,、語(yǔ)音播報(bào)電路,、LCD顯示電路和無線收發(fā)電路六部分;接收端由無線收發(fā)電路,、STC90C52RC單片機(jī),、數(shù)據(jù)接口通信電路和上位計(jì)算機(jī)組成,。
2 系統(tǒng)硬件電路設(shè)計(jì)
2.1 傳感器電路與A/D轉(zhuǎn)換電路
TGS2620為日本費(fèi)加羅(FIGARO)公司生產(chǎn)的一款可以探測(cè)氣體中酒精濃度的半導(dǎo)體氣體傳感器,具有靈敏度高,、功耗低,、壽命長(zhǎng)、成本低等特點(diǎn)[5-6],。其電路連接如圖3所示,,其中,RH為加熱器電阻,,室溫下時(shí)為83±8 Ω,;RS為傳感器電阻,其阻值和還原性氣體濃度之間的數(shù)學(xué)關(guān)系為:
通過檢測(cè)VRL就可以確定出待測(cè)氣體濃度C,。
電路中運(yùn)放OP07接成電壓跟隨器形式,,對(duì)傳感器和后級(jí)電路進(jìn)行隔離,減小電源波動(dòng)和外界因素對(duì)采樣數(shù)據(jù)的影響,。ICL7660是MAXIM公司生產(chǎn)的小功率極性反轉(zhuǎn)電源轉(zhuǎn)換器,,作用是將+5 V電源變換成-5 V電源為OP07供電。其中,,C1,、C2采用漏電小、介質(zhì)損耗低的10 μF鉭電容,,以提高電源轉(zhuǎn)換效率,。TLC1549是TI公司生產(chǎn)的10位分辨率逐次逼近型ADC芯片,具有自動(dòng)采樣和保持,、可按比例量程校準(zhǔn)轉(zhuǎn)換范圍,、抗噪聲干擾功能,在滿刻度時(shí)總誤差最大僅為±1 LSB,。
2.2 LCD顯示,、閾值設(shè)置與聲音報(bào)警電路
16×2個(gè)字符液晶顯示模塊DM-162顯示報(bào)警閾值和酒精濃度值。為了減少單片機(jī)I/O口的使用數(shù)量和簡(jiǎn)化電路結(jié)構(gòu),,采用間接控制(4位數(shù)據(jù)總線)方式,,接口電路如圖4上部分所示。初始化時(shí),,需寫入28H指令碼將8位總線轉(zhuǎn)為4位數(shù)據(jù)接口方式,。管腳BLA、BLK和VL分別是液晶背光源正極,、負(fù)極和顯示對(duì)比度調(diào)整端,,RS、E分別是寄存器選擇端,、讀/寫信號(hào)線和使能端,。
酒精濃度閾值設(shè)置和聲音報(bào)警電路如圖4下部分所示,。當(dāng)設(shè)置鍵S1按下時(shí),進(jìn)入閾值設(shè)置(初始閾值為500 ppm)界面,,再按下鍵S2或S3,,對(duì)閾值作增加或減小操作,步長(zhǎng)為20 ppm,。閾值設(shè)置好后寫入STC90C52RC單片機(jī)片內(nèi)5 KB EEPROM的第一扇區(qū)2000H和2001H地址中,,使系統(tǒng)重啟不必重新設(shè)置。若酒精濃度值大于閾值,,將P0.7口線置為低電平,,三極管8550驅(qū)動(dòng)蜂鳴器發(fā)聲音報(bào)警。
2.3 語(yǔ)音播報(bào)電路
采用華邦(Winbond)公司的ISD2560語(yǔ)音錄放集成芯片作酒精濃度值播放,,電路如圖5所示,。話筒采用差分形式接入到片內(nèi)前置放大器的MIC端和MIC REF端,以抵消噪聲和提高輸入共模抑制比,。揚(yáng)聲器接成雙端輸出形式,,輸出功率為單端用法時(shí)功率的4倍,。單片機(jī)的P2口,、P3.0和P3.1口線分別與地址線A0~A9相連,用來設(shè)定ISD2560片內(nèi)480 KB EEPROM(地址為0H~257H)中存儲(chǔ)語(yǔ)音段的起始地址,,錄音和放音功能均從該起始地址開始,,錄音過程中信息段地址自動(dòng)增加。本系統(tǒng)在ISD2560中需錄入語(yǔ)音信息有:“當(dāng)前酒精濃度值為”,、“零”,、“一”、“二”,、“三”,、“四”、“五”,、“六”,、“七”、“八”,、“九”,、“十”、“百”,、“千”,、“點(diǎn)”、“ppm(濃度單位)”,。由于ISD2560的語(yǔ)音錄放時(shí)間為60 s,,按每秒3個(gè)漢字計(jì)算,,則可錄放180個(gè)漢字,因此滿足播報(bào)要求,。此外,,通過P3.0、P3.1和P2.0~P2.6口線可以配置ISD2560的操作模式[7-8](地址為300H~3FFH),。P3.4~P3.6口線分別用來控制語(yǔ)音芯片的片選,、芯片的開關(guān)、錄音/放音模式選擇,。P3.2口用來判斷芯片的存儲(chǔ)空間是否已經(jīng)填滿或者信息存儲(chǔ)是否溢出,。由于錄音時(shí)在每個(gè)信息段結(jié)尾處自動(dòng)插入標(biāo)志,當(dāng)放音遇到該標(biāo)志時(shí)產(chǎn)生寬約為12.5 ms的負(fù)脈沖,。用P3.3口檢測(cè)到此脈沖的上升沿后才播放另一段錄音,,避免語(yǔ)音播放不連續(xù)。
2.4 無線收發(fā)電路
系統(tǒng)采用NORDIC公司生產(chǎn)的工作于2.4~2.483 5 GHz的ISM頻段的單片無線收發(fā)器芯片nRF24L01完成無線數(shù)據(jù)的收發(fā)工作,,nRF24L01的最高傳輸速率為2 Mb/s,,電路如圖6所示。穩(wěn)壓芯片LM1117-3.3 V將5 V輸入電壓轉(zhuǎn)換成3.3 V給nRF24L01供電,。nRF24L01與單片機(jī)接口為四線SPI方式,,CSN、SCK,、MOSI,、MISO管腳分別是SPI的片選使能線、時(shí)鐘線,、數(shù)據(jù)輸入線,、數(shù)據(jù)輸出線。IRQ為中斷信號(hào)線(低電平有效),,接至單片機(jī)的外部中斷管腳,,單片機(jī)主要是通過該接口線與nRF24L01進(jìn)行通信并判斷數(shù)據(jù)接收和數(shù)據(jù)發(fā)送是否完成。CE為芯片的RX/TX模式選擇線,。IREF為參考電流輸入端,,通過22 kΩ電阻接地。管腳ANT1和ANT2給天線提供平衡的RF輸出,,通過后接的簡(jiǎn)單射頻網(wǎng)絡(luò)匹配電路獲得單端50 Ω的阻抗輸出,。網(wǎng)絡(luò)匹配電路在發(fā)送模式時(shí)阻止諧波,在接收模式時(shí)克制本地振蕩漏出,。VDD_PA管腳輸出1.8 V電壓,,給片內(nèi)功率放大器提供電源。
2.5 數(shù)據(jù)接口通信電路
接收端的計(jì)算機(jī)與單片機(jī)間的通信由串行USB接口集成電路CH340T完成,如圖7所示,。CH340T支持USB1.1或者USB2.0/USB3.0通信,,具有仿真接口,并且可以升級(jí)外圍串口設(shè)備,,支持常用的MODEM聯(lián)絡(luò)信號(hào),,支持IRDA規(guī)范的SIR紅外通信,提供RS232,、RS485,、RS422接口等功能。CH340T內(nèi)置有獨(dú)立的收發(fā)緩沖區(qū),,支持通信波特率50 b/s~2 Mb/s的單工,、半雙工、全雙工等異步串行通信,。圖7中,,在CH340T芯片的發(fā)送腳TXD上反接一個(gè)二極管1N4001,防止該引腳將電流倒灌到單片機(jī),;在接收引腳RXD上加一個(gè)300 Ω的限流電阻來防止單片機(jī)對(duì)CH340T倒灌電流,;從而避免電流倒灌導(dǎo)致不需要供電工作的另一方芯片繼續(xù)工作。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 下位機(jī)軟件設(shè)計(jì)
下位機(jī)的程序開發(fā)和調(diào)試是在Keil μVision4集成開發(fā)環(huán)境下進(jìn)行的,,包括發(fā)送端和接收端的軟件設(shè)計(jì),。
3.1.1 發(fā)送端軟件設(shè)計(jì)
發(fā)送端軟件流程如圖8所示。單片機(jī)上電后進(jìn)行系統(tǒng)初始化,,完成單片機(jī)內(nèi)部系統(tǒng)變量的初始化以及TLC1549,、DM-162,、ISD2560和nRF24L01等外部設(shè)備的初始設(shè)置,;然后延時(shí)大約5 min,預(yù)熱傳感器TGS2620,,保證傳感器工作正常,;程序初始化結(jié)束后,系統(tǒng)進(jìn)入監(jiān)控狀態(tài),。若報(bào)警閾值設(shè)置鍵按下,,進(jìn)入報(bào)警限設(shè)置模式;若錄音鍵按下,,進(jìn)入錄音模式,;然后啟動(dòng)A/D轉(zhuǎn)換獲取采樣數(shù)據(jù),作濾波處理,、標(biāo)度變換和系統(tǒng)誤差校正后得到被測(cè)酒精濃度值,。該值與報(bào)警閾值比較,若結(jié)果是“大于”或“等于”,啟動(dòng)蜂鳴器發(fā)聲程序,,作聲音報(bào)警,,提示酒精濃度超標(biāo);接著該值在DM-162液晶模塊上實(shí)時(shí)顯示,;最后判斷放音鍵是否按下,。若按下則根據(jù)酒精濃度值查找ISD2560中對(duì)應(yīng)語(yǔ)音信息的存儲(chǔ)地址開始放音;放音結(jié)束后,,該值由nRF24L01發(fā)送程序發(fā)送到接收端,;待發(fā)送完成后,采集,、顯示和發(fā)送新一輪的酒精濃度數(shù)據(jù),。
發(fā)送端軟件應(yīng)用了防脈沖干擾平均濾波法[9]對(duì)A/D采樣數(shù)據(jù)作預(yù)處理。其原理是:連續(xù)采樣K次,,然后對(duì)這K個(gè)采樣數(shù)據(jù)進(jìn)行比較,,去除其中的最大值和最小值,計(jì)算剩下的K-2個(gè)數(shù)據(jù)的算術(shù)平均值作為采樣有效值,。該方法融合了中位值濾波法和算術(shù)平均濾波法的優(yōu)點(diǎn),,既可去掉脈動(dòng)性質(zhì)的干擾,又可消除偶然出現(xiàn)的脈沖性干擾引起的采樣值偏差,。為加快計(jì)算速度,,設(shè)計(jì)數(shù)字濾波器時(shí)K=10。
為了提高系統(tǒng)的實(shí)時(shí)性,,軟件中采用分段線性插值法[10-11]作標(biāo)度變換,。過程如下:(1)按傳感器TGS2620的標(biāo)定曲線,將該曲線進(jìn)行非等距分段(曲率變化大(小)時(shí),,樣點(diǎn)距離取小(大)),,選取各分段點(diǎn)坐標(biāo)(VRLi,Ci)(i=0,,1,,…,M),,其中:VRLi和Ci分別為不同樣點(diǎn)時(shí)傳感器輸出電壓值和對(duì)應(yīng)濃度值,;(2)計(jì)算相鄰樣點(diǎn)間的擬合直線斜率ki=(Ci+1-Ci)/(VRLi+1-VRLi)(i=0,1,,…,,M-1);(3)將M組坐標(biāo)數(shù)據(jù)(VRLi,,Ci)和對(duì)應(yīng)斜率ki存儲(chǔ)于單片機(jī)片內(nèi)EEPROM的第二扇區(qū)(地址為2200H~23FFH)中,;(4)每采集到一個(gè)電壓值VRL即查詢EEPROM表,,找出VRL所在區(qū)間(VRLi,Ci)~(VRLi+1,,Ci+1),,取出該區(qū)間(VRLi,Ci)和ki數(shù)據(jù),,用線性插值公式C=Ci+ki(VRL-VRLi)計(jì)算出當(dāng)前酒精濃度值C,。
將采集到的N個(gè)樣本數(shù)據(jù)(xi,yi)代入式(5)中即得到系數(shù)a,、b的值,,并存入單片機(jī)的內(nèi)存單元中。系統(tǒng)測(cè)量時(shí),,將標(biāo)度變換后的酒精濃度測(cè)量值x代入誤差校正方程y=ax+b中,,即可得到校正后的酒精濃度值y,從而達(dá)到消除系統(tǒng)誤差的目的,。
3.1.2 接收端軟件設(shè)計(jì)
接收端單片機(jī)的軟件流程如圖9所示,。接收端開機(jī)上電后,程序初始化設(shè)置nRF24L01和串口,,然后進(jìn)入監(jiān)控場(chǎng)景,。當(dāng)nRF24L01接收到一幀完整的酒精濃度數(shù)據(jù)后,立即通過串口發(fā)送到上位機(jī),。接收端單片機(jī)與PC之間數(shù)據(jù)交互采用異步通信模式,。獨(dú)立波特率,串口協(xié)議設(shè)置為:波特率9 600 b/s,,8 bit數(shù)據(jù)位,,1 bit停止位,無校驗(yàn)位,。
3.2 上位機(jī)軟件設(shè)計(jì)
上位機(jī)用戶界面采用通用的基于對(duì)象的程序設(shè)計(jì)語(yǔ)言Microsoft Visual Basic 6.0開發(fā),,實(shí)現(xiàn)酒精濃度數(shù)據(jù)的接收、顯示和保存,。軟件用到了串行通信控件MSComm,。MSComm控件是Microsoft公司提供的Windows下串行通信編程的ActiveX控件,,通過對(duì)此控件的屬性和事件進(jìn)行相應(yīng)的編程操作,,即可輕松地實(shí)現(xiàn)串行通信。串口通信協(xié)議與接收端完全相同,。上位機(jī)軟件的程序流程如圖10所示,。
4 系統(tǒng)測(cè)試
為了檢驗(yàn)本系統(tǒng)的測(cè)量性能,采用無水乙醇和純凈水按照一定體積比配制標(biāo)準(zhǔn)的酒精溶液作為被測(cè)量對(duì)象,,測(cè)試結(jié)果如表1所示,。其中:?jiǎn)挝籶pm=μg/mL表示1 mL酒精溶液中含酒精的質(zhì)量。由測(cè)量結(jié)果可以看出,測(cè)試數(shù)據(jù)覆蓋傳感器的量程,,測(cè)試最大相對(duì)誤差小于±2%,,優(yōu)于同類設(shè)計(jì)產(chǎn)品[3-5]。
為了獲得本儀器發(fā)送端與接收端的最大無錯(cuò)誤率的通信距離,,在室外進(jìn)行了nRF24L01隨距離的錯(cuò)誤率(臨界區(qū)間)測(cè)試實(shí)驗(yàn),,結(jié)果如表2所示。其中,,每米的錯(cuò)誤率是10次試驗(yàn)后計(jì)算得到的平均值,。可見,,nRF24L01的傳輸距離可達(dá)到100 m,,略高于RFID、ZIGBEE和藍(lán)牙等無線通信技術(shù)[12],。
5 主要技術(shù)指標(biāo)
本儀器主要技術(shù)指標(biāo)如下:(1)測(cè)量范圍:50~5 000 ppm,;(2)靈敏度(傳感器電阻變化率):0.3~0.5;(3)測(cè)量精度:≤±2%,;(4)傳輸距離:≤100 m,;(5)工作電源:DC+5 V;(6)工作環(huán)境溫度:-40 ℃~+70 ℃,;(7)工作環(huán)境相對(duì)濕度:0~85%RH,。
6 結(jié)束語(yǔ)
本文設(shè)計(jì)研制了一種基于STC90C52RC單片機(jī)、TGS2620酒精傳感器和nRF24L01無線通信芯片的酒精濃度探測(cè)儀,。該儀器現(xiàn)已投入到成都市某小型釀酒廠酒池的實(shí)際生產(chǎn)中?,F(xiàn)場(chǎng)工作情況表明:系統(tǒng)運(yùn)行正常,工作可靠,;系統(tǒng)具有氣體選擇性和靈敏度高,、穩(wěn)定性好、智能化程度高,、通信距離遠(yuǎn),、功耗低、抗工業(yè)干擾能力強(qiáng),、性價(jià)比優(yōu)異等優(yōu)點(diǎn),。該儀器可以應(yīng)用于食品加工行業(yè)、工礦企業(yè),、石油和化學(xué)工業(yè),、環(huán)境檢測(cè)與保護(hù)、社會(huì)公用事業(yè),、高空作業(yè)人員,、公安交通管理(如酒后駕車,、交通警察執(zhí)法)等需要現(xiàn)場(chǎng)檢測(cè)或無線遙測(cè)酒精氣體濃度的場(chǎng)合中,市場(chǎng)應(yīng)用前景廣闊,、推廣價(jià)值較高,。
參考文獻(xiàn)
[1] 李海濤.基于QNX的遠(yuǎn)程車載酒駕智能監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,,40(8):136-139.
[2] 宋曉宇,,高國(guó)偉,李世川,,等.基于單片機(jī)控制的酒精濃度檢測(cè)系統(tǒng)的設(shè)計(jì)[J].傳感器世界,,2017,23(8):18-23.
[3] 俞露蘆,,陶大錦.基于單片機(jī)的酒精濃度檢測(cè)儀的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,,2014,33(22):34-36.
[4] 葛毓.基于GPRS/GPS的車載酒精檢測(cè)和控制電路的設(shè)計(jì)[D].南昌:南昌大學(xué),,2010.
[5] Zhang Zhe,,Tong Jin,Chen Donghui,,et al. Electronic nose with an air sensor matrix for detecting beef freshness[J].Journal of Bionic Engineering,,2008,5(1):67-73.
[6] FIGARO Group.General Information for TGS sensors[EB/OL].(2008-04-23)[2019-07-03].http://www.figarosensor.com/products/common(1104).pdf.
[7] 程可嘉,,王振松,,劉曉云.ISD2560在門禁系統(tǒng)語(yǔ)音播報(bào)中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2009,,28(5):75-77.
[8] 胡珍玉.智能語(yǔ)音提示器系統(tǒng)設(shè)計(jì)[J].應(yīng)用能源技術(shù),,2012,15(12):34-38.
[9] 張秀再,,陳彭鑫,,張光宇,等.河流水質(zhì)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)[J].電子技術(shù)應(yīng)用,,2015,,41(2):82-85.
[10] 梁曉雷.基于單片機(jī)的分段線性插值算法實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2012,,8(21):5236-5243.
[11] 韓瀟,,曾立,占豐,,等.基于分段多項(xiàng)式近似的DDFS研究及FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2018,44(3):22-30.
[12] 佚名.各種主流無線通信技術(shù)[EB/OL].(2018-05-11)[2019-07-03].http://tech.rfidworld.com.cn/2018_05/d78-ffddd177e3bca.html.
作者信息:
胡仕兵,,陳子為
(成都信息工程大學(xué) 電子工程學(xué)院,,四川 成都610225)