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