摘 要:設計一種基于型號為XWQJ02-001的兩軸傾角傳感器的機動測控裝備自動調平系統。介紹XWQJ02-001型號兩軸傾角傳感器的工作原理及應用;提供一套能夠實現該傳感器與微機使用的RS 232串行口通信程序的開發方法;使用微軟公司的Visual C++6.0作為平臺,編寫系統的串行口通信程序。實驗表明,與手動調平系統相比,調平時間和調平精度都有顯著的提高。
關鍵詞:傾角傳感器; 串行口; 差分信號; 數據采集; 調平
中圖分類號:TN911.25; TH712 文獻標識碼:B
文章編號:1004-373X(2010)14-0159-03
Automatic-leveling System of Maneuvering Measuring and Control
Equipment Based on Two-axis Obliquity Sensor
LI Wen-cheng1,2,3, LI Yan1, JIANG Wei-wei1,2, ZHOU Xue-shi3
(1.Changchun Institute of Optics, Fine Mechanics and Physics ,Chinese Academy of Sciences, Changchun 130033,China;
2. Graduate University, Chinese Academy of Sciences, Beijing 100039,China;3. 43 Brigade of 91245 Army, Huludao 125001, China)
Abstract:An automatic-leveling system of maneuvering and control equipment based on XWQJ02-001 two-axis obliquity sensor was designed. The working principle and application of the XWQJ02-001 two-axis obliquity sensor is introduced, and a development method of RS232 serial port communication program used by this sensor and microcomputer is realized. The communication program of the serial port is compiled based on Visual C++6.0. The experiment shows that time-consuming and precision are both obviously improved comparing with the manual leveling system.
Keywords: obliquity sensor; serial port; differential signal; data acquisition; leveling
0 引 言
現代靶場擁有大量機動測控裝備,每次轉場后都需要對裝備平臺進行調平。傳統的調平系統采用手動調平結構,費時費力,已嚴重影響裝備機動性能的發揮和任務的完成效率。自動調平系統相對人工調平系統具有調平時間短、調平精度高、可靠性高等優點。本設計以XWQJ02-001型號的傾角傳感器內置的2個微機械加速度計測量x軸和y軸相對于水平面的夾角,使用Visual C++6.0開發Windows環境下的串行口通信程序來實現微機與傾角傳感器的通信,實現機動測控裝備平臺的高速、高精度調平。
1 XWQJ02-001簡介
1.1 產品特點
XWQJ02-001是兩軸可編程加速度計方式傾角傳感器,基于ADI(analog devices,Inc)公司iMEMS集成微電子機械系統內核,當其處于水平安裝時,測量范圍是-30°~+30°,測角越是接近水平面其精度越高,可在1~5 Hz/s編程設置其輸出頻率,輸出頻率越小其測量精度越高,經實際測量得知在-50°~+5°的測量范圍內以1 Hz/s頻率輸出得到小于0.003°的測量精度,輸出最高分辨率為0.001°。產品具有5階濾波器,用戶根據需要設置,平衡選擇傾角精度和傾角響應速度的關系。
傾角大小以數字量方式輸出,接口形式包括RS 232,RS 485,RS 422等多種方式。
封裝外殼的防水等級IP55,抗外界電磁干擾能力強,承受沖擊振動能力強。
1.2 工作原理
傳感器的內部核心為ADI公司的微加速度計ADXL213[1],其內部原理如圖1所示。
該傳感器采用iMEMS技術,在一個硅片上包含了一個多晶體硅表面為機械傳感器和信號處理電路,實現了開環加速度測量結構。可以測量動態加速度和靜態加速度,其量程范圍為±1.2 g,輸出為周期可調的占空比調制信號,無需經過A/D轉換直接與計數器或單片機連接。具有良好的溫度特性,無需外部的溫度補償電路,具有測量精度高、功耗低、價格低等特點,適用于較高精度的測量系統。
圖1 ADXL213的原理圖
ADXL213輸出的時周期可調的與加速度成比例的脈寬調制信號。用戶通過外加電容Cx、Cy定低通濾波器的帶寬,可以提高測量分辨率、抑制噪聲。
傳感器單元是差動電容器,其輸出與加速度成正比。加速度計的性能依賴于傳感器的結構設計。差動電容由懸臂梁構成,懸臂梁由電容電極副構成如圖1中所示。每個指狀電極的電容正比例于固定電極和移動電極之間的重疊面積以及移動電極的位移,在不同的傾斜面上得到的差動電容的大小是不一樣的。懸臂梁由多晶硅彈簧支撐,根據放置在傾斜面上得到的差動電容的大小按照一定的運算規則得到加速度傳感器x軸、y軸的輸出Ax、Ay加速度信號(在標定的時候需要進行非線性補償和溫度補償)。則按照下面公式即可計算出傾角大小:
θ=arcsin(Ax/g) (1)
γ=arcsin(Ay/g) (2)
式中:θ,γ分別為x,y軸相對于水平面的傾角;g為重力加速度。
1.3 產品應用
該產品用于測量多種需要測量傾斜變化的工業應用設備,民用領域如:工廠機床、運動完全監視器、汽車輪位對準裝置、橋梁傾斜監測、大壩邊形長期檢測、平臺水平度監測。軍用領域如:衛星天線穩定系統、火炮炮管初射角度測量、雷達車輛平臺檢測等。
2 傳感器數據采集軟件
2.1 傳感器數據輸出格式
XWQJ02-001數據輸出為串口信號,串口輸出協議為:波特率為9 600 b/s,沒有校驗位、8個數據位,1個停止位,即(9 600,N,8,1)。一組數據為15個字節數,并且輸出為16進制數,具體如表1所示。
表1 數據輸出格式
字節位置含義數據類型說明
1,2幀頭0xAA,0xAA
3幀長字節除幀頭外全部數據長度
4地址字節0xxx(232輸出方式地址為2)
5命令返回字節接收到的命令字返回
6,7保留
8,9保留
10,11x軸角度整數角度=整數/1 000(單位:°)
12,13y軸角度整數角度=整數/1 000(單位:°)
14保留整數內部溫度(誤差±3°)
15校驗字節前面14字節數據的異或效驗結果
表中x,y軸角度的字節中,最高比特位為0表示正數,最高比特位為1,表示負數。
2.2 軟件編寫
使用微軟公司的Visual C++6.0編寫串口通信程序,調用軟件本身提供的通用串口控件MSCOMM32.OCX編寫程序,串口命名為m_Com。
軟件的初始化程序如下:
m_Com.SetCommPort(1); //選擇COM1口
m_Com.SetInBufferSize(1024); //設置輸入緩沖區的大小,單位是B
m_Com.SetOutBufferSize(1024); //設置輸出緩沖區的大小,單位是B
if(!m_Com_GetPortOpen())
m_Com.SetPortOpen(TRUE); //打開串口
m_Com.SetSettings(“9600,n,8,1”); //設置數據傳輸速波特率為9 600 b/s、
無校驗位、8位數據位、1位停止位
m_Com.SetRThreshold(15)。 //收到15個字節引發一個OnComm事件,
對應于傳感器的一組數據15個字節
當串口接收緩沖區接收到一組15個字節的數據后就自動產生一個OnComm事件,然后執行數據處理程序,數據格式轉換關鍵步驟的程序如下所示:
variant_inp=m_com1.GetInput(); //將GetInpput讀取串口數據放在變量variant_inp中
safearray_inp=variant_inp;//VARIANT型變量轉換為ColeSafeArray型變量
safearray_inp.GetElement(k,rxdata+k); //轉換為BYTE型數組
BYTE bt=*(char*)(rxdata+k);// 強制轉換為字符型
strtemp.Format(\"%02X \",bt);//將字符型的數轉化為CString型
sscanf(strtemp,\"%x\",a); //將CString型轉化為int型的變量存放在變量a中
這樣就轉化為可以按照一般的數學計算法則處理的數據類型。
具體如何處理數據與傳感器使用的具體情況有關系,如在大型設備的平臺調平系統中,應該將傾角值轉化為各個支撐平臺支腿的伸長量。
3 雙軸傾角傳感器在平臺調平系統中的應用
在機動測控裝備工作時需要一個基準平臺,要求平臺盡量水平。根據三點確定一個平面的基本原則,設計了3個機械支腿作為載車支撐,通過調節3個支腿的伸長量使基準平臺達到水平[2]。
傾角傳感器的安裝方式與3個支腿之間的位置關系如圖2所示。
圖2 傳感器安裝位置
圖2中A,B,C代表載車平臺3個支撐支腿,x,y軸代表傾角傳感器相互垂直的兩個軸。安裝時注意傾角傳感器的兩個垂直的x,y軸分別與AB、CD平行。使用Visual C++6.0編寫的調平軟件的人機界面如圖3所示。
圖3 調平軟件人機界面
該軟件主要編寫的程序有:
(1) 接收傾角傳感器的角度信號,在界面顯示角度大小;
(2) 然后根據角度信號判斷出3個支點的高點及另外2個支點與高點的差距并將差距換算為脈沖個數發送給驅動板驅動支腿運行;
(3) 發送支腿預支撐、支腿撤收命令給支腿驅動板。
4 實驗結果及分析
將該支撐調平系統應用于某型號大型機動測控設 備上,設備總質量為20 t,在室內水泥地基,無外界干擾情況下獲得的調平精度為x軸小于等于20″,y軸小于等于20″。并且放置在水泥地面上靜止10 h,傾角顯示無明顯變化。此試驗表明載車的調平精度較高,調平時間短,并且可以長時間保持穩定性。在室外微風情況下在柏油路面上實驗,打開光電設備自備的柴油發電機觀測傾角讀數的變化在20″左右,其動載荷穩定性滿足使用要求。支腿的總伸長量為0.20 m,所以每個支腿配備一個0.50 m的墊塊,支腿回收后距離地面為0.55 m。調整步進電機的驅動頻率,實驗測試表明,最佳的啟動頻率為3 200 Hz,啟動后能達到最大的脈沖頻率為5 000 Hz 。經過多次測試頂升加調平整個過程在120 s左右。
最后的試驗結果表明:使用該型號的雙軸傾角傳感器較以前使用的單軸傾角傳感器不論是在調平時間上還是在調平精度上都有很大的提高,如果使用實時監測實時調整的策略還能夠消除載車的低頻振動,大大提高了機動測控設備的機動性能。
5 結 語
經試驗驗證,本型號的傾角傳感器在使用時可靠性高、反應靈敏、抗干擾性能好。并且本文介紹XWQJ02-001此型號傳感器的開發方式是比較簡單實用,能夠很好地解決靶場機動測控裝備的調平問題,有利于裝備機動性能的發揮,提高任務完成效率,具有較大的實用價值和推廣意義。
參考文獻
[1]劉武發,蔣蓁,龔振邦.基于MEMS加速度傳感器的雙軸傾角計及其應用[J].傳感器技術,2005,24(3):86-89.
[2]高云國.大型光電設備載車三點液壓調平支撐的研究[J].光學精密工程,1996,4(3):106-110.
[3]黃維通.Visual C++面向對象與可視化程序設計[M].北京:清華大學出版社,2003.
[4]黃維通.Visual C++面向對象與可視化程序設計習題解析與編程實例[M].北京:清華大學出版社,2003.
[5]姜偉偉,高云國,馮棟彥,等.大型光電設備基準平面自動調平系統[J].光學精密工程, 2009,17(5):1039-1045.
[6]韓慧卿,徐海兵,王慧玲,等.新型雙向傾角傳感器的數據采集軟件開發[J].實驗技術與管理,2003,20(6):55-59.
[7]付本濤,胡雄鋒,鄭雪仁.大屏幕TFT-LCD內部接口技術研究[J].光學精密工程,2007,15(10):45-50.