《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 一種無線酒精濃度探測儀的研制
一種無線酒精濃度探測儀的研制
2020年電子技術(shù)應(yīng)用第3期
胡仕兵,,陳子為
成都信息工程大學(xué) 電子工程學(xué)院,四川 成都610225
摘要: 針對國民經(jīng)濟(jì)和人們生產(chǎn)生活等領(lǐng)域?qū)凭珰怏w濃度智能化檢測與控制的需求,設(shè)計研制了一種無線智能酒精濃度探測儀。該儀器采用STC90C52RC單片機(jī)控制10位A/D轉(zhuǎn)換器TLC1549采集酒精濃度傳感器TGS2620輸出的電壓信號,經(jīng)數(shù)據(jù)處理獲得酒精濃度值。該數(shù)值分別由液晶顯示模塊DM-162、語音錄放電路ISD2560和無線收發(fā)芯片nRF24L01進(jìn)行實(shí)時顯示,、語音播報和發(fā)送至上位機(jī)。本設(shè)計采用基于對象的程序設(shè)計語言Microsoft Visual Basic 6.0開發(fā)上位機(jī)用戶界面,,實(shí)現(xiàn)酒精濃度數(shù)據(jù)的顯示和保存,。在軟件設(shè)計中應(yīng)用防脈沖干擾平均濾波算法抑制采樣數(shù)據(jù)的脈動性質(zhì)干擾,采用分段線性插值法作標(biāo)度變換提高系統(tǒng)的實(shí)時性,,并采用最小二乘法線性擬合技術(shù)進(jìn)行系統(tǒng)誤差校正,。實(shí)物測試結(jié)果表明,該儀器的測量精度≤±2%,,通信距離≤100 m,,驗(yàn)證了設(shè)計的正確性和有效性。
中圖分類號: TN919,;TP212.9,;TP216+.1
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190752
中文引用格式: 胡仕兵,陳子為. 一種無線酒精濃度探測儀的研制[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.
Development of a type of wireless alcohol concentration detector
Hu Shibing,,Chen Ziwei
College of Electronic Engineering,,Chengdu University of Information Technology,Chengdu 610225,,China
Abstract: Aiming at the demand for intelligent detection and control of alcoholic gas concentration in the fields of the national economy, people′s productions and lives and so on, a wireless intelligent alcohol concentration detector is designed and developed in this paper. The instrument adopts the STC90C52RC microcomputer to control the 10-bit A/D converter TLC1549 to acquire the output voltage signal of the alcohol concentration sensor TGS2620. The alcohol concentration value is obtained by data processing. This value is displayed in real time by the LCD module DM-162, broadcasted by the speech recording and playback circuit ISD2560, and sent to the upper computer by the wireless transceiver chip nRF24L01 respectively. The user interface of the upper computer is developed by employing the general object-based programming language Microsoft Visual Basic 6.0 to display and save the alcohol concentration data. In the software, the anti-pulse interference average filtering algorithm is used to suppress the pulsating interference in the sampled data. The piecewise linear interpolation method is used for scaling transformation so as to improve the real-time performance of the system. And the linear fitting technique based on least square method is used to correct the system error. The actual testing results show that the measurement accuracy of the instrument is less than ±2% and the communication distance is less than 100 m, which verifies the correctness and effectiveness of the design.
Key words : nRF24L01 wireless communication,;alcohol concentration detection;piecewise linear interpolation,;linear fitting technique,;serial communication control MSComm

0 引言

    在食品工業(yè),、釀酒行業(yè),、石化和工礦企業(yè)、環(huán)境檢測,、公安交通管理,、社會公用事業(yè)等一些國民經(jīng)濟(jì)生產(chǎn)和人們工作生活的領(lǐng)域和場合中,常常需要檢測特定環(huán)境中酒精氣體的濃度,,以確保工廠企業(yè)環(huán)境安全和人民生命財產(chǎn)安全[1-4],。如監(jiān)控酒精生產(chǎn)車間和石化廠的酒精濃度,可以避免工廠起火和爆炸事故的發(fā)生,;監(jiān)測工礦企業(yè)場地的酒精濃度,,能避免工作人員出現(xiàn)酒精中毒等惡性事故;檢測司機(jī)體內(nèi)酒精含量,,可以防止駕駛?cè)藛T酒后駕車,,減少惡性交通事故的發(fā)生。因此,,研制酒精氣體濃度檢測儀具有十分廣闊的現(xiàn)實(shí)和潛在的市場需求,,并具有十分重要的意義。傳統(tǒng)的酒精氣體檢測儀因傳感器性能,、電路設(shè)計,、數(shù)據(jù)處理算法等原因,存在著氣體選擇性不高,、抗干擾性能差,、智能化程度低、儀器操作復(fù)雜,、無法實(shí)時保存和調(diào)看數(shù)據(jù)等突出問題[3-4],。鑒于此,,筆者設(shè)計和研制了一種無線智能酒精濃度探測儀,彌補(bǔ)了傳統(tǒng)酒精檢測儀器的缺點(diǎn)和不足,。

