阮承治,吳鴻興,陳 飛,郝佳瑩,鄧瑤鈴,歐陽林群
(武夷學(xué)院1.機(jī)電工程學(xué)院;2.農(nóng)機(jī)智能控制與制造技術(shù)福建省高校重點(diǎn)實(shí)驗(yàn)室,福建武夷山354300)
隨著科學(xué)技術(shù)的突飛猛進(jìn),必然會(huì)帶動(dòng)經(jīng)濟(jì)的快速增長,但是在這一發(fā)展的過程中,對(duì)我們賴以生存的環(huán)境也產(chǎn)生了一定的影響,其中水質(zhì)是受影響最為明顯的一個(gè)方面,所以水質(zhì)的檢測(cè)對(duì)于水環(huán)境保護(hù)起到一個(gè)非常重要的作用[1]。目前淡水處在一個(gè)短缺的狀態(tài),如果對(duì)水的檢測(cè)存在滯后或誤差,那對(duì)水資源的浪費(fèi)和利用效率就存在較大影響,從生態(tài)安全和經(jīng)濟(jì)環(huán)保的角度來看,水質(zhì)的檢測(cè)是非常有必要的[2]。上個(gè)世紀(jì)七十年代,美國、日本等國家,已經(jīng)開始使用電子化設(shè)備進(jìn)行水質(zhì)的檢測(cè),但檢測(cè)的精度依然還存在較大誤差,也是由于技術(shù)和科技的限制,導(dǎo)致過去大部分國家對(duì)水質(zhì)檢測(cè)存在準(zhǔn)確測(cè)量的問題[3-4]。
對(duì)于水質(zhì)檢測(cè)的環(huán)境問題,本文推出游弋式小船水質(zhì)監(jiān)測(cè)的設(shè)計(jì),它是一款基于STM32單片機(jī)編程的便于用戶操作的系統(tǒng),檢測(cè)的水質(zhì)信息有:pH值、溶解度值、渾濁度、溫度值等,這些水質(zhì)參數(shù)在很大程度上決定著水質(zhì)量的好壞。該系統(tǒng)具有直觀、便于操作、針對(duì)性強(qiáng)、水質(zhì)檢測(cè)靈敏高的特點(diǎn)。使用該系統(tǒng)控制器,能減少水質(zhì)檢測(cè)的工作量以及經(jīng)費(fèi)支出,有效的監(jiān)測(cè)水質(zhì)環(huán)境變化。
智能水質(zhì)檢測(cè)系統(tǒng)主要以STM32單片機(jī)為主控核心,通過與無線通信模塊、水質(zhì)傳感器等模塊的有效結(jié)合,組成了一套智能化水質(zhì)檢測(cè)系統(tǒng),系統(tǒng)總體設(shè)計(jì)方案如圖1所示。各類傳感器模塊進(jìn)行A/D采樣,并將采集的數(shù)據(jù)送到單片機(jī)進(jìn)行濾波、轉(zhuǎn)換等處理。之后再通過無線通信模塊將采集的水質(zhì)數(shù)據(jù)發(fā)送到上位機(jī),用戶在上位機(jī)進(jìn)行相關(guān)的指令操作便能實(shí)時(shí)掌握當(dāng)前水域的水質(zhì)情況[3],同時(shí)也能控制小船的運(yùn)行軌跡。
圖1 系統(tǒng)總體設(shè)計(jì)方案
本系統(tǒng)的設(shè)計(jì)是以STM32單片機(jī)為主控系統(tǒng)[5],該系統(tǒng)是由單片機(jī)最小系統(tǒng)和溫度檢測(cè)模塊、溶解度檢測(cè)模塊、渾濁度檢測(cè)模塊、WIFI通訊模塊四個(gè)部分電路構(gòu)成。其中,WIFI通訊模塊主要用于系統(tǒng)數(shù)據(jù)的傳輸與接收。
2.1.1 溫度檢測(cè)電路
溫度檢測(cè)電路設(shè)計(jì)是利用溫度的變化影響電阻量的變化,從而引起電壓的變化。溫度感應(yīng)傳感器需要使用對(duì)溫度敏感的熱電偶或熱電阻,信號(hào)轉(zhuǎn)換器則需要由溫度的電壓測(cè)量單元和電壓信號(hào)處理及電壓的轉(zhuǎn)換單元組成;一般用利用四線制接發(fā),在熱電阻RT1的根部兩端各連接兩根導(dǎo)線的方式稱為四線制,其中兩根引線與R1和R2串聯(lián)為熱電阻提供恒定電流I,把RT1轉(zhuǎn)換成電壓信號(hào)U,將電路反饋的電壓大小傳給單片機(jī)進(jìn)行A/D轉(zhuǎn)換得出溫度值,利用這一原理可以設(shè)計(jì)溫度檢測(cè)的功能[6],溫度檢測(cè)電路如圖2所示。
圖2 溫度檢測(cè)電路
2.1.2 溶解度檢測(cè)電路
水質(zhì)溶解度能反映溶解在水中所有固體物質(zhì)的多少,該值間接反映了水質(zhì)的好壞。該模塊設(shè)計(jì)用電極法去測(cè)水溶液的導(dǎo)電能力,將兩個(gè)電極分別放入溶液中,根據(jù)歐姆定律計(jì)算出兩電極間的電阻值,當(dāng)溫度穩(wěn)定量不變時(shí),其計(jì)算電阻的公式如式(1)所示,其中P為電阻率,L為電極間間距,A為電極的截面積。
(1)
由于A、L是固定不變的,故L/A是一常數(shù),稱為電導(dǎo)池常數(shù)Q,即電導(dǎo)池常數(shù)計(jì)算如式(2)所示。
(2)
電導(dǎo)S與電阻R成倒數(shù)關(guān)系如式(3)所示。
(3)
電導(dǎo)率K與電阻率p成倒數(shù)關(guān)系公式(4)所示。
(4)
用標(biāo)準(zhǔn)溶液校準(zhǔn),獲得電導(dǎo)池常數(shù)Q再測(cè)水樣得到電阻R,即可求出K,如公式(5)所示。
TDS=0.55K
(5)
本模塊設(shè)計(jì)原理利用電極端輸入可變的電壓,它可以在溶液中產(chǎn)生細(xì)小電流,利用公式計(jì)算出電導(dǎo)率。如圖3為溶解度檢測(cè)TDS傳感器接口電路,通過將該傳感器兩端接入TDS2和TDS3,TDS1和TDS3分別連接單片機(jī)的兩個(gè)普通IO,TDS2連接至單片機(jī)AD測(cè)量IO。通過控制TDS1和TDS3進(jìn)行高低電平交替輸出,等效于采用交流驅(qū)動(dòng)TDS傳感器。電流流過R8電阻和TDS探針及溶液形成回路,則可測(cè)量TDS2端的電壓,根據(jù)電阻分壓原理,即可求出TDS兩探針之間的電阻值,即溶液的阻值,從而換算出水質(zhì)中溶解度。
圖3 溶解度檢測(cè)電路
2.1.3 渾濁度檢測(cè)電路
渾濁度檢測(cè)電路的設(shè)計(jì),當(dāng)有光束穿入水中時(shí),遇見水中的雜質(zhì)會(huì)發(fā)生散射,利用測(cè)量與入射光垂直方向的散射光強(qiáng)度與內(nèi)部的基準(zhǔn)值進(jìn)行分析比較,利用比例關(guān)系計(jì)算渾濁度大小,水中的懸浮顆粒越多則水渾濁度越高,透過光線的強(qiáng)度則越弱,接收端轉(zhuǎn)化出來的電流也越小。反之水的雜質(zhì)越少,穿過的光越多。根據(jù)電路設(shè)計(jì)AO口的電壓變化,經(jīng)過換算公式計(jì)算出渾濁度的值。渾濁度檢測(cè)電路如圖4所示,當(dāng)通過水質(zhì)的入射光照射到該電路的光敏電阻上,光敏電阻LDR1的電阻值會(huì)發(fā)生變化,光越強(qiáng)電阻值越小,電流通過LM393集成電路進(jìn)行比較,大于閾值DO端輸出高電平,反之輸出低電平,隨著光敏電阻的阻值變化,AO端口則輸出變化模擬電壓[7]。
圖4 渾濁度檢測(cè)電路
電源電路是5V轉(zhuǎn)12V電路,如圖5所示,當(dāng)開關(guān)閉合時(shí),5V電壓源流過電感,通過電感微分方程計(jì)算得電感會(huì)在2.2us時(shí)充電至2.4A。
當(dāng)開關(guān)斷開時(shí),流過電感的電流通過二極管D5流到電容C13和電阻R10,此時(shí)對(duì)電容C13進(jìn)行充電,電阻R10上的電壓通過計(jì)算大約為12V,當(dāng)開關(guān)按鈕再次按下時(shí),二極管D5截止,電流只經(jīng)過電感,對(duì)電感繼續(xù)進(jìn)行充電。此時(shí)電容C13沒有進(jìn)行充電就會(huì)達(dá)到放電的過程,通過電容微分方程計(jì)算的電流會(huì)流到負(fù)載電阻R10電壓會(huì)達(dá)到12V左右。
圖5 電源電路
本文設(shè)計(jì)的通信模塊主要是與STM32單片機(jī)進(jìn)行通信使用,該通訊模塊需要設(shè)計(jì)一個(gè)可以復(fù)位程序的電路,它需要一個(gè)電阻、一個(gè)電容和一個(gè)開關(guān),當(dāng)RST端為高電平時(shí)(1.5V)進(jìn)行復(fù)位,低電平正常工作(低于1.5V)。如圖6為WIFI通訊電路。
圖6 WIFI通訊電路
模塊上電時(shí)電容會(huì)進(jìn)行充電會(huì)在0.1S內(nèi)電容兩端的電壓在0~3.5V中上升,電容和電阻是串聯(lián)的,根據(jù)分壓原理,模塊在上電的1.5S內(nèi)會(huì)自動(dòng)復(fù)位,當(dāng)開關(guān)沒有按下時(shí)電容進(jìn)行充電,一旦電壓充到接近電源電壓的大小時(shí),此時(shí)電阻的兩端電壓根據(jù)電路設(shè)計(jì)會(huì)接近為零,當(dāng)RST端為低電平時(shí),模塊正常通訊進(jìn)行工作,當(dāng)按鍵按下后電容兩端形成回路進(jìn)行放電,電阻兩端電壓升高到3.5V甚至更高,此時(shí)RST端為高電平。
本系統(tǒng)軟件設(shè)計(jì)采用的是C語言編程設(shè)計(jì),通過模塊化設(shè)計(jì)方式完成系統(tǒng)的功能實(shí)現(xiàn)[8]。先需要配置STM32單片機(jī)系統(tǒng)的時(shí)鐘和涉及相關(guān)功能的外設(shè),配置好后進(jìn)行單片機(jī)系統(tǒng)時(shí)鐘與外設(shè)的初始化。ADC外設(shè)模塊開始對(duì)水質(zhì)環(huán)境進(jìn)行數(shù)據(jù)采集,然后轉(zhuǎn)換成相應(yīng)的電壓大小,完成后DMA外設(shè)將轉(zhuǎn)化后的數(shù)據(jù)搬運(yùn)到單片機(jī)的存儲(chǔ)器中,等待用戶發(fā)送指令。若單片機(jī)收到用戶發(fā)來的指令(單片機(jī)以串口接收中斷的方式接收用戶發(fā)來的數(shù)據(jù)),單片機(jī)進(jìn)行識(shí)別并判斷是操作小船行駛的指令還是水質(zhì)檢測(cè)的指令,識(shí)別與判斷成功后進(jìn)行相應(yīng)的小船行駛功能執(zhí)行;或者是小船通過串口發(fā)送水質(zhì)檢測(cè)的數(shù)據(jù),執(zhí)行完成后程序返回到用戶指令判斷處,循環(huán)進(jìn)行識(shí)別判斷指令。若單片機(jī)沒有收到用戶發(fā)來的指令則不執(zhí)行操作,程序返回到ADC信號(hào)采集與轉(zhuǎn)換,并轉(zhuǎn)化為數(shù)字量[9-10],如圖7為主程序流程圖。
圖7 主程序流程圖
A/D轉(zhuǎn)換器(ADC)就是將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)[11],本系統(tǒng)采用的是逐次逼近型ADC,轉(zhuǎn)換步驟依次為采樣、保持、量化、編碼。水質(zhì)檢測(cè)參數(shù)的pH值、溫度值、溶解度值、渾濁度值都是通過STM32的ADC外設(shè)進(jìn)行A/D轉(zhuǎn)換,將水質(zhì)檢測(cè)模塊反饋的模擬電壓轉(zhuǎn)換為數(shù)字量,經(jīng)過相應(yīng)的計(jì)算得出水質(zhì)參數(shù)值[12],如圖8為A/D程序流程圖。
STM32單片機(jī)的ADC采集的模擬電壓范圍是0~3.3V,如果高于3.3V很有可能損壞該外設(shè),所以將水質(zhì)檢測(cè)的各模塊輸出電壓信號(hào)用信號(hào)電路調(diào)理后,使其輸出電壓范圍為0~3.3V,經(jīng)過A/D轉(zhuǎn)換為數(shù)字量并根據(jù)轉(zhuǎn)換公式算出水質(zhì)參數(shù)值。
圖8 A/D程序流程圖
本系統(tǒng)對(duì)通訊數(shù)據(jù)的測(cè)試是通過系統(tǒng)的軟件程序設(shè)置與收到數(shù)據(jù)數(shù)量的情況是否匹配以及收到的數(shù)據(jù)是否準(zhǔn)確,三大方面來進(jìn)行對(duì)比驗(yàn)證。方案如下:通過軟件編程設(shè)置每過一秒系統(tǒng)將上傳一次數(shù)據(jù)給用戶,一共發(fā)送12次數(shù)據(jù),分為3組數(shù)據(jù),每組有4個(gè)數(shù)據(jù)分別為溫度值、溶解度值、渾濁度值、pH值,通過手機(jī)App上的數(shù)據(jù)顯示,進(jìn)行對(duì)比,判斷收到的數(shù)據(jù)是否存在缺失或過多,其次判斷系統(tǒng)發(fā)來的水質(zhì)數(shù)據(jù)與實(shí)際的水質(zhì)數(shù)據(jù)是否存在較大的偏差。表1為水質(zhì)實(shí)際數(shù)據(jù)表,圖9系統(tǒng)通訊測(cè)試與控制界面圖,其中溫度的單位是攝氏度,渾濁度和溶解度的單位是(mg/L)。經(jīng)過圖9的數(shù)據(jù)顯示,系統(tǒng)軟件程序設(shè)置的水質(zhì)傳輸次數(shù)與收到的水質(zhì)信息次數(shù)都是12次是匹配的,通過表1水質(zhì)實(shí)際數(shù)據(jù)和表2水質(zhì)測(cè)試數(shù)據(jù)的計(jì)算與整理,溫度平均相對(duì)誤差為1%左右,溶解度平均相對(duì)誤差為1%左右,渾濁度平均相對(duì)誤差為1%,pH平均相對(duì)誤差為1%。通過驗(yàn)證收到的水質(zhì)信息與實(shí)際的水質(zhì)信息在符合設(shè)計(jì)誤差范圍當(dāng)中,因此判斷該系統(tǒng)的通訊傳輸功能是穩(wěn)定有效的。
表1 水質(zhì)實(shí)際數(shù)據(jù)
表2 系統(tǒng)水質(zhì)測(cè)試數(shù)據(jù)
對(duì)系統(tǒng)放入湖泊進(jìn)行整體的運(yùn)行測(cè)試,先用手機(jī)app對(duì)系統(tǒng)分別發(fā)送前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的指令,指令會(huì)通過互聯(lián)網(wǎng)上傳到手機(jī)軟件服務(wù)器上,再轉(zhuǎn)發(fā)給WIFI通訊模塊,通過串口USART發(fā)送給主控STM32單片機(jī),等待單片機(jī)對(duì)收到的數(shù)據(jù)進(jìn)行識(shí)別判斷后,進(jìn)行相應(yīng)的指令操作控制,然后觀察系統(tǒng)小船的運(yùn)行狀態(tài)是否按照指令去執(zhí)行,通過實(shí)驗(yàn)現(xiàn)象如圖10所示為小船的運(yùn)行軌跡圖,可以判斷小船的運(yùn)行狀態(tài)完全按照發(fā)送指令去執(zhí)行。其次再對(duì)系統(tǒng)發(fā)送獲取水質(zhì)信息的指令,發(fā)送指令獲取的水質(zhì)信息有溶解度值、渾濁度值、溫度值等,通過對(duì)系統(tǒng)反饋的水質(zhì)信息數(shù)據(jù)與實(shí)際的水質(zhì)信息數(shù)據(jù)進(jìn)行綜合性對(duì)比分析后,判定是否在系統(tǒng)設(shè)計(jì)的誤差范圍當(dāng)中的。對(duì)以上的系統(tǒng)整體運(yùn)行測(cè)試,進(jìn)行總體的分析對(duì)比后,可以判斷該系統(tǒng)的運(yùn)行性能是穩(wěn)定和有效的,符合系統(tǒng)設(shè)計(jì)要求的標(biāo)準(zhǔn)。
圖9 系統(tǒng)通訊測(cè)試與控制界面圖
圖10 系統(tǒng)運(yùn)行軌跡圖
水質(zhì)環(huán)境的優(yōu)劣對(duì)于經(jīng)濟(jì)、生態(tài)、社會(huì)、國家都是至關(guān)重要的,該論文主要分析與研究影響水質(zhì)環(huán)境的因素,針對(duì)從事水產(chǎn)行業(yè)的用戶是極為友好且實(shí)用的,所以本設(shè)計(jì)以如何實(shí)現(xiàn)檢測(cè)多種水質(zhì)參數(shù)為目的進(jìn)行展開,利用對(duì)數(shù)據(jù)誤差分析方法,在保證水質(zhì)數(shù)據(jù)準(zhǔn)確性的前提下,及時(shí)將水質(zhì)數(shù)據(jù)通過WIFI模塊ESP8266用物聯(lián)網(wǎng)的方式進(jìn)行通訊反饋給用戶。
通過不同的水質(zhì)測(cè)試實(shí)驗(yàn),得到系統(tǒng)反饋的水質(zhì)信息數(shù)據(jù),與真實(shí)的水質(zhì)數(shù)據(jù)進(jìn)行對(duì)比,相對(duì)誤差范圍大約在1%~3%左右,可以判斷該水質(zhì)監(jiān)測(cè)系統(tǒng)具備測(cè)試水質(zhì)參數(shù)信息的功能,并能在不同水域穩(wěn)定運(yùn)行,系統(tǒng)反饋的水質(zhì)信息數(shù)據(jù)經(jīng)過判斷是及時(shí)有效的,符合從事水產(chǎn)行業(yè)的用戶使用。