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