宋大雷 ,徐霄陽 ,田 川
(1.中國海洋大學,山東 青島 266003;2.中國科學院海洋研究所,山東 青島 266071)
溫度傳感器在小型ROV系統中的應用與研究
宋大雷1,徐霄陽1,田 川2
(1.中國海洋大學,山東 青島 266003;2.中國科學院海洋研究所,山東 青島 266071)
介紹了一種響應時間快、高精度、低功耗的溫度傳感器軟硬件設計。傳感器與ROV之間采用有纜方式進行通信,使得ROV可以方便有效地控制溫度傳感器,并可根據具體測量環境改變加裝方式和通信模式。模塊化的設計減小了傳感器的體積使其可方便地集成在小型ROV系統或其它測量平臺上。
溫度傳感器;小型ROV;有限狀態機
水下機器人ROV(Remotely Operated Vehicle)是通過有纜方式進行操作的水下航行器。它主要由推進系統、操作系統(機械手)、通訊系統、攝像系統(包括輔助照明設備)、水下測量系統、零浮力臍帶纜以及甲板操控系統等組成。隨著經濟的發展,尤其對海洋、湖波等水資源的開發和利用,小型ROV系統具有的尺寸小、重量輕、操行簡單、續航能力強、穩定性好、可在狹窄環境使用等特點,越來越受到用戶的重視[1]。通常情況下,ROV系統會根據不同的作業任務攜帶不同的測量傳感器,但溫度測量傳感器通常為ROV系統的基本配置。本文主要基于自主研發的SeaRay-50型ROV系統上的溫度測量傳感器模塊進行研究,通過對該溫度測量模塊的長期測試表明,該測量模塊可以方便地裝載在任何水下航行器或者測量平臺上使用。

溫度傳感器設計采用模塊化思想,主要分為三部分,分別為溫度探頭、電路模塊和對外接口,其中前端為溫度探頭部分,中部為模塊主體,后端設計加裝水密插頭以完成數據通信和供電。模塊的主體長85 mm,直徑30 mm,探頭長為20 mm,小型化的設計可方便實現其在ROV或其他水下測量系統上的外延集成。圖1展示了設計完成的溫度傳感器。
測溫模塊的前端探頭為316不銹鋼材質,可保護內部的熱敏電阻不受外壓而發生損壞,熱敏電阻被封裝在探頭內部。同時探頭被設計為針狀結構,以滿足熱敏電阻溫度響應時間小于200 ms的要求??紤]到前端探頭尺寸較小,所以在其周圍加裝不銹鋼的保護罩。
結合ROV的工作環境和監測要求,溫度傳感器采用了直讀式的采樣方式。因此硬件設計主要由主控芯片、電源管理模塊、數據采集模塊和串口通信模塊四部分組成,各模塊之間的關系如圖2所示。
主控芯片主要負責控制數據的采集和串口通信,ROV通過外接水密纜完成對溫度傳感器的直接供電和命令通信,利用ROV的上位機軟件便可方便完成對測溫模塊的控制。硬件的具體設計如下:

(1)考慮到系統的外設較少,因此溫度傳感器主控芯片采用AVR Atmega8,便可以完成對其他模塊的控制和數據處理等工作。
(2)電源管理模塊包括了LTC1763穩壓芯片,可以把4~20 V供電電壓穩定至3.3 V輸出??梢詽M足ROV供電電壓為6 V的設計要求。
(3)數據采集模塊中A/D轉換芯片使用了LTC2411,可以方便ROV擴展多路數據的采集。傳感器測量精度可達±0.005℃,響應時間小于160 ms,滿足ROV對于環境溫度的監測精度。
(4)串口通信模塊實現了測溫模塊與ROV之間的通信。為了方便溫度傳感器在ROV上的集成,同時滿足長距離的數據傳輸要求,本模塊使用了MAX3160電平轉換芯片,通過對單片機編程,可以完成邏輯電平到RS-232或RS-485的轉換。
在電源接口的設計上,由于溫度測量模塊的大部分芯片工作電壓小于5 V,為了使ROV對模塊的供電能夠安全、可靠,同時,為了提高A/D采集數據的精度,在電源管理模塊中使用了LTC1763芯片。它是一種寬電壓輸入的穩壓芯片,輸出電壓穩定在3.3 V。這樣設計,就使得ROV的供電電壓范圍擴大,同時也可以適應其他系統的集成,通信模塊中使用的MAX3160芯片和外圍電路會對A/D的輸入電壓產生影響,為了消除電源紋波對測量精度的影響,在通信模塊設計上采用了通信板和主電路板分離的電路設計。在縮小了總體電路長度的同時,使得通信部分也實現模塊化。測溫模塊對外接口設計采用4線制接口,除供電的兩路線外,通信的兩路也可被RS-232模式和RS-485模式共用,通過對單片機的編程可以實現兩種通信模式的轉換,這樣就最大化地簡化了對外接口[2]。在測溫模塊的尾端,使用水密接頭向外延伸線纜,ROV可以直接利用水密線纜與測溫模塊進行通信,獲得實時溫度數據。
測溫模塊的軟件設計采用了狀態機的思想。在有限狀態機系統中,狀態量是有限的,在設計狀態時需要設定盡可能少的狀態量,且在任意時刻系統都工作在其中的一個狀態。同時狀態之間的跳轉(觸發)條件必須明確。由此根據測溫模塊的功能和ROV的具體需求設計出了如圖3的總體架構。

