一種新型溫鹽深傳感器的數據采集與應用
0 引言
隨著工業和國防技術的發展,潛水設備在各種應用尤其在軍事應用上,對探測技術的高、精、尖的要求越來越高。在各種潛水設備的技術發展中,具有重要意義的潛水器充分的體現了這一點,為了提高潛水器的深潛能力,潛水器都配備有綜合導航顯示控制系統,確保潛水器能夠精確的潛航,順利完成各種水底作業任務。由于潛水器的體積和載荷的限制,綜合導航顯示控制系統使用的傳感器必須體積小、重量輕、耐高壓,并且在功能上要能快速、準確地獲得潛水器的航行參數。在測量海水的溫度、電導率、壓力、深度、鹽度、聲速、密度等狀態參數方面,SBE 37-SI MicroCAT溫鹽深傳感器能將上述海水的七種狀態參數測量于一體,而且在精度、體積、重量上都能很好地滿足系統設計的要求,是一種非常適合用于潛水器上的傳感器。下面就有關SBE 37-SI MicroCAT溫鹽深傳感器在潛水器中的數據采集過程進行探討,對其中的傳輸格式不對應,不便于直接傳輸,提出一種可行的設計方案和思路,并給出一個已經得到應用的實例進行說明。
1 SBE 37-SI MicroCAT溫鹽深傳感器在潛水器中的應用
潛水器的綜合導航顯示控制系統主要是應用組合導航技術和信息融合技術把各個導航設備有機地組合起來,在不改變各導航設備的情況下,采用濾波技術,對各種導航信息進行處理,實現各種導航信息互相取長補短,提高導航定位精度;通過對導航信息進行集中顯示,集中控制和綜合處理,可以實現最大限度發揮每一個導航信息的作用,實時向使用設備提供全面的、最佳的導航信息。溫鹽深傳感器的作用是實時地測量海水的各個狀態參數,如溫度、電導率、壓力、深度、鹽度、聲速、密度,發送到綜合導航顯示控制系統,然后顯示出來或者供其他設備使用。為了確保潛水器航行安全和打撈搜救任務的完成,潛水器上的傳感器的測量必須滿足航行的要求;數據的刷新率必須滿足潛水器的要求;所測量得到的數據必須穩定可靠。SBE 37-SI MicroCAT溫鹽深傳感器在這些方面的性能都能達到,滿足導航系統的要求。
圖1 SBE 37-SI MicroCAT溫鹽深傳感器
SBE 37-SI MicroCAT溫鹽深傳感器目前在國外大多在潛水器和潛艇中使用,在國內還很少應用。如圖1所示,其外形尺寸為長 43.69cm,最大高度為13.97cm,最大寬度為10.8cm,重量約2.9kg。SBE 37-SI MicroCAT溫鹽深傳感器的測量準確度非常高,例如溫度范圍在-5到30°C,精確度達到 0.0001°C,能在水深7000米的高壓情況下也能測出所需要的精確的導航信息。SBE 37- SI MicroCAT與其它設備主要根據NMEA-0183標準來進行串口異步通信,交換數據,雙向傳輸。它的外部接口是EIA RS-232,傳輸波特率可選擇,范圍由1200bit/s到38400bit/s。發送的字符碼制為ASCII碼,測量數據的傳輸的速率也可由輸出的參數選定,每次測量數據輸出的時間間隔范圍由1.15秒到22.19秒。
2 SBE 37-SI MicroCAT接口電路的設計
SBE 37-SI MicroCAT溫鹽深傳感器的輸出數據格式與一般導航設備的常用格式,例如GPS的數據格式:$PASHR,POS,n,……,tt.t,vvvv*cc[CR][LF],它包含起始符$,數據內容,代碼和標志*,代碼和cc,數據終結符 [CR][LF]。而SBE 37-SI MicroCAT的輸出數據格式沒有起始符、代碼和標志以及代碼和。它還有一個很大的特點:SBE 37- SI MicroCAT溫鹽深傳感器的輸出有電平保護作用,當它停電后重新通電啟動,輸出電平為零,不會自主的向外發送測量數據,必須給它發一個激發信號(數據發送命令)才能觸發它。它的觸發信號是兩個回車換行字節(即0x0D、0x0A),但不能連續發,必須要分兩次間隔兩秒發出,這樣才能將傳感器觸發,按照設定的格式和速率往外發送數據。
為了使溫鹽深傳感器輸出的數據格式與常用導航設備的數據格式保持一致,必須要設計一個數據格式轉換接口電路,它需要完成的工作有:首先獲得外部指令或自產生一個觸發命令發給傳感器,觸發傳感器;然后接收外部指令改變SBE 37-SI MicroCAT輸出數據的波特率,傳輸數據的更新速率;并接收來自它的數據,加上起始符、代碼和標志以及代碼和;如果數據中有空格,則將空格置換成零;最后將數據輸出給綜合導航顯示控制臺。這樣,數據格式轉換接口電路一方面要處理控制指令的中斷和實現改變傳感器的波特率和數據更新速率,另一方面還要和傳感器進行串行數據通信。
3 實際應用舉例
由于SBE 37-SI MicroCAT溫鹽深傳感器所提供的RS232數據格式與常用的導航設備數據格式不同,不能直接與潛水器綜合導航顯示控制臺系統現連接進行數據交換。為了方便通信,本文作者在實際的工程應用中設計了一個數據格式轉換電路板,電路的結構如圖2所示。

