王譽樹,蔡 強*,郭冬蓮,諸 寅,章曉眉
(1.杭州電子科技大學電子信息學院,杭州 310018;2.浙江清華長三角研究院,浙江 嘉興 314006)
?
基于CAN總線的水產養殖水質在線監控系統設計與實現*
王譽樹1,2,蔡強1,2*,郭冬蓮2,諸寅2,章曉眉2
(1.杭州電子科技大學電子信息學院,杭州 310018;2.浙江清華長三角研究院,浙江 嘉興 314006)
摘要:設計完成了一套水產養殖水質多參數在線監控系統,該系統采用CAN現場總線技術實現現場數據的傳輸,采用GSM無線通信技術進行遠程數據采集和監控。本系統對溫度、溶解氧、pH值、導電度等水質參數進行實時監測,并針對其中的溶解氧實現了自動控制。現場應用結果表明系統具有良好的實用性和穩定性,能較好的滿足水產養殖水質監控的需求。
關鍵詞:水產養殖水質;CAN總線;自動控制;在線監測
隨著人民生活水平的不斷提高,對水產品的需求也大幅度提高,傳統的粗放養殖方式已不能滿足人們蛋白質攝入的需要[1],生態、高效的規模化養殖成為現代水產養殖的發展趨勢。在規模化水產養殖中,水質的好壞直接影響到水產動物的生長發育,進而決定養殖產量和效益。因此實時監控養殖水體中的溶解氧含量、pH值、溫度、導電度等參數因子十分重要。此外,規模化水產養殖往往包含多個不同的養殖水域,需要采取分散監測,集中管理的方式,同時對多個水域的水質參數進行監控[2]。CAN總線以其分布性、網絡化、智能化等特點被廣泛應用于各種控制系統中[3]。本文基于CAN總線設計了一種水產養殖水質多參數在線監控系統,并利用GSM網絡對現場采集的數據進行遠程傳輸,實現了對養殖水質多參數的實時自動監測,為養殖技術人員做出相應決策提供重要參考依據。
本系統由浮筒式水質多參數檢測儀、增氧機控制器、監控終端、短信數據傳輸模塊組成。系統總體結構框圖如圖1所示。

圖1 水產養殖監控系統結構圖
監控終端與各水質多參數檢測儀、增氧機控制器形成CAN網絡,配合自定義協議實現了數據或命令的有效傳輸。水質多參數檢測儀完成對主要水質參數的數據采集;增氧機控制器會響應監控終端發送的控制命令從而實現對應增氧機的自動控制。監控終端包括現場計算機、遠程計算機及移動終端。遠程計算機和移動終端通過GSM網絡與現場計算機進行通信。計算機上的監控軟件實現了對數據的接收、存儲、顯示等信息管理工作和相關的控制、預警。
2.1浮筒式水質多參數檢測儀
浮筒式水質多參數檢測儀(圖2)完成對多個水質參數的檢測,所用傳感器包括溶解氧電極(漢星,型號DO912B)、復合pH電極(漢星,PC202)、電導率傳感器、溫度傳感器(Pt100)。

圖2 浮筒式水質多參數檢測儀實物
水質多參數檢測儀的信號采集處理電路主控芯片采用基于ARM Cortex-M3內核的STM32F107處理器,該處理器是專門設計滿足于高性能、低功耗、實時應用、具有性價比高的新一代嵌入式芯片,其標準外設包括10個定時器、5個USART接口、兩路CAN2.0B控制器等模塊[4]。檢測儀硬件結構框圖如圖3所示。

圖3 水質多參數檢測儀硬件框圖
2.2信號調理電路
水質多參數檢測儀中各傳感器的輸出信號需要經過相應調理電路的處理,使得處理后的信號便于AD采樣[5],下面以溶解氧電極和Pt100的信號處理為例加以描述。
溶解氧電極正常工作時,需要在電極間加0.7 V左右的極化電壓,傳感器的輸出電流與待測水體中的氧分壓成正比,故測得電流值便可以計算出溶解氧的含量[6]。溶解氧傳感器信號調理電路如圖4所示。圖中IC1、R1、R2構成的電路用于產生極化電壓,IC2、IC3完成傳感器輸出電流信號的放大。