1 系統(tǒng)總體方案

    該酒精濃度探測儀由發(fā)送端和接收端兩部分組成,,其原理框圖分別如圖1和圖2所示。發(fā)送端主要包括酒精濃度傳感器與A/D轉(zhuǎn)換電路,、STC90C52RC單片機(jī),、濃度閾值設(shè)置與聲音報警電路、語音播報電路,、LCD顯示電路和無線收發(fā)電路六部分,;接收端由無線收發(fā)電路、STC90C52RC單片機(jī),、數(shù)據(jù)接口通信電路和上位計算機(jī)組成,。

ck1-t1.gif

ck1-t2.gif

2 系統(tǒng)硬件電路設(shè)計

2.1 傳感器電路與A/D轉(zhuǎn)換電路

    TGS2620為日本費(fèi)加羅(FIGARO)公司生產(chǎn)的一款可以探測氣體中酒精濃度的半導(dǎo)體氣體傳感器,具有靈敏度高,、功耗低,、壽命長、成本低等特點(diǎn)[5-6],。其電路連接如圖3所示,,其中,RH為加熱器電阻,,室溫下時為83±8 Ω,;RS為傳感器電阻,其阻值和還原性氣體濃度之間的數(shù)學(xué)關(guān)系為:

ck1-gs1-3.gif