圖2 SBE 37-SI MicroCAT數據格式轉換電路板的設計
在圖2中,通信控制單片機一方面負責接收數據,將接收到表達海水的狀態參數的ASCII字符轉換成數字類型,對該數字類型進行判斷正負,把相應的空格置換成零,再轉換為ASCII字符類型,添加上起始符$以及每個數據的頭字母(即T、C、P、D、S、V、R),算出$以后所有字符的代碼和,然后將代碼和標志及代碼和、回車符、換行符加上,最后通過RS232輸出到綜導顯控臺。另一方面,接收來自綜導顯控臺的命令,然后發送給SBE 37- SI MicroCAT溫鹽深傳感器,對傳感器的響應完完全全地返回給綜導顯控臺。因此綜導顯控臺可以隨時改變溫鹽深傳感器的輸出數據、數據輸出的間隔時間以及他的狀態,又可以接收到通用格式的數據。
本實例的硬件使用的是常用可靠的AT89C51單片機,AT89C51單片機是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROM— Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。
由于程序設計相對簡單,為了提高開發效率,不采用高級語言編寫程序,而是直接選擇匯編語言編寫程序。在可靠性需求高的環境,串口RS232的編程只使用發送、接收和地線等三個信號線,這樣可以確保數據可以在任何時候都可以發送和接收,提高可靠性。
如圖3所示的電路,是設計完成并在實際中使用的SBE 37-SI MicroCAT數據格式轉換電路。電路設計精巧,面積小,安裝方便,信號線拔插易用。
SBE 37-SI MicroCAT溫鹽深傳感器在空氣中測量直接出來的數據格式(如果數據為負則多加一位):
xxx.xxxx,xx.xxxxx,xxxx.xxx,xxxx.xxx,xxxx.xxxx,xxxxx.xxx,xxx.xxxx[CR][LF]
24.7798, 0.00068, -0.310, -0.307, 0.0130, 1496.123, -2.8873[CR][LF]
接口電路接收傳感器(有三個負值)來的數據接口所輸出的數據(將空格置換為零):
$Txxx.xxxx,Cxx.xxxxx,Pxxxx.xxx,Dxxxx.xxx,Sxxxx.xxxx,Vxxxxx.xxx,Rxxx.xxxx*cc[CR][LF]
$T024.7798,C00.00068,P-0000.310,D-0000.307,S0000.0130,V01496.123,R-002.8873*66[CR][LF]

圖3 SBE 37-SI MicroCAT格式轉換電路板
4 結束語
本文作者創新點:SBE 37-SI MicroCAT溫鹽深傳感器的性能、體積、質量和可靠性都能滿足潛水器中綜導顯控臺系統的設計要求,能精確測量潛水器所需海水的溫度、電導率、壓力、深度、鹽度、聲速、密度等狀態參數。由于其輸出的數據格式與導航設備的常用格式不同,無法直接相接,因此必須在其接口上另接一個數據格式轉換電路,才可以得到常規的數據輸出格式,以便更快地開發出通信與數據采集軟件,通過人機界面完成對數據采集系統的控制與通信。本文介紹的實例系統的軟硬件的實現方法比較簡單,可靠性高,具有廣泛的實用性。
參考文獻:
[1]馬忠梅,籍順心,何立民.單片機的C語言程序設計[M].北京:北京航空航天大學出版社,1999.57-73.
[2]趙云鵬.MATLAB串口通信在數據采集中的應用,微計算機信息, 2006年第1-1期,P111-112
[3] 羅興垅,黃隆勝.基于AT89C51控制的0.01℃數顯溫度計的設計,微計算機信息, 2006年第5-2期,P70-72
[4]楊寶清,宋文貴.實用電路手冊.北京:機械工業出版社,2002
[5]吳金戍,沈慶陽,郭庭吉.8051單片機實踐與應用.北京:清華大學出版社,2001
[6] Sea-Bird Electronics, Inc. User’s Manual of SBE 37-SI MicroCAT
文章版權歸西部工控xbgk所有,未經許可不得轉載。