圖4 溶解氧傳感器信號調理電路
Pt100傳感器是利用金屬鉑的電阻值隨溫度變化而變化的物理特性制成的溫度傳感器[7],其溫度變化率為0.385 1 Ω/℃。本系統測溫范圍為0 ℃~50 ℃,測量分辨率為±0.1 ℃。系統采用三線制接法,恒流源驅動的方式進行測量,將溫度引起的阻值變化轉變為電壓變化量輸出。三線制恒流源測量方式有效地消除了導線電阻的影響且輸出電壓與電阻變化成線性關系[8-9]。恒流源產生電路如圖5所示。

圖5 恒流源產生電路
圖中參考電壓Vref由2.5 V基準電壓芯片ADR441產生,其具有精度高、噪聲低等特點。當R1=R2,R3=R4時,輸出電流Iout=Vref/Rref。因此本系統恒流源Iout=2.5 V/5 kΩ=0.5 mA。輸入Pt100的電流必須高低適中,過小會降低傳感器的靈敏度,過大會使傳感器產生較大的熱效應,造成誤差,此外電阻Rref應當選擇穩定性好的精密繞線電阻,以保證電流源的精度。Pt100上產生的電壓需進一步放大,以便AD采樣,本系統設計的放大倍數為10。±0.1 ℃的精度要求電路可以檢測到0.1 ℃引起的電壓變化,由已知條件可計算出次電壓變化量為0.5 mA×0.358 1 Ω/℃×0.1 ℃×10=0.179 mV。
2.3AD轉換與模擬開關電路

由于有多路模擬信號的存在,因此通過多路模擬開關進行信號選通,以便單個AD轉換芯片可以對多路信號進行處理[10]。系統選用ADG708,ADG708是一款低壓CMOS模擬多路復用器,內置8個單通道。它根據3位二進制地址線A0、A1和A2所確定的地址,將8路輸入(S1~S8)之一切換至公共輸出D引腳。該器件提供EN輸入,用來使能或禁用器件。禁用時,所有通道均關斷。ADG708具有低功耗,工作電壓范圍在1.8 V~5.5 V,所有通道均采用先開后合式開關,防止通道開關時發生瞬時短路。多路模擬開關的公共輸出經AD8628緩沖送入AD。具體電路如圖6所示。

圖6 模擬多路開關電路
2.4增氧機控制器
增氧機控制器可以手動或自動控制增氧機的開關。控制器內部主要有:220 V斷路器、380 V斷路器、多個接觸器、多個繼電器、12 V開關電源、控制電路板。
增氧機的手動控制通過開關增氧機控制器面板上的按鈕開關實現。控制電路板設計帶有CAN總線通信接口和繼電器控制電路。電路板主控芯片也采用STM32F107,控制電路板響應上位機發送的控制命令,通過控制12 V電磁繼電器來控制接觸器的通斷以此達到開關增氧機的目的,繼電器與單片機之間通過光耦TLP521隔離,以保護前端電路。
2.5GSM網絡通信模塊
現場計算機獲得的數據通過GSM網絡以短信的方式發送給遠程計算機或手機終端,移動終端的GSM無線網絡覆蓋范圍廣,用戶無需另外組網,在信息傳遞方面性能穩定、可靠,且移動終端便于攜帶操作[11]。利用GSM短信息系統進行無線通信還具有雙向數據傳輸功能,可實現數據的采集和相應控制命令的發送。本系統采用北京東方訊公司的串口短信數傳模塊EIC-CS12,該模塊具有一個RS232串口,內置GSM模塊,可通過AT指令靈活設置通信參數,從而實現RS232與GSM之間通信的雙向轉換。
2.6CAN總線接口
規模化水產養殖的養殖水域分布范圍廣,本系統應用的對蝦養殖基地水域分布如圖7所示。由圖可見養殖水域分為多個區域,每個養殖區域中分布有多個養殖魚池。監控中心距離養殖池最遠可達600 m,魚池總數達30個,CAN總線的通信方式可以有效地應用于此種監測節點多,通信距離較遠的場合,理論上一個監測中心通過CAN總線可以掛接110多個CAN節點。

