◇成都大學電子信息與電氣工程學院 李躍鵬 劉一達 雷 霖
本文闡述一種水質監測的單片機課程設計實踐過程。該實踐過程分階段完成課程設計目標任務,各階段分別對方案論證、軟硬件設計、目標測試等環節進行了介紹。實踐表明,該課程設計的裝置能夠對水質有效監測同時培養學生硬件與軟件設計綜合思考和工程實踐能力。
設計一個水質測量軟硬件綜合的課程教學實驗,提高學生應用動手能力的同時,也培養學生工程應用中軟硬件綜合設計和統籌思考的能力。本課程設計利用單片機系統的課程原理,結合傳感器技術、電子電路技術、C語言、通信原理等課程知識,綜合設計一種能夠對水環境溫度、TDS值、pH值進行檢測的課程實驗裝置。該課程設計課堂24學時(1.5學分)完成整個課程課堂實踐討論,2周的課后實踐完成整體實驗裝置實物制作和檢測。
方案論證是本課程設計訓練的第1階段,要求學生4學時完成功能需求分析以及方案的設計與論證。方案采用ATmega328單片機作為控制器。溫度是影響水溶解性的重要指標,應用S18B20數字傳感器D,能夠穩定準確輸出信號溫度數字信號[1];TDS(Total dissolved solids,總溶解度固體)是衡量水所含雜質重要指標,選擇DFrobot的SKU:SEN0244 TDS傳感器,直接和Arduino主控器連通后,實現對水質的TDS值進行檢測;采用(SKU:SEN0161)pH meter pH計設計信號處理電路,實現對水質的pH值監測[2]。設計WiFi模塊,通過無線網絡將檢測結果實時上傳到云服務器,并在手機APP中進行顯示。圖1為課程設計方案框圖。

圖1 課程設計方案框圖
從圖1可以看出,該系統需包含WiFi通信模塊,用于檢測參數的接收和發送。配合WiFi模塊同時需要開發手機APP供用戶實時查看檢測結果。電源模塊提供外接5V電源,水質檢測模塊主要包括溫度檢測模塊、TDS檢測模塊、pH檢測模塊[3]。電源模塊同時為WiFi模塊和其他檢測模塊提供多電壓電源,APP采用機智云-IoT物聯網平臺進行開發,WiFi模塊可通過串口與MCU進行連接并進行數據交換。
通過對方案設計分析,需要學生在課后完成相關傳感器、信號處理、無線通信技術等知識的查閱學習,該過程可以訓練學生資料收集、知識歸納整理的能力。
課程設計的第2階段為硬件電路設計實踐階段,要求學生8學時完成設計與制作。
電路設計中需多種電路電壓源,其中以ATmega328為核心的控制器電源電壓為+5V,TDS信號檢測電路供電電壓±3.0V,PH值信號檢測供電電壓為±5V,WIFI通信模塊電路的供電電壓為3.3V。本系統采用USB供電和常規的直流電源電池供電,USB供電與常規直流電源供電采用二極管限流隔離,采用DC/DC變換為控制系統電路提供所需要的電壓值;外接電壓BAT范圍為6V至20V,為了保證更加精準的5V電壓,防止電壓過高穿透芯片,本設計選用的是 NCP117ST50T3G 系列電源穩壓芯片,該類型芯片可以將電壓輸出在1.5~12V之間。選用LP2985-33DBVR進行3.3V直流電壓輸出,選用ME6206A30M3G穩壓芯片實現+3V的直流電壓輸出設計,同時采用TPS60400DBVR芯片作為電壓變換器,將+5V/+3V變換輸出-5V/-3V的信號處理電路電壓[4]。詳細設計的電路如圖2所示。

圖2 電源電路
在水質監測過程中,TDS值和PH值是最重要的衡量指標。TDS檢測儀器主要是TDS筆,其原理是TDS筆的兩個電極引腳放入到水中,在兩端加上固定的電壓,然后測電極之間的電流I,電導率檢測是與水體的溫度緊密相連,故在程序設計中設置溫度傳感器DS18B20對溫度進行采集[5]。根據式1可以計算出水質的電導率數值。

其中:Gt為 固定水體溫度下的電導率,Gt0為正常溫度(一般認定為25℃)下的電導率,β為溫度系數。設計電路如圖3所示。

圖3 TDS信號采集電路
由于TDS信號檢測電路中,為了能夠讓TDS電極信號能夠被有效采集,需要設計激勵源電路產生激勵信號,同時也需要信號處理電路對采集信號放大和濾波。本設計采用以CD4060B數字計數器為核心的電路產生激勵源信號,同時應用LM324設計兩級放大電路,對TDS信號進行放大,應用RC電路對信號進行濾波,并通過AD接口ADC1_TDS接口保證控制器能夠對信號進行準確采集[6]。設計的實際電路如圖3所示。
在本次設計中,采用了(SKU:SEN0161)pH meter pH計,Arduino主控器搭配這款模擬pH計可以很便捷的進行使用。應用P3接口連接pH探頭,再通過TL081BCDG4和CA3140AMZ兩級運放,將信號放大后將所測得的信號通過AD接口ADC2_PH輸入到微控制器中,電路中R14電位器用于對實際PH值測試時與標準溶劑校準使用,完成信號的分析處理。設計電路如圖4所示。

