宋大雷 ,徐霄陽(yáng) ,田 川
(1.中國(guó)海洋大學(xué),山東 青島 266003;2.中國(guó)科學(xué)院海洋研究所,山東 青島 266071)
溫度傳感器在小型ROV系統(tǒng)中的應(yīng)用與研究
宋大雷1,徐霄陽(yáng)1,田 川2
(1.中國(guó)海洋大學(xué),山東 青島 266003;2.中國(guó)科學(xué)院海洋研究所,山東 青島 266071)
介紹了一種響應(yīng)時(shí)間快、高精度、低功耗的溫度傳感器軟硬件設(shè)計(jì)。傳感器與ROV之間采用有纜方式進(jìn)行通信,使得ROV可以方便有效地控制溫度傳感器,并可根據(jù)具體測(cè)量環(huán)境改變加裝方式和通信模式。模塊化的設(shè)計(jì)減小了傳感器的體積使其可方便地集成在小型ROV系統(tǒng)或其它測(cè)量平臺(tái)上。
溫度傳感器;小型ROV;有限狀態(tài)機(jī)
水下機(jī)器人ROV(Remotely Operated Vehicle)是通過(guò)有纜方式進(jìn)行操作的水下航行器。它主要由推進(jìn)系統(tǒng)、操作系統(tǒng)(機(jī)械手)、通訊系統(tǒng)、攝像系統(tǒng)(包括輔助照明設(shè)備)、水下測(cè)量系統(tǒng)、零浮力臍帶纜以及甲板操控系統(tǒng)等組成。隨著經(jīng)濟(jì)的發(fā)展,尤其對(duì)海洋、湖波等水資源的開(kāi)發(fā)和利用,小型ROV系統(tǒng)具有的尺寸小、重量輕、操行簡(jiǎn)單、續(xù)航能力強(qiáng)、穩(wěn)定性好、可在狹窄環(huán)境使用等特點(diǎn),越來(lái)越受到用戶的重視[1]。通常情況下,ROV系統(tǒng)會(huì)根據(jù)不同的作業(yè)任務(wù)攜帶不同的測(cè)量傳感器,但溫度測(cè)量傳感器通常為ROV系統(tǒng)的基本配置。本文主要基于自主研發(fā)的SeaRay-50型ROV系統(tǒng)上的溫度測(cè)量傳感器模塊進(jìn)行研究,通過(guò)對(duì)該溫度測(cè)量模塊的長(zhǎng)期測(cè)試表明,該測(cè)量模塊可以方便地裝載在任何水下航行器或者測(cè)量平臺(tái)上使用。
溫度傳感器設(shè)計(jì)采用模塊化思想,主要分為三部分,分別為溫度探頭、電路模塊和對(duì)外接口,其中前端為溫度探頭部分,中部為模塊主體,后端設(shè)計(jì)加裝水密插頭以完成數(shù)據(jù)通信和供電。模塊的主體長(zhǎng)85 mm,直徑30 mm,探頭長(zhǎng)為20 mm,小型化的設(shè)計(jì)可方便實(shí)現(xiàn)其在ROV或其他水下測(cè)量系統(tǒng)上的外延集成。圖1展示了設(shè)計(jì)完成的溫度傳感器。
測(cè)溫模塊的前端探頭為316不銹鋼材質(zhì),可保護(hù)內(nèi)部的熱敏電阻不受外壓而發(fā)生損壞,熱敏電阻被封裝在探頭內(nèi)部。同時(shí)探頭被設(shè)計(jì)為針狀結(jié)構(gòu),以滿足熱敏電阻溫度響應(yīng)時(shí)間小于200 ms的要求??紤]到前端探頭尺寸較小,所以在其周?chē)友b不銹鋼的保護(hù)罩。
結(jié)合ROV的工作環(huán)境和監(jiān)測(cè)要求,溫度傳感器采用了直讀式的采樣方式。因此硬件設(shè)計(jì)主要由主控芯片、電源管理模塊、數(shù)據(jù)采集模塊和串口通信模塊四部分組成,各模塊之間的關(guān)系如圖2所示。
主控芯片主要負(fù)責(zé)控制數(shù)據(jù)的采集和串口通信,ROV通過(guò)外接水密纜完成對(duì)溫度傳感器的直接供電和命令通信,利用ROV的上位機(jī)軟件便可方便完成對(duì)測(cè)溫模塊的控制。硬件的具體設(shè)計(jì)如下:
(1)考慮到系統(tǒng)的外設(shè)較少,因此溫度傳感器主控芯片采用AVR Atmega8,便可以完成對(duì)其他模塊的控制和數(shù)據(jù)處理等工作。
(2)電源管理模塊包括了LTC1763穩(wěn)壓芯片,可以把4~20 V供電電壓穩(wěn)定至3.3 V輸出??梢詽M足ROV供電電壓為6 V的設(shè)計(jì)要求。
(3)數(shù)據(jù)采集模塊中A/D轉(zhuǎn)換芯片使用了LTC2411,可以方便ROV擴(kuò)展多路數(shù)據(jù)的采集。傳感器測(cè)量精度可達(dá)±0.005℃,響應(yīng)時(shí)間小于160 ms,滿足ROV對(duì)于環(huán)境溫度的監(jiān)測(cè)精度。
(4)串口通信模塊實(shí)現(xiàn)了測(cè)溫模塊與ROV之間的通信。為了方便溫度傳感器在ROV上的集成,同時(shí)滿足長(zhǎng)距離的數(shù)據(jù)傳輸要求,本模塊使用了MAX3160電平轉(zhuǎn)換芯片,通過(guò)對(duì)單片機(jī)編程,可以完成邏輯電平到RS-232或RS-485的轉(zhuǎn)換。
在電源接口的設(shè)計(jì)上,由于溫度測(cè)量模塊的大部分芯片工作電壓小于5 V,為了使ROV對(duì)模塊的供電能夠安全、可靠,同時(shí),為了提高A/D采集數(shù)據(jù)的精度,在電源管理模塊中使用了LTC1763芯片。它是一種寬電壓輸入的穩(wěn)壓芯片,輸出電壓穩(wěn)定在3.3 V。這樣設(shè)計(jì),就使得ROV的供電電壓范圍擴(kuò)大,同時(shí)也可以適應(yīng)其他系統(tǒng)的集成,通信模塊中使用的MAX3160芯片和外圍電路會(huì)對(duì)A/D的輸入電壓產(chǎn)生影響,為了消除電源紋波對(duì)測(cè)量精度的影響,在通信模塊設(shè)計(jì)上采用了通信板和主電路板分離的電路設(shè)計(jì)。在縮小了總體電路長(zhǎng)度的同時(shí),使得通信部分也實(shí)現(xiàn)模塊化。測(cè)溫模塊對(duì)外接口設(shè)計(jì)采用4線制接口,除供電的兩路線外,通信的兩路也可被RS-232模式和RS-485模式共用,通過(guò)對(duì)單片機(jī)的編程可以實(shí)現(xiàn)兩種通信模式的轉(zhuǎn)換,這樣就最大化地簡(jiǎn)化了對(duì)外接口[2]。在測(cè)溫模塊的尾端,使用水密接頭向外延伸線纜,ROV可以直接利用水密線纜與測(cè)溫模塊進(jìn)行通信,獲得實(shí)時(shí)溫度數(shù)據(jù)。
測(cè)溫模塊的軟件設(shè)計(jì)采用了狀態(tài)機(jī)的思想。在有限狀態(tài)機(jī)系統(tǒng)中,狀態(tài)量是有限的,在設(shè)計(jì)狀態(tài)時(shí)需要設(shè)定盡可能少的狀態(tài)量,且在任意時(shí)刻系統(tǒng)都工作在其中的一個(gè)狀態(tài)。同時(shí)狀態(tài)之間的跳轉(zhuǎn)(觸發(fā))條件必須明確。由此根據(jù)測(cè)溫模塊的功能和ROV的具體需求設(shè)計(jì)出了如圖3的總體架構(gòu)。
測(cè)溫模塊為了兼顧與ROV的通信和保持實(shí)時(shí)采樣,程序的總體狀態(tài)分為三種,分別為:采樣、休眠和待機(jī)。當(dāng)模塊未與上位機(jī)通信時(shí),處于采樣或休眠兩種狀態(tài)中的一種。當(dāng)模塊狀態(tài)跳轉(zhuǎn)為采樣狀態(tài)時(shí),測(cè)溫模塊會(huì)進(jìn)行持續(xù)的采樣并通過(guò)串口實(shí)時(shí)地發(fā)送采集到的溫度數(shù)據(jù)給ROV。定時(shí)器中斷被用作采樣間隔的設(shè)定,通過(guò)對(duì)定時(shí)器的計(jì)數(shù)量選擇,實(shí)現(xiàn)不同采樣間隔的設(shè)定。當(dāng)不再需要測(cè)溫模塊采樣時(shí),模塊退出采樣狀態(tài)并進(jìn)入休眠狀態(tài)。在休眠狀態(tài)下,單片機(jī)將停止一切工作,并等待外部中斷信號(hào)重新喚醒,而外部中斷不僅被用做把單片機(jī)從休眠狀態(tài)下喚醒,同時(shí)還被用來(lái)使單片機(jī)從采樣狀態(tài)向待機(jī)狀態(tài)跳轉(zhuǎn)。當(dāng)模塊接收到通信命令時(shí)首先觸發(fā)外部中斷進(jìn)入到待機(jī)狀態(tài),待機(jī)狀態(tài)是為了通信需要而設(shè)定的,在此狀態(tài)下對(duì)模塊發(fā)出的不同命令可實(shí)現(xiàn)模塊的各種功能。待機(jī)狀態(tài)的超時(shí)時(shí)間(待機(jī)時(shí)間)被設(shè)定為5 s,即在5 s內(nèi)接收到任何命令都將重置待機(jī)時(shí)間到5 s,而在距上一次命令接收5 s的時(shí)間內(nèi)未收到命令,模塊將自動(dòng)退出待機(jī)狀態(tài),并按照之前命令所設(shè)定的方式執(zhí)行程序。圖4給出了三種狀態(tài)下的程序流程圖。
實(shí)現(xiàn)三種采樣狀態(tài)的跳轉(zhuǎn),關(guān)鍵是對(duì)中斷進(jìn)行配置[3]。由于休眠和采樣兩種狀態(tài)到待機(jī)狀態(tài)的跳轉(zhuǎn)都需要利用外部中斷實(shí)現(xiàn),因此在進(jìn)入前兩種狀態(tài)后都需要首先配置外部中斷使能。在休眠狀態(tài)中由于使能了外部中斷,因此在單片機(jī)休眠后可以直接通過(guò)外部中斷喚醒并進(jìn)入中斷子程序,而在采樣狀態(tài)時(shí),由于受A/D轉(zhuǎn)換速度最快為130 ms的限制,因此在采樣狀態(tài)下的采樣子函數(shù)中需要禁止外部中斷和串口中斷,以防止在A/D采樣時(shí)接受到串口命令而干擾到采樣過(guò)程。在完成一次完整的采樣后,需要再次使能中斷,使得單片機(jī)可以響應(yīng)外部命令。利用外部中斷服務(wù)程序置位待機(jī)標(biāo)志位,便使得模塊跳轉(zhuǎn)到待機(jī)狀態(tài)。在主程序中采用查詢的方式判斷模塊狀態(tài),這樣就實(shí)現(xiàn)了不同狀態(tài)之間的跳轉(zhuǎn)[4]。
測(cè)溫模塊的通信可選擇RS-232或RS-485,采用的MAX3160芯片是一款可編程多協(xié)議的收發(fā)器。芯片支持RS-232和RS-485通信,其中RS-485通信需要軟件編程實(shí)現(xiàn)。兩種通信模式的轉(zhuǎn)換也可通過(guò)編程實(shí)現(xiàn),當(dāng)芯片11、12引腳為低電平時(shí),芯片啟用RS-232模式,反之則工作在RS-485模式[5]。這樣集成近岸ROV只需選用RS-232便可滿足距離要求,而如果需求遠(yuǎn)距離通信也可以方便切換為RS-485通信。測(cè)溫模塊架裝在ROV上,ROV能通過(guò)對(duì)測(cè)溫模塊發(fā)送不同命令,實(shí)現(xiàn)對(duì)其的有效控制。以下定義了3種基本的通信命令,所有通信命令都采用十六進(jìn)制,全長(zhǎng)為4 byte。
(1)開(kāi)始采樣命令:向測(cè)溫模塊發(fā)送此命令可使其按照設(shè)定的頻率進(jìn)行采樣,通過(guò)串口把采集到的溫度數(shù)據(jù)以實(shí)時(shí)的方式發(fā)送給ROV。命令格式為D7090101,其中前兩個(gè)字節(jié)的D709為命令標(biāo)志,第三個(gè)字節(jié)的01表示命令種類(lèi),第四個(gè)字節(jié)的01表示設(shè)定的采樣頻率。根據(jù)ROV對(duì)于溫度數(shù)據(jù)的采樣頻率要求為大于1 Hz,此命令設(shè)計(jì)了可以選擇01(1 Hz)、02(2 Hz)、04(4 Hz)三種采樣頻率。模塊接收到命令后將返回535441(STA),表示傳感器開(kāi)始采樣。
(2)結(jié)束采樣命令:此命令可以停止溫度傳感器的采樣。命令格式為D7090200,模塊返回53544F(STO),表示傳感器停止采樣。
(3)握手命令:向測(cè)溫模塊發(fā)送此命令,模塊將返回自身信息和狀態(tài),返回值依次為兩個(gè)字節(jié)的模塊編號(hào)、一個(gè)字節(jié)的采樣狀態(tài)(01為采樣中,00為停止)、一個(gè)字節(jié)的采樣頻率。命令格式為D7090300,一種可能的返回值為00010101494E46。
除了上述3種基本命令外,模塊還定義了其他一些實(shí)用化的操作命令,隨著ROV對(duì)測(cè)溫模塊要求的不斷提高,模塊可以擴(kuò)展更多命令以簡(jiǎn)化操作。
在使用了“開(kāi)始采樣”命令后,測(cè)溫模塊將實(shí)時(shí)對(duì)外發(fā)送溫度數(shù)據(jù)。為了簡(jiǎn)化ROV的工作,使模塊更具兼容性,溫度數(shù)據(jù)的解析直接由單片機(jī)來(lái)完成。通過(guò)對(duì)原始AD值的解析,可以獲取熱敏電阻的阻值,再利用傳感器標(biāo)定所得到的擬合系數(shù),最終計(jì)算出溫度值。測(cè)溫模塊的主控芯片通過(guò)處理得到的溫度值并最終以字符形式輸出,這樣ROV只需接收所得溫度數(shù)據(jù)并直接輸出顯示即可。輸出的數(shù)據(jù)格式為$XX.XXXX,溫度單位為攝氏度,例如$24.1451。
溫度傳感器的標(biāo)定需要在恒溫水槽中進(jìn)行。由于傳感器采用直讀式設(shè)計(jì),使得其標(biāo)定過(guò)程較為簡(jiǎn)單。在溫度傳感器的測(cè)量量程-2~40℃內(nèi),選5個(gè)溫度點(diǎn),分別為0℃,5℃,15℃,25℃,35℃,測(cè)得5組熱敏電阻阻值,如表1。
表1 熱敏電阻阻值
再根據(jù)Steinhart-Hart方程:T=1/(A+B*(LnR)+C*(LnR)*(LnR)+D*(LnR)*(LnR)*(LnR)),擬合算出 A、B、C、D 四個(gè)系數(shù),分別為: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。把得到的系數(shù)寫(xiě)入程序中,傳感器在工作時(shí)就能把計(jì)算出的實(shí)時(shí)溫度發(fā)送出來(lái)了。
ROV系統(tǒng)在工作時(shí)對(duì)所經(jīng)過(guò)海區(qū)內(nèi)海水溫度進(jìn)行測(cè)量,并將數(shù)據(jù)通過(guò)電纜實(shí)時(shí)的傳送給母船上的甲板控制系統(tǒng),可使操作者對(duì)作業(yè)環(huán)境進(jìn)行分析,更好的對(duì)ROV系統(tǒng)進(jìn)行相關(guān)的決策。通過(guò)對(duì)集成在ROV系統(tǒng)上的溫度測(cè)量傳感器模塊測(cè)試以及采集數(shù)據(jù)進(jìn)行分析,該測(cè)量模塊的指標(biāo)可以滿足ROV在作業(yè)時(shí)對(duì)溫度測(cè)量的要求,并且由于該測(cè)量模塊具有小型化、響應(yīng)時(shí)間快、精度高、功耗低等特點(diǎn),可以方便的集成到其他水下測(cè)量平臺(tái)中使用。
[1]孫虎元,孫立娟,侯保榮,等.用于近海海洋環(huán)境檢測(cè)的輕型機(jī)器人[J].海洋技術(shù),2005,24(1):10-13.
[2]賈智平,張瑞華.嵌入式系統(tǒng)原理與接口技術(shù)[M].北京∶清華大學(xué)出版社,2005.
[3]Atemel.AVR ATmega8 data sheet.http∶//www.Atmel.com.
[4](美)克尼漢(Kernighan BW),(美)里奇(Ritchie DM).C程序設(shè)計(jì)語(yǔ)言(2版)[M].徐寶文,李志,譯.北京:機(jī)械工業(yè)出版社,2004.
[5]張成鶴,王平,鄭林華.可編程多協(xié)議收發(fā)器MAX3160的原理與應(yīng)用[J].國(guó)外電子元器件,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
國(guó)家自然科學(xué)基金資助項(xiàng)目(41006005)
宋大雷(1971-),男,教授,碩士生導(dǎo)師,主要研究方向?yàn)楹Q蟊O(jiān)測(cè)傳感器的開(kāi)發(fā)與應(yīng)用、水下航行器。Email:daleisong@126.com