圖7 養殖水域分布圖
對于每個CAN節點,其硬件電路均采用STM32F107和CTM8251AT模塊來實現。帶隔離的收發器模塊CTM8251AT內部集成了所有必需的CAN隔離及CAN收、發器件,模塊的主要功能是將CAN控制器的邏輯電平轉換為CAN總線的差分電平[12]。上位機則通過CAN適配器接入CAN網絡。
在CAN2.0B的技術規范中,只規定了數據鏈路層和物理層,沒有規定應用層。所以必須根據實際應用的需要設計合適的CAN總線通信協議,才能完成可靠準確的數據傳輸[13]。本系統協議采用CAN2.0B支持的29 bit標識符擴展幀。通信速率采用250 kbit/s進行通信。
3.1傳輸信息類型
根據CAN總線網絡中各個節點設備的功能,確定通信時所需要的信息類型如下:
(1)命令信息:控制中心向增氧機控制器發送的信息。
(2)狀態信息:增氧機控制器接收命令后,返回的執行結果。
(3)查詢信息:控制中心向水質監測儀發送的查詢請求。
(4)數據信息:水質監測儀向控制中心返回的數據。
(5)廣播信息:向總線上所有節點發送的信息。
3.2標識符分配與數據域結構
確定CAN標識符的分配非常重要,它關系到通訊網絡結構的合理性和傳輸效率的高低,本系統采用的29 bit標識符的擴展幀格式具體分配如表1所示。

表1 標識符格式
信息類型域確定了上述5種信息的發送優先級。配置為:命令信息—0x01、狀態信息—0x02、查詢信息—0x03、數據信息—0x04、廣播信息—0x05。
目標地址域和源地址域各占1 byte,其包含兩部分信息,高3位為養殖區域編號,低5位為魚池編號。監控主機的地址設定為0x00,當信息類型為廣播類型時,其取值為255(即11111111)。
目標設備類型域和源設備類型各占2位,其表示總線上接有的設備類型,針對本設計配置為:監控主機—00、多參數監測儀—01、增氧機—10,當信息類型域為廣播類型時,目標設備類型域的值為11。
地址域和設備類型域共同確定了CAN網絡中的一個設備。
多幀標志占1位,當此位為1時,表示所需數據大于8 byte,數據將以多個CAN幀的形式發出。此時的數據域格式如下表2所示。其中索引號為此幀數據部分在整個數據流中的索引位置,數據長度為數據流的字節總數。該位為0時,數據按單個CAN幀傳輸。
為了簡化協議,規定數據信息之外的信息類型數據部分為1 byte,不同信息類型的數據域詳細描述如下:
(1)命令信息時,1 byte,0x00—關閉增氧機,0xff—開啟增氧機
(2)狀態信息時,1 byte,0x00—開啟狀態,0xff—關閉狀態
(3)查詢信息時,1 byte,低4位bit0~bit3分別對應溫度、溶解氧、pH、電導率,高4位始終為0。
(4)數據信息時,多個字節,對應于各水質參數數值。本系統在軟件上按浮點數的方式保存水質參數,一個浮點數對應于4 byte,因此,每個水質參數占4 byte。
(5)廣播信息時,1 byte,暫未定義。

表2 多幀標志為1時的數據域格式
3.3通信舉例
若監控主機(地址0x00,設備類型00)需要獲取1號區域,3號魚池中的溫度、溶解氧和pH的數值,則完整的CAN數據幀如表3所示。

