唐明佳,田孝文,周子鵬
(吉首大學(xué)物理與機(jī)電工程學(xué)院,湖南 吉首 416000)
目前,水源地的水質(zhì)檢測(cè)主要依靠人工操作,檢測(cè)周期短則1個(gè)星期,多則1個(gè)月.而我國(guó)幅員遼闊,水域眾多,人工檢測(cè)難以及時(shí)預(yù)防和處理突發(fā)的水污染問(wèn)題.為了解決這個(gè)問(wèn)題,筆者研發(fā)了一套基于微控制器STM32的水質(zhì)檢測(cè)系統(tǒng).采用該系統(tǒng)進(jìn)行水質(zhì)檢測(cè),可以實(shí)時(shí)回傳并分析檢測(cè)數(shù)據(jù),方便對(duì)污染區(qū)域作早期治污處理,避免發(fā)生重大環(huán)境污染事件.
本系統(tǒng)主要分為上位機(jī)和下位機(jī)兩部分,其總體框架設(shè)計(jì)如圖1所示.
圖1 系統(tǒng)總體框架設(shè)計(jì)Fig. 1 Overall Framework Design of the System
上位機(jī)由服務(wù)器、手機(jī)APP和Web客戶端組成;下位機(jī)的主要組成為STM32微控制器、GPS定位模塊、物聯(lián)網(wǎng)模塊和水質(zhì)檢測(cè)參數(shù)相關(guān)的模塊等.
下位機(jī)中,通過(guò)pH值檢測(cè)模塊、溫度檢測(cè)模塊、TDS檢測(cè)模塊,采集水的pH值、溫度值、水中溶解性固體總量(TDS)等數(shù)據(jù)并傳輸給STM32單片機(jī),GPS定位模塊提供位置信息.將整理好的數(shù)據(jù)按照預(yù)定的協(xié)議格式通過(guò)物聯(lián)網(wǎng)模塊發(fā)送至附近的移動(dòng)基站,最終傳輸至服務(wù)器進(jìn)行存儲(chǔ)和管理.上位機(jī)中的手機(jī)APP、Web端通過(guò)訪問(wèn)服務(wù)器可以獲取實(shí)時(shí)數(shù)據(jù)和相關(guān)的歷史數(shù)據(jù),再由統(tǒng)計(jì)圖表獲取當(dāng)前和之前某段時(shí)間內(nèi)的某一個(gè)地點(diǎn)的水質(zhì)情況.通過(guò)擴(kuò)展,還可以查看感興趣的地區(qū)的水質(zhì)情況.
下位機(jī)測(cè)量端硬件主要包括pH值檢測(cè)采集傳感器模塊[1]、DS18B20溫度傳感器模塊[2]和TDS水質(zhì)檢測(cè)模塊[3].
pH值檢測(cè)模塊工作時(shí),將pH值電極放入水中,另一頭經(jīng)BNC插口輸出電壓信號(hào)至放大器并將信號(hào)放大,信號(hào)最終接入單片機(jī)的ADC通道;單片機(jī)通過(guò)AD轉(zhuǎn)換即可讀出不同pH值對(duì)應(yīng)的電壓值,從而獲取水的pH值.
測(cè)溫模塊為DS18B20數(shù)字溫度傳感器探頭不銹鋼封裝防水型.美國(guó)Dallas半導(dǎo)體公司生產(chǎn)的數(shù)字化溫度傳感器DS18B20,采用導(dǎo)熱性高的密封膠灌封,保證了溫度傳感器的高靈敏性,溫度延遲小,同時(shí)支持單總線(1-Wire)通信,可以很好地兼容單片機(jī).測(cè)量溫度范圍-55~125 ℃,精度±0.5 ℃.在檢測(cè)水溫時(shí),溫度探頭放入水中,與水充分接觸,另一端電源接+5 V和GND,信號(hào)線接單片機(jī)的GPIO口,與DS18B20模塊進(jìn)行單總線通訊,讀取溫度值.
TDS水質(zhì)檢測(cè)采用的是TDS水質(zhì)檢測(cè)探頭和BA01芯片組合而成的模塊.BA01是一款檢測(cè)TDS的專用芯片,內(nèi)部集成高精密振蕩電路、模數(shù)轉(zhuǎn)換電路和浮點(diǎn)運(yùn)算單元.將檢測(cè)探頭放入水中,另一頭連接BA01芯片電路,探頭傳回信號(hào)并轉(zhuǎn)換成數(shù)字信號(hào),然后通過(guò)串口通信發(fā)送給單片機(jī),從而得到TDS值.
控制芯片采用的是ST(意法半導(dǎo)體)公司的STM32F103R8T6芯片,它是STM32F103系列中高性能、高配置Cortex-M3內(nèi)核32位處理器,主頻72 MHz,封裝LQFP64,片內(nèi)FLASH容量64 kB,SRAM容量20 kB.STM32F103R8T6芯片自帶2個(gè)12位模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間1 μs,輸入通道21個(gè),轉(zhuǎn)換范圍0~3.6 V.本設(shè)計(jì)采用ADC1通道1讀取pH值模塊輸出的電壓信號(hào),能完全滿足要求.此外,該芯片集成3個(gè)串口.串口1用于讀取TDS水質(zhì)檢測(cè)模塊的數(shù)據(jù),串口2用于將各個(gè)模塊讀取的數(shù)據(jù)發(fā)送給SIM800A模塊,串口3用于讀取GPS定位模塊的數(shù)據(jù).STM32F103R8T6芯片的原理圖如圖2所示.
圖2 STM32F103R8T6芯片的原理圖Fig. 2 Schematic Diagram of STM32F103R8T6 Chip
電源模塊通過(guò)鋰離子電池組進(jìn)行供電,總電壓達(dá)到11.1 V.因?yàn)镾TM32單片機(jī)額定電壓+3.3 V,DS18B20測(cè)溫模塊、物聯(lián)網(wǎng)模塊、pH值檢測(cè)模塊和TDS檢測(cè)模塊的額定電壓+5 V,所以必須通過(guò)穩(wěn)壓芯片為各個(gè)模塊提供合適且穩(wěn)定的電壓.電平轉(zhuǎn)換通過(guò)ASM1117穩(wěn)壓芯片輸出穩(wěn)定的+3.3 V電壓,通過(guò)LM2940穩(wěn)壓芯片輸出穩(wěn)定的+5.0 V電壓,即可滿足要求.
下位機(jī)定位模塊采用的是一款高精度RTK定位產(chǎn)品(RTK-MOUSE),定位精度可達(dá)到亞米級(jí).支持GSM850,EGSM900,DCS1800,PCS1900多頻段通訊,能夠滿足系統(tǒng)設(shè)計(jì)需求.
定位模塊集射頻、基帶、功耗管理單元、功率放大器和天線于一體,可通過(guò)GPRS網(wǎng)絡(luò)或本地串口獲取RTK高精度位置信息.設(shè)備配有數(shù)據(jù)線、防水外殼(56)、固定用螺絲孔,具有體積小、安裝使用方便和便于集成等特點(diǎn).內(nèi)置天線,支持GPS和北斗定位信息.供電電源電壓+5 V,默認(rèn)串口波特率115 200 bps,冷啟動(dòng)低于28 s,熱啟動(dòng)低于3 s,響應(yīng)快速.定位模塊實(shí)物如圖3所示,調(diào)試界面如圖4所示.
數(shù)據(jù)發(fā)送采用SIM800A物聯(lián)網(wǎng)模塊.SIM800A是SIMCOM公司推出的一款高性能工業(yè)級(jí)雙頻GSM/GPRS模塊,工作頻段雙頻為GSM90/1 800 MHz.SIM800A可以低功耗實(shí)現(xiàn)語(yǔ)音、DTMF、SMS(短信/彩信)、GPRS數(shù)據(jù)的傳輸,廣泛應(yīng)用于智能家居、智能集抄系統(tǒng)和遠(yuǎn)程監(jiān)控等.本設(shè)計(jì)主要利用SIM800A的GPRS數(shù)據(jù)傳輸功能.SIM800A模塊與單片機(jī)相連,通過(guò)串口將檢測(cè)到的數(shù)據(jù)按照預(yù)定格式發(fā)送給SIM800A模塊,SIM800A模塊通過(guò)已激活的SIM卡,利用GPRS數(shù)據(jù)傳輸功能將數(shù)據(jù)發(fā)送到附近的移動(dòng)基站,經(jīng)移動(dòng)基站再發(fā)送到服務(wù)器,供上位機(jī)查詢、計(jì)算和處理等.
圖3 定位模塊實(shí)物Fig. 3 Physical Positioning Module
圖4 調(diào)試界面Fig. 4 Debugging Interface
下位機(jī)軟件系統(tǒng)設(shè)計(jì)采用C語(yǔ)言,開(kāi)發(fā)平臺(tái)為Keil 5.0,軟件源代碼編譯成功之后通過(guò)ST-LINK下載器下載到單片機(jī)中.下位機(jī)模塊上電之后,單片機(jī)進(jìn)入主函數(shù),先初始化各個(gè)模塊,再進(jìn)入主循環(huán),依次從pH值檢測(cè)模塊、測(cè)溫模塊、TDS模塊獲取測(cè)得的數(shù)據(jù),并進(jìn)行格式轉(zhuǎn)換、打包,經(jīng)串口發(fā)送給SIM800A模塊,最終通過(guò)SIM800A模塊發(fā)送至附近的基站.下位機(jī)軟件設(shè)計(jì)程序結(jié)構(gòu)如圖5所示.
圖5 下位機(jī)軟件設(shè)計(jì)程序結(jié)構(gòu)Fig. 5 Lower Computer Structure Software
手機(jī)APP、Web端通過(guò)TCP/IP通信協(xié)議與Tomcat服務(wù)器交互,獲取下位機(jī)各模塊采集的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存、分析,再形成圖表展現(xiàn).服務(wù)器會(huì)存儲(chǔ)水質(zhì)檢測(cè)數(shù)據(jù),用戶通過(guò)客戶端的數(shù)據(jù)搜索功能訪問(wèn)MySQL數(shù)據(jù)庫(kù),就可查詢指定時(shí)間段的水質(zhì)情況.手機(jī)APP客戶端界面如圖6所示,Web客戶端如圖7所示.
Web端通過(guò)TCP/IP協(xié)議從Tomcat服務(wù)器獲取下位機(jī)GPS模塊定位的經(jīng)緯度數(shù)據(jù),將經(jīng)緯度數(shù)據(jù)存儲(chǔ)至MySQL數(shù)據(jù)庫(kù).然后調(diào)用百度地圖API,采用反地理編碼方法確定下位機(jī)數(shù)據(jù)采集點(diǎn)位置,實(shí)現(xiàn)精準(zhǔn)定位.GPS定位如圖8所示.
圖6 手機(jī)APP客戶端界面Fig. 6 Mobile APP Client Interface
圖7 Web客戶端界面Fig. 7 Web Client Interface
圖8 GPS定位Fig. 8 GPS Positioning
隨著人口的快速增長(zhǎng),人類(lèi)的日?;顒?dòng)導(dǎo)致地表、地下水體的水質(zhì)急劇惡化,做好水體水質(zhì)的實(shí)時(shí)性、準(zhǔn)確性檢測(cè)至關(guān)重要.本系統(tǒng)能夠基本完成水質(zhì)的自動(dòng)化檢測(cè),讓相關(guān)人員的工作效率得到提升,但是也存在一些缺陷.例如,在沒(méi)有移動(dòng)信號(hào)覆蓋的偏遠(yuǎn)地區(qū),數(shù)據(jù)回傳是個(gè)難題,獲取數(shù)據(jù)之后,后臺(tái)目前只能做一些簡(jiǎn)單的圖表分析,專業(yè)的分析方法還沒(méi)有導(dǎo)入.這些都是筆者下一步的研究方向.
吉首大學(xué)學(xué)報(bào)(自然科學(xué)版)2020年3期