林大,唐榮年,王云強(qiáng),吳文峰
(海南大學(xué)機(jī)電工程學(xué)院,海南海口 570228)
隨著石油化工、醫(yī)藥、農(nóng)業(yè)、食品、紡織印染、水處理及環(huán)境保護(hù)等行業(yè)生產(chǎn)過(guò)程自動(dòng)化與智能化程度的不斷提高,水質(zhì)分析和水質(zhì)監(jiān)督工作與設(shè)備安全、可靠運(yùn)行的聯(lián)系愈加密切,尤其是對(duì)溶液pH值的檢測(cè)顯得更加重要[1-2]。通過(guò)對(duì)水質(zhì)pH的測(cè)量,可以檢驗(yàn)設(shè)備的運(yùn)行效果,為設(shè)備的安全運(yùn)行提供保證,當(dāng)設(shè)備出現(xiàn)異常狀況時(shí)可進(jìn)行故障分析,同時(shí)還可以對(duì)系統(tǒng)防腐措施的改進(jìn)提供可靠依據(jù)等。目前國(guó)內(nèi)市場(chǎng)上的pH測(cè)試儀或者構(gòu)造復(fù)雜,或者性價(jià)比不高,無(wú)法實(shí)現(xiàn)智能化測(cè)量。文中設(shè)計(jì)了一種便攜式的pH參數(shù)測(cè)量?jī)x,替代了傳統(tǒng)的有線、機(jī)械式儀表,具有操作簡(jiǎn)單、測(cè)量準(zhǔn)確、在線實(shí)時(shí)顯示并對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),開放性好,性價(jià)比高等優(yōu)點(diǎn),具有非常廣闊的應(yīng)用前景。
基于嵌入式系統(tǒng)的Android手機(jī)pH參數(shù)測(cè)量?jī)x由下位機(jī)和上位機(jī)組成。下位機(jī)為工作電路,由Stm32主板電路,藍(lán)牙模塊,pH檢測(cè)及信號(hào)放大電路,溫度采集模塊以及電源模塊構(gòu)成。下位機(jī)的連接核心是藍(lán)牙,藍(lán)牙的工作頻段是全球免費(fèi)的2.4 GHz頻段,采用時(shí)分雙工方案使得能夠?qū)崿F(xiàn)全雙工傳輸,其有效距離為10 m,當(dāng)然增大發(fā)射功率后能夠達(dá)到100 m,理論傳輸速率可達(dá)721 kb/s;藍(lán)牙技術(shù)短距離無(wú)線連接、高抗干擾性、低成本、低功耗等優(yōu)點(diǎn),使得在數(shù)據(jù)采集作業(yè)方面有突出的優(yōu)勢(shì)[3]。上位機(jī)是可直接發(fā)出操作命令的設(shè)備,可以是基于智能操作系統(tǒng)的手機(jī),也可以是基于不同操作系統(tǒng)的電腦。由于電腦體積較大,為了實(shí)現(xiàn)便攜式,該設(shè)計(jì)上位機(jī)選擇Android系統(tǒng)手機(jī)。Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),因此基于該平臺(tái)的應(yīng)用程序開發(fā)越來(lái)越熱門[4]。該設(shè)計(jì)系統(tǒng)的整體設(shè)計(jì)框架如圖1所示。
圖1 系統(tǒng)的整體框架
由pH計(jì)電極檢測(cè)被測(cè)液體氫離子濃度,通過(guò)簡(jiǎn)捷有效的高阻抗放大電路對(duì)信號(hào)進(jìn)行放大。利用Stm32的AD采集,均值濾波,通過(guò)溫度測(cè)量模塊進(jìn)行溫度補(bǔ)償,計(jì)算得到被測(cè)液體pH,通過(guò)藍(lán)牙模塊與Android手機(jī)實(shí)行數(shù)據(jù)傳輸,在Android手機(jī)界面上顯示出pH值。該設(shè)計(jì)能夠在線實(shí)時(shí)監(jiān)測(cè)pH值變化,具有測(cè)量數(shù)據(jù)穩(wěn)定、精度高、易于操作、便于攜帶等優(yōu)點(diǎn),適用于日常生活、農(nóng)業(yè)生產(chǎn)以及工業(yè)制造中各類pH測(cè)量,具有廣泛的應(yīng)用價(jià)值。
系統(tǒng)的總體硬件圖如圖2所示。
圖2 系統(tǒng)硬件平臺(tái)
該系統(tǒng)核心處理選用了Stm32F103VET6的最小系統(tǒng)板,它是一款基于CORTEX-M3內(nèi)核、低功耗、低成本、高性能的微處理器。Stm32F103xx系列32位閃存微控制器的工作頻率為72 MHz,片上集成了高速存儲(chǔ)器和豐富的I/O端口,片上還帶有2個(gè)12位的ADC和連接2條APB總線的外設(shè)。它不僅可以滿足控制系統(tǒng)的采集和控制精度,具有很高的運(yùn)算頻率,外設(shè)豐富,而且使系統(tǒng)具有很好的擴(kuò)展性能。
測(cè)量溶液pH值的常用方法有pH試紙法,酸堿滴定法等比色法,但這些方法都僅局限于粗略測(cè)試,無(wú)法保證測(cè)量精度。因此該設(shè)計(jì)對(duì)pH測(cè)量采用的是電位測(cè)定法,它具有穩(wěn)定性好和精度高等優(yōu)點(diǎn),能夠滿足實(shí)時(shí)、不間斷監(jiān)測(cè)水質(zhì)pH值等要求。其基本原理是將玻璃電極放入被測(cè)液體中,不同被測(cè)液體中氫離子濃度引起電極內(nèi)外產(chǎn)生電位差,再通過(guò)A/D轉(zhuǎn)換電路經(jīng)計(jì)算讀出溶液pH值。由于pH電極的內(nèi)阻大,要求前置放大器有較高的輸入阻抗,當(dāng)測(cè)量電路輸入阻抗大于等于10~12 Ω時(shí),復(fù)合玻璃電極內(nèi)阻引起的測(cè)量誤差δ將在0.1%的范圍內(nèi)波動(dòng)[5]。系統(tǒng)選用運(yùn)算放大器OPA333,它是軌至軌運(yùn)放,輸出幅度可以非常接近電源電壓。同時(shí)也是低功耗、小尺寸的零漂移放大器,做成高輸入阻抗的差分放大電路,可以完成阻抗匹配和進(jìn)行信號(hào)放大。Stm32主控芯片通過(guò)PC0(ADC123_IN10)口對(duì)pH放大電路輸出進(jìn)行AD采集,濾波處理,得到初始pH值。pH測(cè)量信號(hào)放大電路如圖3所示。
圖3 pH信號(hào)放大電路
Stm32主控芯片通過(guò)通用串口PA0口對(duì)溫度傳感器輸出進(jìn)行溫度數(shù)據(jù)值讀取,經(jīng)計(jì)算后實(shí)現(xiàn)溫度補(bǔ)償。溫度信號(hào)對(duì)pH測(cè)量起著很重要的作用,它直接反映出所測(cè)溶液的溫度值,根據(jù)當(dāng)前溫度對(duì)pH值做出準(zhǔn)確的補(bǔ)償,這是提高一般儀表測(cè)試精度的重要方法之一[6]。系統(tǒng)選用分辨率可編程一線數(shù)字溫度傳感器DS18B20,可直接將被測(cè)溫度轉(zhuǎn)換為數(shù)字信號(hào)。測(cè)溫范圍為-55~+125 ℃,在-10~+85 ℃范圍內(nèi)精度為±0.5 ℃,滿足系統(tǒng)要求。
3.1主程序設(shè)計(jì)
該水質(zhì)PH參數(shù)測(cè)量?jī)x的主程序流程圖如圖4所示。
圖4 系統(tǒng)程序流程圖
系統(tǒng)開機(jī)后首先進(jìn)行各模塊初始化,然后進(jìn)行pH值為6.86的標(biāo)準(zhǔn)緩沖溶液標(biāo)定,在標(biāo)定完成后開啟1 ms中斷,然后進(jìn)入while(1)循環(huán)。在while(1)循環(huán)里面,先進(jìn)行是否完成20次中斷采集,在完成后關(guān)閉1 ms定時(shí)中斷,計(jì)數(shù)變量N置零,然后進(jìn)行均值濾波處理和溫度補(bǔ)償,其次計(jì)算出被測(cè)液pH值,再將計(jì)算出的被測(cè)液pH值經(jīng)過(guò)串口、藍(lán)牙發(fā)送出去,最后再次開啟1 ms中斷。在中斷服務(wù)程序中進(jìn)行pH值的采集,每中斷1次就采集1次。
3.2軟件終端
3.2.1Android操作系統(tǒng)
Android系統(tǒng)內(nèi)核基于開源的Linux,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成[7]。
3.2.2Android應(yīng)用程序開發(fā)環(huán)境Eclipse
Android應(yīng)用程序開發(fā)不受限于PC機(jī)的操作系統(tǒng),Windows、Linux、Mac OS都支持開發(fā)。鑒于目前國(guó)內(nèi)主流操作系統(tǒng)是Windows系統(tǒng),在Windows下大多采用Eclipse搭建Android開發(fā)環(huán)境。Eclipse是一個(gè)集成開發(fā)環(huán)境的框架平臺(tái),通過(guò)插件來(lái)構(gòu)建開發(fā)環(huán)境,主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目3個(gè)項(xiàng)目組成,具體包括4個(gè)部分組成Eclipse Platform、JDT、CDT和PDE[8]。
3.2.3手機(jī)客戶端
在Eclipse的開發(fā)環(huán)境下,利用Java語(yǔ)言編寫Android手機(jī)pH檢測(cè)客戶端并安裝在手機(jī)上。該客戶端軟件采用多線程解決方案開發(fā),主線程負(fù)責(zé)管理和響應(yīng)各個(gè)子線程,即子線程的啟動(dòng)、掛起、停止等操作。子線程用于數(shù)據(jù)的接收、存儲(chǔ)、曲線繪制等,確保程序多功能的實(shí)現(xiàn)[9]。終端軟件流程圖如圖5所示。
圖5 終端軟件流程圖
Android智能手機(jī)通過(guò)本地藍(lán)牙接收并保存下位機(jī)藍(lán)牙模塊上發(fā)送的pH值,在用戶界面上顯示出來(lái)。還可以直觀的繪制出pH值的變化波形和進(jìn)行人機(jī)交互,完成其它功能。為了盡快實(shí)現(xiàn)系統(tǒng)功能,上位機(jī)程序沒(méi)有對(duì)軟件界面做特別美化的設(shè)計(jì),僅包含必要的文字提示及顯示方框,以實(shí)現(xiàn)系統(tǒng)功能為最大目標(biāo)。軟件界面及測(cè)試結(jié)果如圖6所示。
圖6 應(yīng)用程序界面
為了驗(yàn)證儀器的測(cè)量精度和穩(wěn)定性,測(cè)試時(shí)選用了3種標(biāo)準(zhǔn)的pH溶液,每次電極放在溶液中10 min,待pH測(cè)量?jī)x顯示穩(wěn)定后進(jìn)行讀數(shù)。進(jìn)行了大量的實(shí)驗(yàn),文中隨機(jī)抽取其中5次。測(cè)試結(jié)果具體數(shù)據(jù)如表1所示。
表1 測(cè)試結(jié)果
實(shí)驗(yàn)結(jié)果表明,pH測(cè)量?jī)x測(cè)量的pH值都比較接近給定的標(biāo)準(zhǔn)溶液,且絕對(duì)誤差小于等于0.08,每組5次測(cè)量pH值的變化小于等于0.14,表明測(cè)量?jī)x具有良好的測(cè)量精度和穩(wěn)定性。同時(shí)在實(shí)驗(yàn)測(cè)試時(shí)用串口連上PC機(jī),在PC機(jī)上觀察下位機(jī)藍(lán)牙模塊發(fā)送出來(lái)的數(shù)據(jù),顯示結(jié)果和 Android軟件界面顯示結(jié)果相同,表示下位機(jī)藍(lán)牙模塊可以和Android手機(jī)進(jìn)行準(zhǔn)確無(wú)誤的數(shù)據(jù)通信,實(shí)現(xiàn)了系統(tǒng)功能。
該pH參數(shù)測(cè)量?jī)x相對(duì)傳統(tǒng)的測(cè)量?jī)x器來(lái)說(shuō),實(shí)現(xiàn)了溫度補(bǔ)償,使用性價(jià)比高的Stm32作為微處理器和目前技術(shù)成熟的藍(lán)牙技術(shù)進(jìn)行無(wú)線通信,采用嵌入式Android操作系統(tǒng)作為平臺(tái),實(shí)現(xiàn)了移動(dòng)便攜式的數(shù)據(jù)采集系統(tǒng),并在此基礎(chǔ)上進(jìn)行了大量實(shí)驗(yàn),實(shí)現(xiàn)了儀表可靠性、穩(wěn)定性測(cè)試。該儀器經(jīng)過(guò)進(jìn)一步的改進(jìn),還可以擴(kuò)展到其它參數(shù)如溶解氧、電導(dǎo)率、濁度、余氯等的測(cè)量,具有非常廣泛的應(yīng)用價(jià)值和經(jīng)濟(jì)效益。
參考文獻(xiàn):
[1]黃皎,劉海榮.基于ZigBee的智能pH分析儀的設(shè)計(jì).化工自動(dòng)化及儀表,2011,38(6):664-667.
[2]史慧,田增國(guó),汪獻(xiàn)忠,等.智能在線pH分析儀的設(shè)計(jì).微計(jì)算機(jī)信息,2007,23(11-1):104-105.
[3]馬方魁,郇極.藍(lán)牙技術(shù)在工業(yè)控制系統(tǒng)中的集成和開發(fā).北京航天航空大學(xué)學(xué)報(bào),2006,32(12):1459-1462.
[4]楊豐盛.Android應(yīng)用開發(fā)揭秘.北京:機(jī)械工業(yè)出版社,2010:1-4.
[5]蔡曉煒.智能在線PH檢測(cè)記錄儀的研究和設(shè)計(jì):[學(xué)位論文].杭州:浙江工業(yè)大學(xué),2009:10-12.
[6]邱士安.計(jì)算機(jī)控制的在線智能酸度測(cè)量信號(hào)采集問(wèn)題研究.儀表技術(shù)與傳感器,2006(10):28-29,47.
[7]Wikipedia.Android(operatingsystem)[OL].http://en.wikipedia.org/wiki/Android_(operating_system).
[8]強(qiáng)鋒科技,陳剛.Eclipse從入門到精通.北京:清華大學(xué)出版社,2005:5-6.
[9]紀(jì)曉陽(yáng).線程在Android開發(fā)中的應(yīng)用.軟件,2013,34(8):24-26,41.