摘? 要: 介紹了基于單片機的水質(zhì)監(jiān)控系統(tǒng)的實現(xiàn)方法。該方法克服了傳統(tǒng)儀器的不足,可實現(xiàn)水質(zhì)監(jiān)控的智能化,滿足了水產(chǎn)科研及環(huán)境監(jiān)測發(fā)展的需要。
關鍵詞: 水質(zhì)監(jiān)測?? 單片機?? 自動控制
?
水產(chǎn)科研的不斷深入以及環(huán)境保護的不斷加強對水質(zhì)各參數(shù)的連續(xù)實時監(jiān)測提出了更高的要求,如:在水產(chǎn)養(yǎng)殖研究中,要求對池塘、水庫、工廠化養(yǎng)魚池等多種水體的水質(zhì)連續(xù)監(jiān)控;在環(huán)境保護方面,建立各種水質(zhì)無人監(jiān)測站以監(jiān)測和記錄江、河、湖泊、地下水以及海岸沿線各點的水質(zhì)變化,把數(shù)據(jù)通過各種通訊方式實時傳輸?shù)奖O(jiān)控中心進行處理等。傳統(tǒng)的水質(zhì)監(jiān)測方式由于測試周期長、不能實時監(jiān)測等原因,已不能適應水產(chǎn)科研以及環(huán)境保護等方面的需求。
本系統(tǒng)以單片機為主控制器,結(jié)合最新的外圍器件,可實現(xiàn)同時監(jiān)測溶解氧、溫度、pH值、電導率、氨氮等11路參數(shù)的變化,同時顯示在液晶顯示器上,并按設定的時間間隔記錄在EEPROM中;也可通過RS-232串口與遠程計算機通信,完成數(shù)據(jù)傳輸、遠程控制、遠程校正等功能;還可以通過控制接口控制報警器、增氧機、循環(huán)泵等設備,完成自動控制功能。
1 系統(tǒng)原理
系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。主控制芯片選用ATMEL公司的89C52。系統(tǒng)主要組成部分包括:傳感器、信號調(diào)理部分、單片機、非易失EEPROM、模/數(shù)轉(zhuǎn)換器、實時時鐘、液晶顯示器、電源監(jiān)控、鍵盤、8位雙向I/O口、8位開關控制輸出以及同計算機連接的通信接口等?!?/P>
?
?
傳感器信號將各參數(shù)的變化轉(zhuǎn)變?yōu)橄鄳奈⑷醯碾娏骰螂妷盒盘?,?jīng)精密放大器調(diào)理為標準的0~5V電壓后,送到模/數(shù)轉(zhuǎn)換器轉(zhuǎn)換成相應的數(shù)字電壓值,再送入單片機中進行處理。單片機依據(jù)不同的傳感器進行數(shù)值濾波、補償?shù)冗\算后送入液晶顯示屏實時顯示,同時按照設定值,定時存入在非易失EEPROM中。這些數(shù)據(jù)可以通過本機按鍵在液晶顯示屏上直接讀取或清除,還可以通過RS-232接口由計算機直接讀取數(shù)據(jù)。
系統(tǒng)由4個按鍵完成自動校準、校零、采集數(shù)據(jù)及存儲數(shù)據(jù)時間間隔設定、數(shù)據(jù)讀取及清除等功能。電源可用交流電或電池供電,由專門的電源監(jiān)控電路監(jiān)測供電狀況并自動切換。當電池電壓低于所定標準電壓時,在液晶顯示上顯示出來,表明需要更換電池。
2 關鍵器件及關鍵技術(shù)
2.1? 傳感器
2.1.1? 溫度傳感器
根據(jù)水質(zhì)監(jiān)測的需要,我們選用了美國Dallas公司的一線數(shù)字溫度計DS1820,大小如一個三極管,為單總線數(shù)字傳輸。讀寫溫度變換的功率來自于數(shù)據(jù)線而不需要額外電源,每一個DS1820含有一個唯一的硅串行數(shù),同一總線上可有多個DS1820。這些特點可滿足多種需要,如不增加信號線,在探頭上按需要可串接多個DS1820,以便同時對上、中、下各層水的溫度以及氣溫等進行監(jiān)測。在使用中發(fā)現(xiàn),DS1820的測量值與實際值有一定的誤差,每個誤差都不一樣。為了能夠互換而不修改程序或進行校準,把誤差值經(jīng)特殊變換存在DS1820中原來作為存儲高低溫度觸發(fā)的TH、TL兩個字節(jié)中,這兩個字節(jié)為EEPROM,即使掉電也不會丟失,在單片機讀取測量溫度的同時一并讀入,去除誤差,得到實際值。這樣就可以更換探頭或DS1820而不需要重新校準。
2.1.2? 溶解氧傳感器
溶解氧傳感器為自制的極譜型薄膜電極。儀器對電極加上0.7V的直流電壓稱為極化電壓,水或空氣中的氧透過薄膜在電極上產(chǎn)生如下反應:
氧在陰極上還原,電極輸出電流,在一定溫度下其大小與被測樣品氧濃度呈線性關系。以輸出電流為y軸,氧濃度為x軸作圖可得一直線,該直線通過零點。不同的溫度其直線的斜率不同,這就是溶氧電極的溫度系數(shù)。產(chǎn)生溫度系數(shù)的原因有兩個:一是電極薄膜氧的透過速率隨溫度而變化,溫度每升高一度大約變化3%,氧電極的電流也相應增加,即溶解氧濃度不變而溫度變化,引起電極靈敏度變化,造成讀數(shù)誤差;二是水中的溶解氧的飽和溶解度隨溫度的不同而不同,由于此種電極是對氧分壓敏感元件,因此不同的溫度下相同的氧分壓輸出相同的電流,但其溶解氧實際濃度值是不同的。為了準確讀出溶解氧值,在傳統(tǒng)的儀器中把熱敏電阻做在電路中進行溫度補償,但需要對電路反復調(diào)試,其補償范圍及精度受到限制。在本系統(tǒng)中對溫度和溶氧分別采集,用軟件進行補償,不需要對電路進行溫度補償調(diào)試。在軟件設計中采取三種方法對溫度系數(shù)進行補償:第一,根據(jù)國標中有關各溫度下被空氣飽和的水中溶解氧的實際值,做出溫度與飽和溶解氧的曲線,得到擬合方程存到單片機中,消除影響溫度系數(shù)的第二個原因;第二,測出探頭在各溫度下被空氣飽和的水中的模/數(shù)轉(zhuǎn)換值,做出溫度與轉(zhuǎn)換值的曲線,得到擬合方程存到單片機中,消除影響溫度系數(shù)的第一個原因;第三,實際使用時把在空氣中進行飽和校正時的參數(shù)實時加入到擬合方程中,消除了探頭在使用中的誤差。在軟件中還加入了對鹽度、氣壓的補償。正是利用單片機的運算功能,使得溫度變化可以得到補償,這些功能在傳統(tǒng)的儀器中是很難做到的。
pH值、電導等選用成品探頭,根據(jù)不同探頭的特點,設計不同的信號調(diào)理電路,變換為0~5V的標準輸入電壓,接入系統(tǒng)的A/D轉(zhuǎn)換器中。
2.2 主要芯片
2.2.1 主控芯片
主控芯片選用ATMEL公司的AT89C52,內(nèi)部有8K字節(jié)的Flash程序存儲器,免去了擴展外部存儲器的麻煩,在系統(tǒng)開發(fā)過程中可以十分容易地進行程序的修改,縮短了系統(tǒng)開發(fā)的周期,而且還可以隨用戶的需要和發(fā)展對程序進行修改或升級,使系統(tǒng)不斷地滿足用戶的最新要求。
2.2.2 實時時鐘芯片
實時時鐘芯片選用的是美國Dallas公司的DS12C887,內(nèi)部包含晶體振蕩器、振蕩電路、充電電路和可充鋰電池等。其內(nèi)有非易失時鐘、百年歷、警報器、可編程中斷、方波發(fā)生器以及114字節(jié)非易失靜態(tài)RAM供用戶使用。
2.2.3? A/D轉(zhuǎn)換
A/D轉(zhuǎn)換選用美國TI公司的TLC2543。片內(nèi)含有一個14通道多路器,可從11個外部模擬輸入或三個內(nèi)部自測電壓中選擇一路進行轉(zhuǎn)換輸出,片內(nèi)設有采樣保持電路,主處理器只需發(fā)出讀某一通道命令即可。
2.2.4 顯示器
顯示器選用香港精電公司的液晶顯示模塊MDLS-16165,它可同時顯示16個ASCII碼或自定義的特殊字符和圖形符號。它把LCD控制器、點陣驅(qū)動器、字符存儲器全部做在一塊線路板上,構(gòu)成了便于應用的液晶顯示模塊,在應用上已經(jīng)規(guī)范化。
2.2.5 數(shù)據(jù)記錄芯片
數(shù)據(jù)記錄芯片選用美國Xicor公司推出的新型結(jié)構(gòu)的節(jié)省接口的串行EEPROM器件X84641。它不需要微處理器的連接邏輯或系統(tǒng)總線接口,直接利用一般的微處理器的控制信號(OE、WE、CE)以及簡單的讀寫時序與大多數(shù)微處理器接口。本系統(tǒng)設定每批測量數(shù)據(jù)為32字節(jié),包括測量的日期、時間以及所測的各項參數(shù)。其中日期、時間占4字節(jié),每個參數(shù)為浮點數(shù),占4字節(jié),可以存放7個測量值,基本滿足需要,在8K EEPROM中可存儲240組數(shù)據(jù)。在剩余256字節(jié)中存儲設置信息、狀態(tài)和軟件運行時的中間狀態(tài)值等,還可存儲24次控制設備開關的時間,包括設備名及其開、關的日期和時間等。
2.2.6 串行通信
為了對所采集數(shù)據(jù)實時傳送或連接遠距離計算機,利用89C52的串行通信接口的標準異步通信方式,通過接口芯片MAX232轉(zhuǎn)換為標準RS-232接口。
3 軟件設計
軟件所要實現(xiàn)的功能是將通過精密放大器的各路傳感器信號進行A/D轉(zhuǎn)換,把轉(zhuǎn)換后的數(shù)字量進行補償轉(zhuǎn)換處理,最后送液晶顯示器顯示、存儲或送通信口遠距離傳輸。其主控程序流程圖及鍵盤分析模塊流程圖分別如圖2和圖3所示。
?
?
本監(jiān)控儀的軟件采用C語言與匯編語言混合編程。對時序要求較嚴的部分如DS1820、TLC2543、X84641等用匯編語言編寫成相應的獨立模塊供主程序調(diào)用,主控程序、顯示控制、鍵盤程序、各路數(shù)據(jù)的補償運算等用C語言編寫。由于C51支持浮點運算,在對各路數(shù)據(jù)進行補償處理時,其精度得到保證。
在程序的編寫過程中,考慮到可移植性和以后的功能升級以及調(diào)試的方便,采用模塊化設計。
4 系統(tǒng)測試及結(jié)果
我們在研制過程中首先對溶解氧探頭進行測試,研制出溫度、溶解氧及pH模塊,并進行應用試驗。測定溶解氧時需要水有一定的流速,而在池塘中一般為靜止水,所以在探頭上附加一只小型魚缸用水循環(huán)泵,并用軟件控制其開關,同時把增氧機開關信號送入本監(jiān)控儀,能夠同時監(jiān)測記錄增氧機開停時間以便于研究增氧機對溶氧及其它各參數(shù)的影響,設定采集數(shù)據(jù)間隔為15分鐘,可連續(xù)監(jiān)測記錄60個小時,其使用效果良好。
?
參考文獻
1 余瑞寶,陸正龍.水質(zhì)污染的分析方法和儀器.上海:科學技術(shù)出版社,1985
2 孫涵芳,徐愛卿.MCS-51.96系列單片機原理與應用.北京:北京航空航天大學出版社,1988