表3 監控主機發送查詢信息數據幀示例
對于幀ID值有:信息類型為查詢信息0x03,目標地址為1號區域,3號魚池0x23(00100011),源地址為主機地址0x00,目標設備為水質監測儀01,源設備為主機00,多幀標志為0;因此幀ID值0x00646008。需要查詢溫度、溶解氧和pH的值,數據域為0x07(00000111)。
由于請求查詢3個水質參數值即12 byte的數據,大于單個CAN幀8 byte的數據長度,所以在返回數據時需要分多個CAN幀來發送,此時,幀ID中的多幀標志位需置位,隨后上傳的數據域中,前2 byte帶有當前幀的索引與本次數據流的總長度信息,監控主機在收到數據后,需根據索引重新組裝為完整的數據流。
同上,若需要開啟1號區域,3號魚池的增氧機,僅需將目標設備類型域的值設置為10,數據域設置為0xff,其他不變即可。
系統軟件由上位機主程序和下位機監控程序構成,下位機軟件用C語言實現[14],對于浮筒式水質多參數檢測儀的軟件由監控程序、數據采集子程序、CAN通信子程序等構成。監控程序主要進行系統的初始化,調用子程序,實時采集養殖池塘的現場水質參數,處理和保存采集的數據,供上位機查詢。程序流程圖如圖8所示。

圖8 水質多參數檢測儀程序流程圖
CAN通信子程序分為接收和發送2個部分,數據的接收采用中斷的方式,CAN控制器檢測到總線上有數據時會自動接收總線上的數據,存入其接收緩沖區,并向CPU發送接收中斷,CPU執行接收中斷服務程序,從CAN控制器的接收緩存讀取數據,并對接收到得數據進行判斷處理,若解析為上位機請求命令,則設置相應的發送標志,數據接收流程圖如圖9所示。

圖9 CAN接收中斷程序流程圖
上位機主程序用C#語言開發,開發工具選擇Visual Studio[15]。設計成人機交互界面。軟件使用SQL Server 2000作為其數據庫[16],上位機軟件主要實現了實時數據的顯示,數據的存儲,歷史數據的查詢,以及GSM短信通信和對增氧機控制器的控制等功能。數據實時顯示界面如圖10所示,實現了對水體溫度、電導率、pH以及溶解氧參數的實時顯示。

圖10 1號養殖池實時數據顯示界面
試驗魚池選在嘉興市南湖區鳳橋鎮漁業養殖場,魚池為10 m×15 m的水池,深度為1.2 m,魚池中養殖對蝦。
以1區域1號與2號養殖池中的水質參數為代表,進行數據檢測和傳輸可靠性試驗。為了比較自動控制下增氧機對水體中溶解氧含量的影響,在2號養殖池中安裝了增氧機,此次試驗數據取自9月19日13:00至9月21日11:30期間,圖11(a)為1號養殖池pH變化曲線圖,圖11(b)為1號養殖池溫度變化曲線圖,圖11(c)為未安裝增氧機的1號養殖池中溶解氧變化曲線圖,圖11(d)為相同時間段內2號養殖池溶解氧變化曲線圖。
現場實驗表明系統具有較好的傳輸可靠性,可以有效地對現場魚池中的水質進行在線檢測。從圖9(c)可以看出養殖池中的溶解氧含量白天高于夜晚,傍晚時分溶解氧達到最大值,清晨溶解氧降至最低,在有些時間段溶解氧的濃度低于2 mg/L,在此時段應該開啟增氧機對養殖池進行增氧,2號養殖池在溶解氧濃度較低時段,開啟了增氧機調節溶解氧含量,由圖9(d)可以看出其對應時段的曲線較為平緩,基本保持了溶解氧的濃度不低于2 mg/L,維持了對蝦正常生長所需溶解氧含量。