測溫模塊為了兼顧與ROV的通信和保持實時采樣,程序的總體狀態分為三種,分別為:采樣、休眠和待機。當模塊未與上位機通信時,處于采樣或休眠兩種狀態中的一種。當模塊狀態跳轉為采樣狀態時,測溫模塊會進行持續的采樣并通過串口實時地發送采集到的溫度數據給ROV。定時器中斷被用作采樣間隔的設定,通過對定時器的計數量選擇,實現不同采樣間隔的設定。當不再需要測溫模塊采樣時,模塊退出采樣狀態并進入休眠狀態。在休眠狀態下,單片機將停止一切工作,并等待外部中斷信號重新喚醒,而外部中斷不僅被用做把單片機從休眠狀態下喚醒,同時還被用來使單片機從采樣狀態向待機狀態跳轉。當模塊接收到通信命令時首先觸發外部中斷進入到待機狀態,待機狀態是為了通信需要而設定的,在此狀態下對模塊發出的不同命令可實現模塊的各種功能。待機狀態的超時時間(待機時間)被設定為5 s,即在5 s內接收到任何命令都將重置待機時間到5 s,而在距上一次命令接收5 s的時間內未收到命令,模塊將自動退出待機狀態,并按照之前命令所設定的方式執行程序。圖4給出了三種狀態下的程序流程圖。

實現三種采樣狀態的跳轉,關鍵是對中斷進行配置[3]。由于休眠和采樣兩種狀態到待機狀態的跳轉都需要利用外部中斷實現,因此在進入前兩種狀態后都需要首先配置外部中斷使能。在休眠狀態中由于使能了外部中斷,因此在單片機休眠后可以直接通過外部中斷喚醒并進入中斷子程序,而在采樣狀態時,由于受A/D轉換速度最快為130 ms的限制,因此在采樣狀態下的采樣子函數中需要禁止外部中斷和串口中斷,以防止在A/D采樣時接受到串口命令而干擾到采樣過程。在完成一次完整的采樣后,需要再次使能中斷,使得單片機可以響應外部命令。利用外部中斷服務程序置位待機標志位,便使得模塊跳轉到待機狀態。在主程序中采用查詢的方式判斷模塊狀態,這樣就實現了不同狀態之間的跳轉[4]。
測溫模塊的通信可選擇RS-232或RS-485,采用的MAX3160芯片是一款可編程多協議的收發器。芯片支持RS-232和RS-485通信,其中RS-485通信需要軟件編程實現。兩種通信模式的轉換也可通過編程實現,當芯片11、12引腳為低電平時,芯片啟用RS-232模式,反之則工作在RS-485模式[5]。這樣集成近岸ROV只需選用RS-232便可滿足距離要求,而如果需求遠距離通信也可以方便切換為RS-485通信。測溫模塊架裝在ROV上,ROV能通過對測溫模塊發送不同命令,實現對其的有效控制。以下定義了3種基本的通信命令,所有通信命令都采用十六進制,全長為4 byte。
(1)開始采樣命令:向測溫模塊發送此命令可使其按照設定的頻率進行采樣,通過串口把采集到的溫度數據以實時的方式發送給ROV。命令格式為D7090101,其中前兩個字節的D709為命令標志,第三個字節的01表示命令種類,第四個字節的01表示設定的采樣頻率。根據ROV對于溫度數據的采樣頻率要求為大于1 Hz,此命令設計了可以選擇01(1 Hz)、02(2 Hz)、04(4 Hz)三種采樣頻率。模塊接收到命令后將返回535441(STA),表示傳感器開始采樣。
(2)結束采樣命令:此命令可以停止溫度傳感器的采樣。命令格式為D7090200,模塊返回53544F(STO),表示傳感器停止采樣。
(3)握手命令:向測溫模塊發送此命令,模塊將返回自身信息和狀態,返回值依次為兩個字節的模塊編號、一個字節的采樣狀態(01為采樣中,00為停止)、一個字節的采樣頻率。命令格式為D7090300,一種可能的返回值為00010101494E46。
除了上述3種基本命令外,模塊還定義了其他一些實用化的操作命令,隨著ROV對測溫模塊要求的不斷提高,模塊可以擴展更多命令以簡化操作。
在使用了“開始采樣”命令后,測溫模塊將實時對外發送溫度數據。為了簡化ROV的工作,使模塊更具兼容性,溫度數據的解析直接由單片機來完成。通過對原始AD值的解析,可以獲取熱敏電阻的阻值,再利用傳感器標定所得到的擬合系數,最終計算出溫度值。測溫模塊的主控芯片通過處理得到的溫度值并最終以字符形式輸出,這樣ROV只需接收所得溫度數據并直接輸出顯示即可。輸出的數據格式為$XX.XXXX,溫度單位為攝氏度,例如$24.1451。
溫度傳感器的標定需要在恒溫水槽中進行。由于傳感器采用直讀式設計,使得其標定過程較為簡單。在溫度傳感器的測量量程-2~40℃內,選5個溫度點,分別為0℃,5℃,15℃,25℃,35℃,測得5組熱敏電阻阻值,如表1。