ck1-t3.gif

    通過檢測VRL就可以確定出待測氣體濃度C,。

    電路中運(yùn)放OP07接成電壓跟隨器形式,,對傳感器和后級電路進(jìn)行隔離,減小電源波動和外界因素對采樣數(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芯片,具有自動采樣和保持,、可按比例量程校準(zhǔn)轉(zhuǎn)換范圍,、抗噪聲干擾功能,在滿刻度時總誤差最大僅為±1 LSB,。

2.2 LCD顯示,、閾值設(shè)置與聲音報警電路

    16×2個字符液晶顯示模塊DM-162顯示報警閾值和酒精濃度值,。為了減少單片機(jī)I/O口的使用數(shù)量和簡化電路結(jié)構(gòu),采用間接控制(4位數(shù)據(jù)總線)方式,,接口電路如圖4上部分所示,。初始化時,需寫入28H指令碼將8位總線轉(zhuǎn)為4位數(shù)據(jù)接口方式,。管腳BLA,、BLK和VL分別是液晶背光源正極、負(fù)極和顯示對比度調(diào)整端,,RS,、ck1-2.2-x1.gifE分別是寄存器選擇端、讀/寫信號線和使能端,。

    酒精濃度閾值設(shè)置和聲音報警電路如圖4下部分所示,。當(dāng)設(shè)置鍵S1按下時,進(jìn)入閾值設(shè)置(初始閾值為500 ppm)界面,,再按下鍵S2或S3,,對閾值作增加或減小操作,步長為20 ppm,。閾值設(shè)置好后寫入STC90C52RC單片機(jī)片內(nèi)5 KB EEPROM的第一扇區(qū)2000H和2001H地址中,,使系統(tǒng)重啟不必重新設(shè)置,。若酒精濃度值大于閾值,,將P0.7口線置為低電平,三極管8550驅(qū)動蜂鳴器發(fā)聲音報警,。

ck1-t4.gif

2.3 語音播報電路

    采用華邦(Winbond)公司的ISD2560語音錄放集成芯片作酒精濃度值播放,,電路如圖5所示。話筒采用差分形式接入到片內(nèi)前置放大器的MIC端和MIC REF端,,以抵消噪聲和提高輸入共模抑制比,。揚(yáng)聲器接成雙端輸出形式,輸出功率為單端用法時功率的4倍,。單片機(jī)的P2口,、P3.0和P3.1口線分別與地址線A0~A9相連,用來設(shè)定ISD2560片內(nèi)480 KB EEPROM(地址為0H~257H)中存儲語音段的起始地址,,錄音和放音功能均從該起始地址開始,,錄音過程中信息段地址自動增加。本系統(tǒng)在ISD2560中需錄入語音信息有:“當(dāng)前酒精濃度值為”,、“零”,、“一”、“二”,、“三”,、“四”,、“五”、“六”,、“七”,、“八”、“九”,、“十”,、“百”、“千”,、“點(diǎn)”,、“ppm(濃度單位)”。由于ISD2560的語音錄放時間為60 s,,按每秒3個漢字計算,,則可錄放180個漢字,因此滿足播報要求,。此外,,通過P3.0、P3.1和P2.0~P2.6口線可以配置ISD2560的操作模式[7-8](地址為300H~3FFH),。P3.4~P3.6口線分別用來控制語音芯片的片選,、芯片的開關(guān)、錄音/放音模式選擇,。P3.2口用來判斷芯片的存儲空間是否已經(jīng)填滿或者信息存儲是否溢出,。由于錄音時在每個信息段結(jié)尾處自動插入ck1-t5-s1.gif標(biāo)志,當(dāng)放音遇到該標(biāo)志時產(chǎn)生寬約為12.5 ms的負(fù)脈沖,。用P3.3口檢測到此脈沖的上升沿后才播放另一段錄音,,避免語音播放不連續(xù)。

ck1-t5.gif

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ù)據(jù)輸入線,、數(shù)據(jù)輸出線。IRQ為中斷信號線(低電平有效),接至單片機(jī)的外部中斷ck1-t6-s1.gif管腳,,單片機(jī)主要是通過該接口線與nRF24L01進(jìn)行通信并判斷數(shù)據(jù)接收和數(shù)據(jù)發(fā)送是否完成,。CE為芯片的RX/TX模式選擇線。IREF為參考電流輸入端,,通過22 kΩ電阻接地,。管腳ANT1和ANT2給天線提供平衡的RF輸出,通過后接的簡單射頻網(wǎng)絡(luò)匹配電路獲得單端50 Ω的阻抗輸出,。網(wǎng)絡(luò)匹配電路在發(fā)送模式時阻止諧波,,在接收模式時克制本地振蕩漏出。VDD_PA管腳輸出1.8 V電壓,,給片內(nèi)功率放大器提供電源,。

ck1-t6.gif

2.5 數(shù)據(jù)接口通信電路

    接收端的計算機(jī)與單片機(jī)間的通信由串行USB接口集成電路CH340T完成,如圖7所示,。CH340T支持USB1.1或者USB2.0/USB3.0通信,,具有仿真接口,并且可以升級外圍串口設(shè)備,,支持常用的MODEM聯(lián)絡(luò)信號,,支持IRDA規(guī)范的SIR紅外通信,提供RS232,、RS485,、RS422接口等功能。CH340T內(nèi)置有獨(dú)立的收發(fā)緩沖區(qū),,支持通信波特率50 b/s~2 Mb/s的單工,、半雙工、全雙工等異步串行通信,。圖7中,,在CH340T芯片的發(fā)送腳TXD上反接一個二極管1N4001,,防止該引腳將電流倒灌到單片機(jī),;在接收引腳RXD上加一個300 Ω的限流電阻來防止單片機(jī)對CH340T倒灌電流;從而避免電流倒灌導(dǎo)致不需要供電工作的另一方芯片繼續(xù)工作,。

ck1-t7.gif

3 系統(tǒng)軟件設(shè)計

3.1 下位機(jī)軟件設(shè)計

    下位機(jī)的程序開發(fā)和調(diào)試是在Keil μVision4集成開發(fā)環(huán)境下進(jìn)行的,,包括發(fā)送端和接收端的軟件設(shè)計。

