趙小強(qiáng), 馮 勛
(西安郵電大學(xué) 通信與信息工程學(xué)院, 陜西 西安 710121)
基于ZigBee的水質(zhì)pH值在線監(jiān)測(cè)系統(tǒng)
趙小強(qiáng), 馮 勛
(西安郵電大學(xué) 通信與信息工程學(xué)院, 陜西 西安 710121)
為了提高在水質(zhì)pH值監(jiān)測(cè)中的實(shí)時(shí)性與測(cè)量精度,設(shè)計(jì)一種基于ZigBee的水質(zhì)pH值在線監(jiān)測(cè)系統(tǒng)。該系統(tǒng)由數(shù)據(jù)采集節(jié)點(diǎn)、數(shù)據(jù)匯聚節(jié)點(diǎn)與監(jiān)測(cè)中心計(jì)算機(jī)構(gòu)成,其中數(shù)據(jù)采集節(jié)點(diǎn)采用STM32微處理器進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,并使用CC2530無(wú)線射頻芯片將采集到的水質(zhì)數(shù)據(jù)通過(guò)ZigBee網(wǎng)絡(luò)轉(zhuǎn)發(fā)至數(shù)據(jù)匯聚節(jié)點(diǎn),數(shù)據(jù)匯聚節(jié)點(diǎn)負(fù)責(zé)將水質(zhì)數(shù)據(jù)通過(guò)串口實(shí)時(shí)傳輸至監(jiān)測(cè)中心計(jì)算機(jī)。系統(tǒng)采用二維回歸方程對(duì)水質(zhì)數(shù)據(jù)進(jìn)行融合處理,以減小溫度對(duì)pH值測(cè)量精度的影響。測(cè)量數(shù)據(jù)對(duì)比性實(shí)驗(yàn)結(jié)果顯示,系統(tǒng)具有較好的實(shí)時(shí)性和測(cè)量精度,能夠滿足水質(zhì)pH值監(jiān)測(cè)需要。
pH值;ZigBee;STM32;溫度補(bǔ)償
pH值監(jiān)測(cè)是水質(zhì)監(jiān)測(cè)中的重要組成部分,傳統(tǒng)的水質(zhì)pH監(jiān)測(cè)系統(tǒng)主要采用了現(xiàn)場(chǎng)總線與串行總線等有線通信技術(shù),在實(shí)際pH值現(xiàn)場(chǎng)測(cè)量中,由于監(jiān)測(cè)系統(tǒng)長(zhǎng)期安裝于潮濕環(huán)境中,采用有線通信技術(shù)的監(jiān)測(cè)系統(tǒng)存在安裝維護(hù)困難、信息傳輸可靠性低等問(wèn)題[1]。此外,由于pH傳感器的特性,通常溫度對(duì)測(cè)量結(jié)果影響較大,且輸出信號(hào)范圍較小,為克服溫度影響,目前普遍采用的補(bǔ)償方法主要有硬件補(bǔ)償法與兩點(diǎn)校準(zhǔn)法,但是由于硬件補(bǔ)償法中硬件電路自身存在精度不高、噪聲較大的問(wèn)題,以及兩點(diǎn)校準(zhǔn)法中標(biāo)定模型對(duì)測(cè)量精度的限制,均導(dǎo)致實(shí)際應(yīng)用中pH值測(cè)量精度仍然較低[2-4]。
本文擬根據(jù)成熟的ZigBee技術(shù)[5-6],考慮溫度對(duì)pH傳感器的影響,設(shè)計(jì)一種基于ZigBee的水質(zhì)pH值在線監(jiān)測(cè)系統(tǒng)。該系統(tǒng)以STM32微控制器與無(wú)線射頻芯片為核心,實(shí)現(xiàn)了在無(wú)線傳感網(wǎng)絡(luò)中水質(zhì)pH值信息、溫度信息的實(shí)時(shí)采集和誤差修正。
水質(zhì)pH值在線監(jiān)測(cè)系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。一般按照需要布置多個(gè)數(shù)據(jù)采集節(jié)點(diǎn),每個(gè)采集節(jié)點(diǎn)定時(shí)采集水質(zhì)pH值傳感器與溫度傳感器的數(shù)據(jù),并將采集到的數(shù)據(jù)按通信協(xié)議封裝后通過(guò)ZigBee網(wǎng)絡(luò)發(fā)送至匯聚節(jié)點(diǎn);匯聚節(jié)點(diǎn)將整個(gè)ZigBee網(wǎng)絡(luò)采集的數(shù)據(jù)通過(guò)串口實(shí)時(shí)傳輸至監(jiān)測(cè)中心計(jì)算機(jī),經(jīng)過(guò)誤差修正處理后顯示。
圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)數(shù)據(jù)采集節(jié)點(diǎn)主要由主控制器、無(wú)線傳輸模塊、溫度傳感器、pH復(fù)合電極及其測(cè)量電路4部分組成,硬件結(jié)構(gòu)框圖如圖2所示。
圖2 數(shù)據(jù)采集節(jié)點(diǎn)硬件
系統(tǒng)主控制器選用STM32F103VET6芯片,該芯片是基于ARM Cortex-M3內(nèi)核的32位微處理器,工作頻率為72 MHz,具有512KB FLASH與64 KB SRAM,并且片上集成有8個(gè)定時(shí)器、3個(gè)12位分辨率的模數(shù)轉(zhuǎn)換器、5個(gè)多功能串口與80個(gè)IO口,能夠滿足pH值在線監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)及后期擴(kuò)展要求[7]。
2.1 pH值測(cè)量電路
pH傳感器采用上海雷磁公司的E-201-C型pH復(fù)合電極,該傳感器由鈉玻璃吹制成的敏感薄膜構(gòu)成信號(hào)電極,由銀-氧化銀構(gòu)成參比電極,能夠通過(guò)測(cè)量參比電極與信號(hào)電極兩端的電壓獲得溶液中氫離子活度。當(dāng)被測(cè)溶液pH值由1變化到14時(shí),pH復(fù)合電極的輸出電壓從正值變化到負(fù)值,并且由于pH復(fù)合電極自身內(nèi)阻較高(108~1010Ω),輸出信號(hào)電壓變化幅度較小,因此需要對(duì)pH復(fù)合電極的輸出信號(hào)進(jìn)行平移、放大處理,將輸出信號(hào)范圍轉(zhuǎn)換到0~3.3 V以內(nèi),以符合A/D模數(shù)轉(zhuǎn)換電路要求。使用電阻分壓電路抬高pH復(fù)合電極輸出電壓實(shí)現(xiàn)信號(hào)平移,為保證pH復(fù)合電極輸出信號(hào)的準(zhǔn)確性,采用TL431A精密穩(wěn)壓源進(jìn)行穩(wěn)壓。放大電路采用TI公司的自校準(zhǔn)精密雙路運(yùn)算放大器TLC4502芯片,該芯片支持2路放大器,并且具有自校準(zhǔn)輸入失調(diào)電壓、低輸入失調(diào)電壓溫漂及軌至軌輸出的特點(diǎn)。pH復(fù)合電極輸出的mV級(jí)信號(hào)輸入TLC4502芯片,經(jīng)過(guò)平移、放大后進(jìn)入A/D模數(shù)轉(zhuǎn)換器。pH值測(cè)量電路如圖3所示。
圖3 pH值測(cè)量電路
2.2 溫度采集電路
溫度采集電路采用單總線結(jié)構(gòu)的溫度傳感器DS18B20采集溫度數(shù)據(jù),該傳感器測(cè)量溫度范圍為-55~125℃,精度為±0.5℃,只需要將DS18B20的DQ端與STM32微控制器的I/O口相連即可編程讀取溫度數(shù)據(jù)。測(cè)量溫度數(shù)據(jù)主要用來(lái)對(duì)pH傳感器進(jìn)行溫度補(bǔ)償。
2.3 ZigBee通信電路
ZigBee通信芯片選用TI公司的CC2530,該芯片是一個(gè)支持ZigBee應(yīng)用的片上系統(tǒng),芯片內(nèi)部集成了增強(qiáng)型的8051內(nèi)核與RF收發(fā)器,使用TI公司提供的ZigBee協(xié)議棧(Z-Stack)可以方便的組建ZigBee網(wǎng)絡(luò)。本系統(tǒng)數(shù)據(jù)采集節(jié)點(diǎn)中CC2530被編程為ZigBee路由節(jié)點(diǎn)來(lái)采集、傳輸水質(zhì)信息,CC2530與STM32微處理器通過(guò)串口進(jìn)行通信,即將CC2530的P0.2、P0.3接口與STM32的PA9、PA10接口相連,CC2530通信電路如圖4所示。
圖4 STM32與CC2530連接
串口通信波特率為9600 bps,數(shù)據(jù)位8位,無(wú)奇偶校驗(yàn)位,停止位1位。通信協(xié)議由幀頭、編號(hào)、源地址、設(shè)備類型、溫度數(shù)據(jù)、pH數(shù)據(jù)、幀尾7部分組成,如表1所示。
表1 CC2530與STM32通信協(xié)議
其中幀頭1個(gè)字節(jié),固定為0XA5,表示一幀數(shù)據(jù)的開(kāi)始;編號(hào)2個(gè)字節(jié),記錄數(shù)據(jù)包編號(hào);源地址2個(gè)字節(jié),表示數(shù)據(jù)來(lái)源,取ZigBee終端設(shè)備自身MAC地址的低2個(gè)字節(jié)作為設(shè)備地址;設(shè)備類型1個(gè)字節(jié),0X1A代表協(xié)調(diào)器,0X1B代表路由器,0X1C代表終端節(jié)點(diǎn);溫度數(shù)據(jù)2個(gè)字節(jié),記錄溫度傳感器的輸出數(shù)據(jù);pH數(shù)據(jù)2個(gè)字節(jié),記錄pH傳感器輸出信號(hào)的A/D模數(shù)轉(zhuǎn)換值;幀尾1個(gè)字節(jié),固定為0X5A,表示1幀數(shù)據(jù)結(jié)束。
CC2530通信模塊程序使用IAR開(kāi)發(fā)環(huán)境開(kāi)發(fā),CC2530在數(shù)據(jù)采集節(jié)點(diǎn)中被編程為ZigBee網(wǎng)絡(luò)路由節(jié)點(diǎn),在數(shù)據(jù)匯聚節(jié)點(diǎn)中被編程為ZigBee網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)。STM32微處理器程序通過(guò)嵌入式系統(tǒng)MDK開(kāi)發(fā)環(huán)境使用C語(yǔ)言開(kāi)發(fā)。
數(shù)據(jù)采集節(jié)點(diǎn)下位機(jī)程序主要包括溫度數(shù)據(jù)采集、A/D模數(shù)轉(zhuǎn)換、串口通信等函數(shù)。數(shù)據(jù)采集節(jié)點(diǎn)上電后進(jìn)行初始化打開(kāi)定時(shí)器,然后等待定時(shí)器溢出中斷,在定時(shí)器中斷函數(shù)中通過(guò)A/D模數(shù)轉(zhuǎn)換采集pH傳感器輸出數(shù)據(jù),通過(guò)DS18B20單總線協(xié)議采集溫度傳感器數(shù)據(jù),將數(shù)據(jù)按照通信協(xié)議存入發(fā)送緩沖區(qū)后,通過(guò)串口發(fā)送給CC2530 ZigBee通信模塊,通信模塊從串口接收數(shù)據(jù)后,通過(guò)ZigBee網(wǎng)絡(luò)轉(zhuǎn)發(fā)至數(shù)據(jù)匯聚節(jié)點(diǎn),再由數(shù)據(jù)匯聚節(jié)點(diǎn)發(fā)送至上位機(jī),上位機(jī)接收到完整1幀水質(zhì)數(shù)據(jù)后能夠提取出溫度數(shù)據(jù)與pH傳感器輸出數(shù)據(jù)。數(shù)據(jù)采集節(jié)點(diǎn)軟件流程圖如圖5所示。
圖5 數(shù)據(jù)采集節(jié)點(diǎn)流程
為了減小溫度對(duì)pH傳感器輸出信號(hào)的影響,監(jiān)測(cè)中心上位機(jī)在提取出原始水質(zhì)數(shù)據(jù)后,采用基于二維回歸分析原理的曲面擬合算法對(duì)pH傳感器進(jìn)行溫度補(bǔ)償[8-9]。使用水質(zhì)數(shù)據(jù)中pH傳感器輸出電壓U及溫度T的二元函數(shù)來(lái)表示經(jīng)過(guò)了溫度補(bǔ)償?shù)膒H參量
VpH=f(U,T)。
由二維坐標(biāo)(U,T)所決定的VpH在同一曲面上,該曲面可利用二次曲面擬合方程描述為
VpH=α0+α1U+α2T+
α3U2+α4UT+α5T2+ε。
若上式的各個(gè)常系數(shù)已知,當(dāng)獲得電壓U及溫度T時(shí),便可代入其中計(jì)算得到被測(cè)參量VpH。
為了計(jì)算方程各系數(shù),在pH傳感器的量程范圍內(nèi)確定n個(gè)pH標(biāo)定點(diǎn),在工作溫度范圍內(nèi)確定m個(gè)溫度標(biāo)定點(diǎn),各個(gè)標(biāo)定點(diǎn)的標(biāo)準(zhǔn)輸入值依次為
V1,V2,V3,…,Vn,
T1,T2,T3,…,Tm。
(1)
總計(jì)有m×n個(gè)標(biāo)定點(diǎn),其均方誤差R應(yīng)最小。顯然
(2)
是常系數(shù)α0,α1,a2,α3,α4,α5的函數(shù),根據(jù)多元函數(shù)求極值條件,分別對(duì)αi(i=0,1,…,5)求偏導(dǎo)且令導(dǎo)數(shù)為零,則可最終得到各個(gè)常系數(shù),從而完全確定二次曲面擬合方程。
實(shí)驗(yàn)采用pH酸度計(jì)作為標(biāo)準(zhǔn)測(cè)量?jī)x對(duì)pH復(fù)合電極進(jìn)行標(biāo)定以及對(duì)整個(gè)系統(tǒng)進(jìn)行誤差分析。將pH酸度計(jì)以及數(shù)據(jù)采集節(jié)點(diǎn)的pH復(fù)合電極、DS18B20溫度傳感器一同放入盛有待測(cè)溶液的燒杯中,實(shí)驗(yàn)裝置如圖6所示。
圖6 實(shí)驗(yàn)裝置
通過(guò)在溶液中添加化學(xué)試劑HCL與NaOH改變其pH值,記錄每次pH值改變后pH酸度計(jì)顯示的標(biāo)準(zhǔn)pH值與上位機(jī)實(shí)時(shí)接收到的溶液溫度T與pH傳感器輸出電壓U,得到的實(shí)驗(yàn)數(shù)據(jù)(表2)。
將實(shí)驗(yàn)測(cè)量得到的200組實(shí)驗(yàn)數(shù)據(jù)隨機(jī)選取180組代入式(1)和式(2),計(jì)算擬合方程各常系數(shù) ,得到曲面擬合方程
VpH=18.590 - 0.009 042T-
3.647U+ 0.000 235 8T2-
0.010 69TU- 0.374 2U2。
(3)
曲面擬合方程的函數(shù)圖像如圖7所示。
表2 實(shí)驗(yàn)數(shù)據(jù)
圖7 擬合圖像
為驗(yàn)證擬合方程的有效性,將曲面擬合時(shí)未使用的20組實(shí)驗(yàn)數(shù)據(jù)中溶液溫度T與電壓U代入曲面擬合方程式(3)求得20組pH測(cè)量值并與實(shí)驗(yàn)中記錄的pH標(biāo)準(zhǔn)值作對(duì)比,結(jié)果如表3所示。
實(shí)驗(yàn)結(jié)果中,20組使用二次曲面擬合方程計(jì)算所得的pH測(cè)量值絕對(duì)誤差小于±0.2,平均相對(duì)誤差約為1.19%,具有較好的測(cè)量精度,驗(yàn)證了二次曲面擬合方程在處理pH傳感器溫度補(bǔ)償時(shí)的有效性。
表3 實(shí)驗(yàn)結(jié)果
設(shè)計(jì)并實(shí)現(xiàn)了基于ZigBee的水質(zhì)pH值在線監(jiān)測(cè)系統(tǒng),能夠在組網(wǎng)的情況下實(shí)時(shí)采集水質(zhì)pH值信息,同時(shí)具有較好的測(cè)量精度。此外系統(tǒng)搭配不同的水質(zhì)傳感器與其數(shù)據(jù)處理方程,還能夠測(cè)量水質(zhì)的其它信息。
[1] 鄒應(yīng)全,行鴻彥.高精度pH測(cè)量?jī)x研究[J].測(cè)控技術(shù),2010,29(9):1-4.
[2] 張坤,薛文玲,李志林,等.基于USB接口的在線pH值監(jiān)測(cè)系統(tǒng)[J].儀表技術(shù)與傳感器,2013,13(7):64-66.
[3] 陳瑤,薛月菊,陳聯(lián)誠(chéng),等.pH傳感器溫度補(bǔ)償模型研究[J].傳感技術(shù)學(xué)報(bào),2012,25(8):1034-1038.
[4] 譚靖.基于AD7792的pH在線監(jiān)測(cè)傳感器采集電路設(shè)計(jì)[J].電子科技,2013,26(12):93-95.
[5] 石家駿,鐘俊,易平.基于ZigBee的無(wú)線抄表系統(tǒng)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(3):875-878.
[6] 徐鵬,姚引娣.基于物聯(lián)網(wǎng)的糧倉(cāng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].西安郵電大學(xué)學(xué)報(bào),2013,18(3):122-124.
[7] 劉火良,楊森.STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2013:124-138.
[8] 陳湘萍,劉南平,蔡舉.一種多傳感器數(shù)據(jù)信息的融合算法[J].天津師范大學(xué)學(xué)報(bào):自然科學(xué)版,2011,31(1):42-44.
[9] 劉君華.智能傳感器系統(tǒng)[M].西安:西安電子科技大學(xué)出版社,2004:34-120.
[責(zé)任編輯:王輝]
A pH value online monitoring system based on ZigBee
ZHAO Xiaoqiang, FENG Xun
(School of Communication and Information Engineering, Xi’an University of Posts and Telecommunications, Xi’an, 710121, China)
In order to improve the real-time performance and measurement accuracy of water pH value monitoring, a pH value online monitoring system based on ZigBee is designed in this paper. The system consists of data collection nodes, a sink node and a monitoring computer. The STM32 microcontroller is used to collect the data in data collection nodes, and TI CC2530 RF chip is used to send the data to sink node by ZigBee wireless network. All network data are sent to monitoring computer by serial port in sink node. In addition, measurement data are fused by two-dimensional regression equation to reduce the temperature effect on the pH measurement accuracy. Measurement data comparative experiments show that the whole system has better real-time performance and higher measurement accuracy, and therefore can meet the requirements of pH monitoring system.
pH, ZigBee, STM32, temperature compensation
10.13682/j.issn.2095-6533.2014.06.014
2014-06-18
工業(yè)和信息化部通信軟科學(xué)研究計(jì)劃資助項(xiàng)目(2014R38);陜西省教育廳服務(wù)地方專項(xiàng)基金資助項(xiàng)目(14JF022);西安郵電大學(xué)研究生創(chuàng)新基金資助項(xiàng)目(112-2012)
趙小強(qiáng)(1977-),男,碩士,副教授,從事物聯(lián)網(wǎng)研究。E-mail:zxq7703@126.com 馮勛(1989-),男,碩士研究生,研究方向?yàn)槲锫?lián)網(wǎng)技術(shù)與應(yīng)用。E-mail:379334525@163.com
TP216
A
2095-6533(2014)06-0071-05