表1 熱敏電阻阻值
再根據Steinhart-Hart方程:T=1/(A+B*(LnR)+C*(LnR)*(LnR)+D*(LnR)*(LnR)*(LnR)),擬合算出 A、B、C、D 四個系數,分別為:A=0.000 700 017 704 406 045;B=0.000 295 730 851 936 622;C=-4.690 551 678 251 96e-06;D=2.293 326 223 767 59e-07。把得到的系數寫入程序中,傳感器在工作時就能把計算出的實時溫度發送出來了。
ROV系統在工作時對所經過海區內海水溫度進行測量,并將數據通過電纜實時的傳送給母船上的甲板控制系統,可使操作者對作業環境進行分析,更好的對ROV系統進行相關的決策。通過對集成在ROV系統上的溫度測量傳感器模塊測試以及采集數據進行分析,該測量模塊的指標可以滿足ROV在作業時對溫度測量的要求,并且由于該測量模塊具有小型化、響應時間快、精度高、功耗低等特點,可以方便的集成到其他水下測量平臺中使用。
[1]孫虎元,孫立娟,侯保榮,等.用于近海海洋環境檢測的輕型機器人[J].海洋技術,2005,24(1):10-13.
[2]賈智平,張瑞華.嵌入式系統原理與接口技術[M].北京∶清華大學出版社,2005.
[3]Atemel.AVR ATmega8 data sheet.http∶//www.Atmel.com.
[4](美)克尼漢(Kernighan BW),(美)里奇(Ritchie DM).C程序設計語言(2版)[M].徐寶文,李志,譯.北京:機械工業出版社,2004.
[5]張成鶴,王平,鄭林華.可編程多協議收發器MAX3160的原理與應用[J].國外電子元器件,2002(12):62-63.
Research and Application of Temperature Sensor in Mini-ROV System
SONG Da-lei1,XU Xiao-yang1,TIAN Chuan2
(1.Ocean University of China,Qingdao Shandong266003,China;2.Institute of Oceanology,Chinese Academy of Sciences,Qingdao Shandong266071,China)
The hardware and software design of a fast-response,high-precision and low-power consumption temperature sensor was introduced.The sensor communicates with ROV using cable and could be controlled easily and effectively by ROV.It also could change the installation and communication mode depending on the environment of measurement.The small size sensor which is designed to be modular can be easily integrated in mini ROV system or other measurement platforms.
temperature sensor;mini ROV;finite state machine
TH766
A
1003-2029(2013)01-0024-04
2012-08-06
國家自然科學基金資助項目(41006005)
宋大雷(1971-),男,教授,碩士生導師,主要研究方向為海洋監測傳感器的開發與應用、水下航行器。Email:daleisong@126.com