3.1.1 發(fā)送端軟件設(shè)計

    發(fā)送端軟件流程如圖8所示,。單片機(jī)上電后進(jìn)行系統(tǒng)初始化,,完成單片機(jī)內(nèi)部系統(tǒng)變量的初始化以及TLC1549、DM-162,、ISD2560和nRF24L01等外部設(shè)備的初始設(shè)置,;然后延時大約5 min,預(yù)熱傳感器TGS2620,保證傳感器工作正常,;程序初始化結(jié)束后,,系統(tǒng)進(jìn)入監(jiān)控狀態(tài)。若報警閾值設(shè)置鍵按下,,進(jìn)入報警限設(shè)置模式,;若錄音鍵按下,進(jìn)入錄音模式,;然后啟動A/D轉(zhuǎn)換獲取采樣數(shù)據(jù),,作濾波處理、標(biāo)度變換和系統(tǒng)誤差校正后得到被測酒精濃度值,。該值與報警閾值比較,,若結(jié)果是“大于”或“等于”,啟動蜂鳴器發(fā)聲程序,,作聲音報警,,提示酒精濃度超標(biāo);接著該值在DM-162液晶模塊上實(shí)時顯示,;最后判斷放音鍵是否按下,。若按下則根據(jù)酒精濃度值查找ISD2560中對應(yīng)語音信息的存儲地址開始放音;放音結(jié)束后,,該值由nRF24L01發(fā)送程序發(fā)送到接收端,;待發(fā)送完成后,采集,、顯示和發(fā)送新一輪的酒精濃度數(shù)據(jù),。

ck1-t8.gif

    發(fā)送端軟件應(yīng)用了防脈沖干擾平均濾波法[9]對A/D采樣數(shù)據(jù)作預(yù)處理。其原理是:連續(xù)采樣K次,,然后對這K個采樣數(shù)據(jù)進(jìn)行比較,,去除其中的最大值和最小值,計算剩下的K-2個數(shù)據(jù)的算術(shù)平均值作為采樣有效值,。該方法融合了中位值濾波法和算術(shù)平均濾波法的優(yōu)點(diǎn),,既可去掉脈動性質(zhì)的干擾,又可消除偶然出現(xiàn)的脈沖性干擾引起的采樣值偏差,。為加快計算速度,,設(shè)計數(shù)字濾波器時K=10。

    為了提高系統(tǒng)的實(shí)時性,,軟件中采用分段線性插值[10-11]作標(biāo)度變換,。過程如下:(1)按傳感器TGS2620的標(biāo)定曲線,將該曲線進(jìn)行非等距分段(曲率變化大(小)時,,樣點(diǎn)距離取小(大)),,選取各分段點(diǎn)坐標(biāo)(VRLi,Ci)(i=0,1,,…,,M),其中:VRLi和Ci分別為不同樣點(diǎn)時傳感器輸出電壓值和對應(yīng)濃度值,;(2)計算相鄰樣點(diǎn)間的擬合直線斜率ki=(Ci+1-Ci)/(VRLi+1-VRLi)(i=0,,1,…,,M-1),;(3)將M組坐標(biāo)數(shù)據(jù)(VRLi,Ci)和對應(yīng)斜率ki存儲于單片機(jī)片內(nèi)EEPROM的第二扇區(qū)(地址為2200H~23FFH)中,;(4)每采集到一個電壓值VRL即查詢EEPROM表,,找出VRL所在區(qū)間(VRLi,Ci)~(VRLi+1,,Ci+1),,取出該區(qū)間(VRLi,Ci)和ki數(shù)據(jù),,用線性插值公式C=Ci+ki(VRL-VRLi)計算出當(dāng)前酒精濃度值C,。

ck1-gs4-5.gif

    將采集到的N個樣本數(shù)據(jù)(xi,yi)代入式(5)中即得到系數(shù)a,、b的值,,并存入單片機(jī)的內(nèi)存單元中。系統(tǒng)測量時,,將標(biāo)度變換后的酒精濃度測量值x代入誤差校正方程y=ax+b中,,即可得到校正后的酒精濃度值y,從而達(dá)到消除系統(tǒng)誤差的目的,。

3.1.2 接收端軟件設(shè)計

    接收端單片機(jī)的軟件流程如圖9所示,。接收端開機(jī)上電后,程序初始化設(shè)置nRF24L01和串口,,然后進(jìn)入監(jiān)控場景,。當(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ī)用戶界面采用通用的基于對象的程序設(shè)計語言Microsoft Visual Basic 6.0開發(fā),實(shí)現(xiàn)酒精濃度數(shù)據(jù)的接收、顯示和保存,。軟件用到了串行通信控件MSComm,。MSComm控件是Microsoft公司提供的Windows下串行通信編程的ActiveX控件,通過對此控件的屬性和事件進(jìn)行相應(yīng)的編程操作,,即可輕松地實(shí)現(xiàn)串行通信,。串口通信協(xié)議與接收端完全相同。上位機(jī)軟件的程序流程如圖10所示,。