圖11
該系統采用CAN總線作為水產養殖水質監控的通信方式并針對養殖水域分布特點制定了相應的CAN應用層協議,本系統具有高可靠性和實時性,系統靈活,擴展性強。能針對溫度、pH值、溶解氧等水產養殖環境參數進行自動監測,可通過控制增氧機的開關來調節水中的含氧量,在溶解氧濃度較低的時刻開啟增氧機增氧,節約了不必要的用電開支。獲得的水質參數通過GSM短信的方式亦可隨時發送到移動終端,整套系統在現場測試中能夠保持長時間正常運行,效果良好。
參考文獻:
[1]沈偉,楊翠容,李世忠.人工水產養殖單片機實時檢測與控制系統研究[J].計算機測量與控制,2009,17(1):11-13.
[2]史兵,趙德安.工廠化水產養殖智能監控系統設計[J].農業機械學報,2011,42(9):191-196.
[3]劉澤祥.現場總線技術[M].2版.機械工業出版社,2011.
[4]王永宏,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理與實踐[M].北京:北京航空航天大學出版社,2008:22-25.
[5]韓志峰,宋執環.基于嵌入式網絡的數據采集與分布式計算系統[J].傳感技術學報,2006,19(3):885-889.
[6]李彩霞,丁啟勝.溶解氧分析儀的研制[J].農機化研究,2000(3):78-81.
[7]朱育紅.工業鉑電阻精確測溫方法[J].中國測試技術,2007,33(4):50-52.
[8]張瑜,張升偉.基于鉑電阻傳感器的高精度溫度檢測系統設計[J].傳感技術學報,2010,23(3):311-314.
[9]張修太,胡雪慧.基于PT100的高精度溫度采集系統設計與實驗研究[J].傳感技術學報,2010,23(6):812-815.
[10]柴曉東,袁曉.基于DSP的多路數據采集系統的設計[J].通信技術,2009,42(7):172-174.
[11]岳洋,蘭國輝.基于GSM和CAN總線的數據采集監控系統[J].電子測量技術,2012,35(10):107-110.
[12]CTM8251A/CTM8251AT通用CAN隔離收發器產品數據手冊V1.02[Z].廣州致遠電子有限公司,2012.
[13]基于CAN總線通信協議的設計與實現[J].微計算機信息,2007,23(4-2):22-24.
[14]李寧.基于MDK的STM32處理器開發應用[M].北京:北京航空航天大學出版社,2008:62-64.
[15]趙增敏.Visual C# 2008程序員開發入門與提高[M].北京:電子工業出版社,2009:2-5.
[16]劉秋香,張永勝.Visual C#下利用ADO.NET訪問SQL Server技術[J].計算機系統應用,2004(11):66-69.

王譽樹(1987-),男,漢族,遼寧沈陽人,杭州電子科技大學在讀碩士研究生,主要研究方向為環境監測儀器技術,嵌入式系統,513151282@qq.com;

蔡強(1972-),男,漢族,安徽蚌埠人,浙江清華長三角研究院生態環境研究所研究員,主要研究方向為環境監測儀器技術研究,caiq@tsinghua.edu.cn。
On-LineMonitoringSystemforAquacultureWaterQualityBasedonCANBus*
WANGYushu1,2,CAIQiang1,2*,GUODonglian2,ZHUYin2,ZHANGXiaomei2
(1.Electronic Information Institution of Hangzhou Dianzi University,Hangzhou 310018,China;2.Yangtze Delta Region Institute of Tsinghua University,Jiaxing Zhejiang 314006,China)
Abstract:An on-line monitoring system for aquaculture water quality was designed.This system adopted CAN fieldbus technology to achieve on-site data transmission.GSM wireless communication technology was used for remote data acquisition and supervisory control.The water quality parameters including temperature,dissolved oxygen(DO),pH and electric conductivity(EC)were monitored in real time.The DO concentration was controlled automatically to avoid the fish death.The results demonstrated that this system is practical and stable,suggesting good potential for meeting the requirement of aquaculture water quality monitoring.
Key words:aquaculture water quality;CAN fieldbus;automatic control;on-line monitoring
doi:EEACC:720010.3969/j.issn.1005-9490.2014.04.027
中圖分類號:TP277.2
文獻標識碼:A
文章編號:1005-9490(2014)04-0708-06
收稿日期:2013-03-14修改日期:2013-10-27
項目來源:嘉興市科技計劃項目(2013AY21031)