王 巖,王超梁,楊格格
(鄭州航空工業(yè)管理學(xué)院 智能工程學(xué)院,河南 鄭州 450000)
海洋是地球上最早出現(xiàn)的水體,其次是河流、湖泊等,在人類生活和經(jīng)濟(jì)發(fā)展中都離不開生命之源—水。生活飲用水的質(zhì)量與人類的身體健康息息相關(guān),工業(yè)用水的水質(zhì)影響著產(chǎn)品質(zhì)量和配套設(shè)施的維護(hù)難易程度,廢水、污水更關(guān)乎生態(tài)圈的可持續(xù)發(fā)展。因此,做好水資源質(zhì)量監(jiān)測(cè)至關(guān)重要。
傳統(tǒng)水質(zhì)監(jiān)測(cè)方案雖然針對(duì)性強(qiáng),但是檢測(cè)周期長(zhǎng)、水樣采集復(fù)雜、人工成本高。近年來,隨著人工智能和物聯(lián)網(wǎng)的發(fā)展,智能環(huán)保系統(tǒng)大大提高了水質(zhì)監(jiān)測(cè)的效率和精度。本文設(shè)計(jì)的云系統(tǒng)能夠?qū)崟r(shí)、自動(dòng)監(jiān)測(cè)水質(zhì),可拓展性強(qiáng),不僅適用于生活用水的監(jiān)測(cè),還可應(yīng)用于野外水域、水產(chǎn)養(yǎng)殖、工業(yè)用水等場(chǎng)合。
本水質(zhì)監(jiān)測(cè)云系統(tǒng)以STM32F103單片機(jī)為核心控制器,利用水質(zhì)傳感器對(duì)所在水域一定范圍內(nèi)的溫度、濁度、pH值和TDS數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,得到的電壓信號(hào)經(jīng)單片機(jī)A/D轉(zhuǎn)換與數(shù)值轉(zhuǎn)換后獲取對(duì)應(yīng)的濁度、pH值和TDS值,結(jié)果通過FSMC控制器發(fā)送至液晶屏,同時(shí)ESP8266通過MQTT協(xié)議將處理后的數(shù)據(jù)發(fā)送到物聯(lián)網(wǎng)阿里云平臺(tái)進(jìn)行實(shí)時(shí)顯示。當(dāng)水質(zhì)參數(shù)的數(shù)值超過系統(tǒng)預(yù)設(shè)閾值時(shí),可及時(shí)通過聲光報(bào)警發(fā)出預(yù)警信息,從而幫助用戶快速掌握所測(cè)水域環(huán)境的變化情況。
圖1所示為系統(tǒng)總體框架。
圖1 總體設(shè)計(jì)框架
本系統(tǒng)溫度測(cè)量選用DS18B20溫度傳感器,遵循1-Wire單總線協(xié)議,將采集到的溫度信號(hào)通過PG11管腳送入單片機(jī)芯片進(jìn)行后續(xù)處理,然后通過顯示模塊進(jìn)行顯示。DS18B20與單片機(jī)硬件連接關(guān)系如圖2所示。
圖2 DS18B20與STM32連接電路
TSW-30傳感器內(nèi)部的紅外線對(duì)管發(fā)出光線,穿過待測(cè)溶液,水體渾濁程度影響光的透射、散射,其渾濁程度與透光量成反比,和散射光與透射光比值成反比,與光接收端轉(zhuǎn)換的電流大小成反比。TSW-30傳感器光接收端輸出的電流信號(hào)通過模塊電阻,采樣處理得到為0~4.5 V電壓信號(hào),單片機(jī)再通過ADC采集信息并經(jīng)過公式轉(zhuǎn)換就可以獲知當(dāng)前水樣的濁度值。濁度測(cè)量模塊原理如圖3所示。
圖3 濁度測(cè)量模塊原理
濁度傳感器模塊必須外接5 V電源,TSW-30通過XH2.54接口連接到濁度模塊上,濁度模塊的AO引腳連接單片機(jī)ADC1引腳PA6。
本系統(tǒng)選用通用E-201 pH復(fù)合電極采集pH參數(shù)。該電極由pH玻璃電極和銀-氯化銀參比電極復(fù)合而成,當(dāng)電極浸入待測(cè)溶液時(shí),玻璃薄膜附近形成2個(gè)水化凝膠層,在進(jìn)行pH測(cè)定時(shí),玻璃膜兩側(cè)溶液的離子交換形成相對(duì)穩(wěn)定的電勢(shì)差,隨之離子交換趨于穩(wěn)定,電勢(shì)差的大小趨于定值,即輸出電壓,pH電極輸出電壓為毫伏級(jí)。
復(fù)合電極配套模塊搭載TLC4502自動(dòng)校準(zhǔn)運(yùn)算放大器,用來放大pH電極的毫伏級(jí)電壓信號(hào),同時(shí)搭載放大倍數(shù)調(diào)節(jié)電位器,順時(shí)針方向旋轉(zhuǎn)即可增大放大倍數(shù),反之減小放大倍數(shù),pH模塊輸出電壓范圍為0~5 V。pH傳感器模塊接入系統(tǒng)使用之前,應(yīng)用標(biāo)準(zhǔn)緩沖溶液調(diào)節(jié)電位器進(jìn)行校準(zhǔn)。
pH傳感器模塊外接3.3 V電源,復(fù)合電極通過BNC接口連接監(jiān)測(cè)模塊,模塊的PO引腳連接單片機(jī)ADC1的通道5即引腳PA5。
本系統(tǒng)利用TDS探針進(jìn)行溶液溶解性固體總量參數(shù)采集,在兩探針電極之間載入電壓后,帶正電的離子(如Na,Ca,Mg,K等)向負(fù)電荷的方向移動(dòng),帶負(fù)電荷的離子(如Cl,SO,HCO等)向正電荷的方向移動(dòng)。通過檢測(cè)離子移動(dòng)所產(chǎn)生的電流,從而確定待測(cè)液的TDS值。
TDS模塊供電電壓正極兼容3.3 V和5 V電壓,輸出0~2.3 V模擬電壓信號(hào),所以需要單片機(jī)進(jìn)行ADC采集,文中選用ADC1通道7,即2Pin XH-2.54接頭與TDS探針連接,TDS模塊的TDS引腳連接到單片機(jī)的引腳PA7。
本系統(tǒng)選用ALIENTEK TFTLCD模塊作為測(cè)量參數(shù)顯示屏。TFTLCD巧妙結(jié)合了微電子技術(shù)、薄膜晶體管(TFT)技術(shù)、LCD技術(shù),可有效克服非選通時(shí)的串?dāng)_,大大提高監(jiān)測(cè)質(zhì)量。
TFTLCD模塊有21條8080并行接口信號(hào)線,其中CS信號(hào)線用來傳輸TFTLCD片選信號(hào);WR和RD分別對(duì)TFTLCD寫入和讀取數(shù)據(jù);DB1~DB8、DB10~DB17為雙向數(shù)據(jù)傳輸信號(hào)線;RS用來傳送讀寫命令/讀寫數(shù)據(jù)標(biāo)志位,RST為硬件復(fù)位信號(hào)線,直接連接單片機(jī)的復(fù)位引腳。
TFTLCD通過FSMC控制器驅(qū)動(dòng),所以,LCD_CS、LCD_RS、LCD_WR、LCD_RD分別連接至FSMC控制器的NE4、A10、NWE、NOE,即單片機(jī)的PG12、PG0、PD5、PD4引腳;LCD_BL引腳與單片機(jī)PB0相連,實(shí)現(xiàn)背光控制;LCD_D0~LCD_D15連接到FSMC_D15~FSMC_D0。
本系統(tǒng)通信模塊設(shè)計(jì)選用安信可公司出品的ESP-01S通信模塊,共有8個(gè)接口,其中供電電源正極使用3.3 V電壓供電;RXD為異步串口接收端;TXD為異步串口發(fā)送端;EN引腳為芯片使能端,輸出高電平有效;IO0引腳懸空時(shí)為FLASH下載模式和工作模式,下拉時(shí)為串口下載模式;IO2引腳默認(rèn)為高電平,開機(jī)上電時(shí)禁止下拉;RST為外部復(fù)位引腳,默認(rèn)為高電平,輸出低電平時(shí)有效。
本系統(tǒng)中,ESP-01S模組的VCC管腳連接3.3 V電壓,ESP-01S的TXD、RXD、RST引腳分別連接單片機(jī)的PA3、PA2、PA4引腳,實(shí)現(xiàn)UART通信,剩余管腳懸空。
本系統(tǒng)軟件設(shè)計(jì)采用C語言編程,在Keil5開發(fā)環(huán)境中運(yùn)行,利用ST-Link下載工具在線調(diào)試,由XCOM軟件進(jìn)行串口調(diào)試。
系統(tǒng)軟件設(shè)計(jì)包括傳感器單元程序設(shè)計(jì)、控制單元程序設(shè)計(jì)和WiFi模塊程序設(shè)計(jì)。傳感器單元包括溫度、濁度、pH值和TDS值的采集,需獲取待測(cè)水域的環(huán)境因子。其中,溫度數(shù)據(jù)采取單總線方式讀取,濁度、pH值和TDS值需要利用A/D轉(zhuǎn)換將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并經(jīng)過中央處理器處理后轉(zhuǎn)變成對(duì)應(yīng)的參數(shù)值;控制單元包括顯示和預(yù)警兩部分,水質(zhì)參數(shù)數(shù)據(jù)可在TFTLCD上實(shí)時(shí)顯示,并設(shè)置閾值,當(dāng)參數(shù)超過此范圍時(shí)可利用蜂鳴器報(bào)警;WiFi模塊通過MQTT協(xié)議將獲取的數(shù)據(jù)發(fā)送到阿里云物聯(lián)網(wǎng)平臺(tái)并實(shí)時(shí)顯示。系統(tǒng)軟件總體設(shè)計(jì)框架如圖4所示。
圖4 系統(tǒng)設(shè)計(jì)流程
本系統(tǒng)上電測(cè)試之前,檢查各模塊是否連接正確。系統(tǒng)上電前如圖5所示。連接電源后,查看是否存在短路、斷路或芯片過熱等異?,F(xiàn)象。開通阿里云物聯(lián)網(wǎng)平臺(tái),創(chuàng)建產(chǎn)品、設(shè)備,設(shè)置產(chǎn)品自定義屬性、服務(wù)和事件,然后發(fā)布模型。利用IoT Stutio開發(fā)Web應(yīng)用,選取儀表盤,設(shè)置樣式、數(shù)據(jù)范圍、配置對(duì)應(yīng)的數(shù)據(jù)源等,組建該水質(zhì)監(jiān)測(cè)云系統(tǒng)設(shè)備運(yùn)維大屏。
圖5 系統(tǒng)未上電圖
程序編譯無誤后燒錄入單片機(jī),燒錄成功后系統(tǒng)還未連接至阿里云服務(wù)器,所以暫時(shí)未傳輸數(shù)據(jù)至LCD,等待幾秒后,可在XCOM串口調(diào)試軟件觀測(cè)到單片機(jī)已成功連接阿里云服務(wù)器,并開始進(jìn)行數(shù)據(jù)透?jìng)?,此時(shí)LCD開始顯示測(cè)量參數(shù),如圖6所示。
圖6 連接服務(wù)器成功后LCD顯示界面
登錄阿里云物聯(lián)網(wǎng)平臺(tái),可在公共實(shí)例中查看設(shè)備,點(diǎn)擊模型數(shù)據(jù),實(shí)時(shí)查看水質(zhì)測(cè)量數(shù)據(jù);點(diǎn)擊IoT Stutio的應(yīng)用開發(fā),查看創(chuàng)建的全局資源項(xiàng)目;應(yīng)用綁定設(shè)備,查看水質(zhì)監(jiān)測(cè)系統(tǒng)設(shè)備運(yùn)維大屏。水質(zhì)監(jiān)測(cè)系統(tǒng)設(shè)備運(yùn)維大屏如圖7所示。
圖7 水質(zhì)監(jiān)測(cè)系統(tǒng)設(shè)備運(yùn)維大屏
將傳感器分別放入不同待測(cè)溶液中,TFTLCD、模型數(shù)據(jù)、水質(zhì)監(jiān)測(cè)云系統(tǒng)設(shè)備運(yùn)維大屏水質(zhì)參數(shù)均可實(shí)時(shí)顯示。
本文設(shè)計(jì)了基于阿里云物聯(lián)網(wǎng)云平臺(tái)和STM32F103ZET6單片機(jī)的水質(zhì)監(jiān)測(cè)云系統(tǒng),利用水質(zhì)傳感器對(duì)所在水域一定范圍內(nèi)的溫度、濁度、pH、TDS數(shù)據(jù)進(jìn)行采集,單片機(jī)進(jìn)行數(shù)據(jù)處理后,通過FSMC控制器發(fā)送到液晶屏上顯示,同時(shí)通過WiFi模塊將采集的數(shù)據(jù)發(fā)送到阿里云物聯(lián)網(wǎng)平臺(tái)實(shí)時(shí)顯示。該系統(tǒng)操作簡(jiǎn)單、數(shù)據(jù)分析方便、應(yīng)用場(chǎng)合廣泛、可拓展性強(qiáng),適合在野外場(chǎng)合多點(diǎn)放置、實(shí)時(shí)監(jiān)測(cè),多區(qū)域在線水質(zhì)監(jiān)測(cè)云系統(tǒng)具有一定的實(shí)用性和經(jīng)濟(jì)價(jià)值。