圖4 pH值采集電路
控制處理器采用ATMega328,其核心處理器采用AVR處理器,ADC接口PC2接入PH值,PC1接入TDS值,IO接口PD4接入溫度值。設計電路如圖5所示。

圖5 控制通信單元電路設計
在本系統中采用WIFi通信,將采集的數據接入到數據云端,同時應用手機APP對云端數據進行顯示和通信的接入設置,使用ESP8266 WIFI模塊搭配機智云-IoT物聯網云服務平臺及智能硬件自助開發平臺進行應用的搭建[7],將機智云GAgent for ESP8266固件燒錄到的ESP8266 WiFi模塊,實現手機APP、云服務器和MCU三者之間的傳輸設計。該階段是課程設計的關鍵階段,需要學生有獨立的電路設計、實踐動手能力。該階段的順利完成才能為第3階段的軟件硬件綜合實現打下基礎。
課程的第3階段主要為軟件實現階段,需要學生根據課程設計方案和實物硬件,完成軟件程序的設計,課堂實踐環節10學時。
本課程設計中,首先對WiFi電路模塊刷入固件,利用ATmega328對pH、TDS、溫度的數據進行采集,同時對pH/TDS水質數據進行整合處理,其中應用溫度對TDS進行補償,微控制器利用WiFi通信將分析完成的數據發送到機智云平臺,同時利用手機APP對機智云平臺所共享的數據進行查詢,并查看與國家標準的對比情況,采集軟件設計的總體流程如圖6所示。

圖6 終端軟件設計流程
在數據處理中,針對選型的TDS傳感器特性,采集的電壓值信號與TDS值得對應關系如式(2):

其中TDS為最終溶解度固體值,單位為ppm(百萬分比濃度),V值為TDS傳感器采集的電壓值。
本系統中選擇的pH計采集的電壓值與實際的pH值的對應關系如式(3):

其中pH為顯示pH值,范圍為(0-14.0),V為pH計采集的電壓值,Δ為與標準校驗值,用于對pH計測量的偏差校正。
本次系統前期調試測試中,選擇pH值分別為6.86、4.0以及9.18的標準緩沖液對pH計進行校準[8]。在酸度校準中,將pH電極插入pH值為4.00的校準液中,等待一分鐘后,調整增益電位器(硬件電路R14),使pH值盡量穩定在4.00左右。堿性段校準采用pH值為9.18的標準液,同樣是調節增益電位器,使之穩定在9.18左右。該階段要求學生有單片機C語言編程設計能力,能夠應用軟件語言完成數學模型的建立與運算。
完成裝置軟硬件設計后,對系統的性能進行測試,這是整個課程設計的第4階段。對系統的基本功能測試,包括溫度檢測、TDS檢測、pH檢測、數據通信和手機APP接收等,確認功能已經達到。首先,將溫度檢測、TDS檢測、pH檢測三個探頭放入準備好的水質待測樣品中,從左到右依次為溫度探頭、pH探頭和TDS探頭,如圖7所示。

圖7 終端裝置測試
打開手機APP,關聯本地無線局域網,連接成功后可在設備列表里看到水質檢測設備已連接。點擊已綁定的設備,即可看到水質檢測的結果。本次檢測為了對比,采用了兩個樣本,即第十教學樓的自來水和燒開后放置到常溫的飲用水。明顯可以看到自來水的TDS值高于飲用水。
在測試過程中,本次設計對學校的幾處水質進行了抽樣檢測,檢測結果如表1,參考國家標準,理想的飲用水TDS值應在0~200之間,TDS值在200~400之間為可以接受的自來水,而TDS值超過500的水屬于較差水質[9]。根據檢測結果,如表1所示,本系統對某高校部分水質抽樣調查的結果可以得出結論,該校大部分自來水水質符合國家要求,十教5樓自來水檢測時由于水龍頭生銹或者其他原因造成TDS值偏高。檢測結果中,某寶純凈水的TDS值為0,符合國家對純凈水的要求標準。

表1 學校部分水質檢測結果
單片機課程設計是物聯網及電子信息領域重要內容。從本實驗系統的設計和測試過程中,系統利用機智云平臺,實現了采集終端、機智云端、手機APP三者互聯,實現了對水質情況的實時采集和遠程查詢。水質監測的單片機課程設計與實踐,即使學生加強了工程系統的實踐動手能力也使得學生學會了硬件電路和軟件平臺設計相結合的理念和統籌思考的能力,同時提高學生分析和解決問題的能力。