ck1-t9+t10.gif

4 系統(tǒng)測試

    為了檢驗(yàn)本系統(tǒng)的測量性能,,采用無水乙醇和純凈水按照一定體積比配制標(biāo)準(zhǔn)的酒精溶液作為被測量對象,測試結(jié)果如表1所示,。其中:單位ppm=μg/mL表示1 mL酒精溶液中含酒精的質(zhì)量,。由測量結(jié)果可以看出,測試數(shù)據(jù)覆蓋傳感器的量程,,測試最大相對誤差小于±2%,,優(yōu)于同類設(shè)計產(chǎn)品[3-5]

ck1-b1.gif

    為了獲得本儀器發(fā)送端與接收端的最大無錯誤率的通信距離,,在室外進(jìn)行了nRF24L01隨距離的錯誤率(臨界區(qū)間)測試實(shí)驗(yàn),,結(jié)果如表2所示。其中,,每米的錯誤率是10次試驗(yàn)后計算得到的平均值,。可見,,nRF24L01的傳輸距離可達(dá)到100 m,,略高于RFID、ZIGBEE和藍(lán)牙等無線通信技術(shù)[12],。

ck1-b2.gif

5 主要技術(shù)指標(biāo)

    本儀器主要技術(shù)指標(biāo)如下:(1)測量范圍:50~5 000 ppm,;(2)靈敏度(傳感器電阻變化率):0.3~0.5;(3)測量精度:≤±2%,;(4)傳輸距離:≤100 m,;(5)工作電源:DC+5 V;(6)工作環(huán)境溫度:-40 ℃~+70 ℃,;(7)工作環(huán)境相對濕度:0~85%RH,。

6 結(jié)束語

    本文設(shè)計研制了一種基于STC90C52RC單片機(jī)、TGS2620酒精傳感器和nRF24L01無線通信芯片的酒精濃度探測儀,。該儀器現(xiàn)已投入到成都市某小型釀酒廠酒池的實(shí)際生產(chǎn)中?,F(xiàn)場工作情況表明:系統(tǒng)運(yùn)行正常,工作可靠,;系統(tǒng)具有氣體選擇性和靈敏度高,、穩(wěn)定性好,、智能化程度高、通信距離遠(yuǎn),、功耗低,、抗工業(yè)干擾能力強(qiáng)、性價比優(yōu)異等優(yōu)點(diǎn),。該儀器可以應(yīng)用于食品加工行業(yè),、工礦企業(yè)、石油和化學(xué)工業(yè),、環(huán)境檢測與保護(hù),、社會公用事業(yè)、高空作業(yè)人員,、公安交通管理(如酒后駕車,、交通警察執(zhí)法)等需要現(xiàn)場檢測或無線遙測酒精氣體濃度的場合中,市場應(yīng)用前景廣闊,、推廣價值較高,。

參考文獻(xiàn)

[1] 李海濤.基于QNX的遠(yuǎn)程車載酒駕智能監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,,40(8):136-139.

[2] 宋曉宇,,高國偉,李世川,,等.基于單片機(jī)控制的酒精濃度檢測系統(tǒng)的設(shè)計[J].傳感器世界,,2017,23(8):18-23.

[3] 俞露蘆,,陶大錦.基于單片機(jī)的酒精濃度檢測儀的設(shè)計[J].微型機(jī)與應(yīng)用,,2014,33(22):34-36.

[4] 葛毓.基于GPRS/GPS的車載酒精檢測和控制電路的設(shè)計[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īng)用[J].自動化技術(shù)與應(yīng)用,2009,,28(5):75-77.

[8] 胡珍玉.智能語音提示器系統(tǒng)設(shè)計[J].應(yīng)用能源技術(shù),,2012,15(12):34-38.

[9] 張秀再,,陳彭鑫,,張光宇,,等.河流水質(zhì)實(shí)時監(jiān)測系統(tǒng)[J].電子技術(shù)應(yīng)用,,2015,,41(2):82-85.

[10] 梁曉雷.基于單片機(jī)的分段線性插值算法實(shí)現(xiàn)[J].電腦知識與技術(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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。