張海鵬 李杰 張波 胡陳君
摘要:針對(duì)由傾角儀核心模塊MEMS加速度計(jì)的偏值和標(biāo)度因數(shù)會(huì)隨時(shí)間推移而產(chǎn)生變化,造成傾角儀傾角測(cè)量誤差變大、準(zhǔn)確度降低、對(duì)精密標(biāo)定設(shè)備依賴性強(qiáng)的問題,設(shè)計(jì)一種基于STM32結(jié)合橢球擬合算法的傾角儀現(xiàn)場(chǎng)快速標(biāo)定系統(tǒng)。該系統(tǒng)以STM32單片機(jī)為核心處理單元,內(nèi)嵌橢球擬合算法,修正MEMS加速度計(jì)的偏值和標(biāo)度因數(shù);配合自編程的上位機(jī)程序?qū)崿F(xiàn)對(duì)傾角儀的現(xiàn)場(chǎng)快速標(biāo)定,保證其測(cè)量準(zhǔn)確度。試驗(yàn)結(jié)果表明:該傾角儀現(xiàn)場(chǎng)快速標(biāo)定系統(tǒng)操作方便,標(biāo)定后降低測(cè)量誤差且使測(cè)量準(zhǔn)確度提高一個(gè)量級(jí),具有一定的工程應(yīng)用價(jià)值。
關(guān)鍵詞:傾角儀;MEMS傳感器;橢球擬合;現(xiàn)場(chǎng)快速標(biāo)定;單片機(jī)
中圖分類號(hào):TN108.7
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1674–5124(2019)02–0094–05
0 引言
隨著傾角傳感器的不斷發(fā)展,傾角測(cè)量?jī)x的研制也在不斷進(jìn)步。國(guó)外傾角儀的研制大多為測(cè)量范圍小、精度較低的儀器,如VTI公司生產(chǎn)的“SCA3100”型三軸數(shù)字傾角傳感器,全溫度范圍內(nèi)零點(diǎn)誤差為±1.72°;瑞士TESA公司的Clinobevel1電子傾斜儀,該儀器的測(cè)量范圍為±45°,測(cè)量誤差為±0.01°。國(guó)內(nèi)包括清華大學(xué)、天津大學(xué)等高校以及上海直川、西安精準(zhǔn)測(cè)控等傾角儀廠家也積極開展傾角儀的研究[1],但國(guó)內(nèi)在寬角度、寬溫度范圍、現(xiàn)場(chǎng)快速標(biāo)定、傾角測(cè)量系統(tǒng)準(zhǔn)確度的提高等方面的研究和應(yīng)用較少[2-3],所設(shè)計(jì)的傾角測(cè)量?jī)x目前普遍以加速度計(jì)為核心器件。但由于傳感器器件本身的特性,其偏值和標(biāo)度因數(shù)會(huì)隨時(shí)間的推移和溫度的變化而發(fā)生變化,所以需要定期利用高精密標(biāo)定設(shè)備進(jìn)行標(biāo)定,否則會(huì)產(chǎn)生較大的計(jì)算和測(cè)量誤差,嚴(yán)重影響測(cè)量結(jié)果[4-5]。傳統(tǒng)具有現(xiàn)場(chǎng)快速標(biāo)定功能的傾角儀一般采用180°翻轉(zhuǎn)法,但是對(duì)傾角儀工裝的上下表面平行度要求極高,無法滿足實(shí)際應(yīng)用需求。針對(duì)上述問題,本文設(shè)計(jì)一種傾角儀自標(biāo)定系統(tǒng),修正MEMS加速度計(jì)的偏值和標(biāo)度因數(shù)。該傾角儀可在使用前進(jìn)行現(xiàn)場(chǎng)快速標(biāo)定,對(duì)精密標(biāo)定設(shè)備依賴性低,對(duì)結(jié)構(gòu)工裝加工工藝要求低,簡(jiǎn)單易操作,可有效提高測(cè)量準(zhǔn)確度,實(shí)用性高。
1 傾角儀在線標(biāo)定原理
1.1 傾角測(cè)量原理
在傾角儀的組裝過程中,MEMS加速度計(jì)會(huì)存在一定的安裝誤差角,所以在標(biāo)定時(shí)需引入軸間交
叉耦合系數(shù),即三軸MEMS加速度計(jì)的靜態(tài)輸出模型[6-7]為
式中:i、j——x、y、z;
ui——i軸加速度計(jì)的輸出電壓,V;
kij——i軸方向有加速度輸入時(shí)影響j軸加速度計(jì)輸出的比例系數(shù),V/g;
ai——i軸方向?qū)嶋H輸入加速度的大小,g;
ui0——i軸加速度計(jì)在0g狀態(tài)時(shí)的電壓輸出,V。
當(dāng)物體傾角發(fā)生變化時(shí),相當(dāng)于物體繞其坐標(biāo)軸OX0Y0Z0旋轉(zhuǎn)3次得到OXYZ,如圖1所示。
首先繞Y0軸旋轉(zhuǎn)φ角到坐標(biāo)系OX1Y0Z1,再繞Z1軸旋轉(zhuǎn)θ角到坐標(biāo)系OXY1Z1,再繞X軸旋轉(zhuǎn)γ角到坐標(biāo)系OXYZ,用方向余弦矩陣[8]表示為
當(dāng)被測(cè)物體靜止時(shí),由式(2)、式(3)可得地理坐標(biāo)系下的加速度為
當(dāng)被測(cè)物體繞Z軸轉(zhuǎn)動(dòng)時(shí)得到俯仰角θ,繞X軸轉(zhuǎn)動(dòng)時(shí)為滾轉(zhuǎn)角γ。由式(4)可得:
俯仰角:
滾轉(zhuǎn)角:
1.2 橢球擬合原理
理想狀態(tài)下,傾角儀內(nèi)的MEMS加速度計(jì)是正交的,靜止放置時(shí)其加速度計(jì)測(cè)量所得的模值為定值,所以在三軸正交坐標(biāo)系中可構(gòu)成一個(gè)球體面[9],即:
但是在實(shí)際的應(yīng)用中,由于安裝誤差和不同傳感器性能參數(shù)的差異,使標(biāo)準(zhǔn)的球體面變化為橢球面[10]。橢球的曲面是一種特殊的二次曲面,假設(shè)曲面方程為
采用最小二乘法對(duì)測(cè)量數(shù)據(jù)樣本進(jìn)行橢球擬合,并添加約束條件對(duì)樣本中的雜質(zhì)點(diǎn)進(jìn)行剔除,擬合得到橢球方程的矢量式[11]為
曲面中心坐標(biāo)。由式(7)與式(9)展開可得:
由式(10)解得的kxx、kyy、kzz、u0,配合最近一次精密標(biāo)定設(shè)備標(biāo)定的kij,即通過修正MEMS加速度計(jì)的偏值和標(biāo)度因數(shù)完成對(duì)傾角儀的現(xiàn)場(chǎng)快速標(biāo)定。
2 系統(tǒng)實(shí)現(xiàn)
2.1 硬件平臺(tái)設(shè)計(jì)
系統(tǒng)結(jié)構(gòu)框圖如圖2所示,主控芯片采用ST公司Cortex-M4內(nèi)核32位單片機(jī)STM32F405RG,其內(nèi)部采用DSP指令集,168MHz的高速主頻,能滿足該系統(tǒng)數(shù)據(jù)處理和橢球擬合算法的實(shí)現(xiàn);信號(hào)調(diào)理模塊采用德州儀器公司的軌至軌運(yùn)算放大器OPA4340,增強(qiáng)模擬信號(hào)的驅(qū)動(dòng)能力;模數(shù)轉(zhuǎn)換芯片采用亞德諾半導(dǎo)體公司的AD7192;微機(jī)電加速度計(jì)采用SDI公司±2g的SDI1521;存儲(chǔ)芯片采用三星公司生產(chǎn)的1GbyteNAND型FLASH[12]。AD7192采用SPI總線協(xié)議與主控芯片進(jìn)行通信,時(shí)鐘線SCL、數(shù)據(jù)線MISO和MOSI分別與STM32的PB3,PB4,PB53個(gè)I/O口連接,數(shù)據(jù)轉(zhuǎn)換完畢后,數(shù)據(jù)線MISO被拉低,STM32通過寫入數(shù)據(jù)寄存器地址讀取數(shù)據(jù)。
2.2 軟件設(shè)計(jì)
軟件部分由下位機(jī)程序和上位機(jī)軟件兩個(gè)部分組成。
下位機(jī)程序流程框圖如圖3所示。正常工作時(shí),通過SPI接口控制AD7192對(duì)三軸加速度計(jì)輸出電壓進(jìn)行采樣、量化,將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)傳入STM32進(jìn)行解算[13],對(duì)解算結(jié)果進(jìn)行編幀后一部分通過串口將數(shù)據(jù)傳輸?shù)缴衔粰C(jī)進(jìn)行實(shí)時(shí)顯示,另一部分存儲(chǔ)于FLASH中作為備份,傳輸幀格式如表1所示。
當(dāng)上位機(jī)通過串口傳輸標(biāo)定命令給下位機(jī)時(shí),系統(tǒng)隨即從虛線框進(jìn)程中產(chǎn)生標(biāo)定中斷并進(jìn)入標(biāo)定程序,分別繞X、Y、Z軸旋轉(zhuǎn)6個(gè)位置,利用上位機(jī)發(fā)送標(biāo)定結(jié)束命令在中斷開始處進(jìn)行中斷返回,系統(tǒng)進(jìn)行數(shù)據(jù)處理,標(biāo)定結(jié)果存入STM32單片機(jī)的內(nèi)部FLASH中,再次計(jì)算角度時(shí)系統(tǒng)自動(dòng)讀取最近一次標(biāo)定的結(jié)果并代入進(jìn)行解算以保證系統(tǒng)處于計(jì)算誤差最小的狀態(tài)。
上位機(jī)軟件采用LabVIEW軟件編寫,通過串口控件向下位機(jī)發(fā)送標(biāo)定命令和對(duì)下位機(jī)傳輸?shù)臄?shù)據(jù)進(jìn)行讀取,通過判幀和浮點(diǎn)數(shù)轉(zhuǎn)換進(jìn)行數(shù)據(jù)解析并存儲(chǔ)解析數(shù)據(jù),通過波形顯示和3D控件對(duì)角度進(jìn)行實(shí)時(shí)顯示;需要標(biāo)定時(shí),可通過按鈕控件發(fā)送相關(guān)命令。如圖4所示。
3 系統(tǒng)驗(yàn)證
系統(tǒng)主要是能夠修正MEMS加速度計(jì)的偏值和標(biāo)度因數(shù)以實(shí)現(xiàn)傾角儀的現(xiàn)場(chǎng)快速標(biāo)定功能。由三軸MEMS加速度計(jì)靜態(tài)模型式(1)、式(5)、式(6)可得俯仰角θ與滾轉(zhuǎn)角γ,分別為
通過現(xiàn)場(chǎng)快速標(biāo)定,將MEMS加速度計(jì)偏值u0與標(biāo)度因數(shù)K與傾角儀俯仰角θ、滾轉(zhuǎn)角γ聯(lián)系起來,從而將MEMS加速度計(jì)偏值u0與標(biāo)度因數(shù)K值的修正與準(zhǔn)確度的提高在傾角儀實(shí)時(shí)顯示的角度值中表現(xiàn)出來。
在0°~90°間以15°為間隔均勻選取0°、15°、30°、45°、60°、75°、90°角度位置,用于在高精度轉(zhuǎn)臺(tái)標(biāo)準(zhǔn)角度位置下對(duì)傾角儀輸出角度進(jìn)行對(duì)比、驗(yàn)證與分析。
驗(yàn)證步驟如下:
1)如圖5所示,將長(zhǎng)期未標(biāo)定的傾角儀安裝到高精度轉(zhuǎn)臺(tái),設(shè)置轉(zhuǎn)臺(tái)中框轉(zhuǎn)動(dòng)90°,使系統(tǒng)X軸朝上,Y軸朝里,Z軸朝右,在位置模式下,使中框(繞Z軸)以選取角度位置依次轉(zhuǎn)動(dòng),每個(gè)位置停留20s,以通過配套上位機(jī)對(duì)傾角儀輸出角度進(jìn)行顯示、存儲(chǔ)與記錄。
2)將步驟1)使用后的傾角儀配合上位機(jī)軟件進(jìn)行現(xiàn)場(chǎng)快速標(biāo)定后,安裝到高精度轉(zhuǎn)臺(tái)上,重復(fù)步驟1)角度位置轉(zhuǎn)動(dòng)過程,通過配套上位機(jī)顯示、記錄并存儲(chǔ)現(xiàn)場(chǎng)快速標(biāo)定后傾角儀輸出角度。
3)將步驟2)使用后的傾角儀用高精度轉(zhuǎn)臺(tái)標(biāo)定后,安裝到轉(zhuǎn)臺(tái)上重復(fù)步驟1)角度位置轉(zhuǎn)動(dòng)過程,通過配套上位機(jī)顯示、記錄并存儲(chǔ)高精度轉(zhuǎn)臺(tái)標(biāo)定后傾角儀輸出角度。
4)將高精度轉(zhuǎn)臺(tái)標(biāo)準(zhǔn)角度、長(zhǎng)期未標(biāo)定傾角儀
輸出角度、快速標(biāo)定后傾角儀輸出角度、高精度轉(zhuǎn)臺(tái)標(biāo)定后傾角儀輸出角度做對(duì)比如表2所示。
5)將長(zhǎng)期未標(biāo)定傾角儀輸出角度、快速標(biāo)定后傾角儀輸出角度、高精度轉(zhuǎn)臺(tái)標(biāo)定后傾角儀輸出角度對(duì)比轉(zhuǎn)臺(tái)標(biāo)準(zhǔn)位置角度做角度誤差,利用Matlab畫圖對(duì)比如圖6所示。
由圖、表可知,隨時(shí)間的推移,長(zhǎng)期未標(biāo)定傾角儀內(nèi)部MEMS加速度計(jì)的偏值和標(biāo)度因數(shù)都發(fā)生了一定的變化,傾角儀角度測(cè)量有明顯誤差;具有修正MEMS加速度計(jì)偏值和標(biāo)度因數(shù)功能的傾角儀可以在每次使用前進(jìn)行快速標(biāo)定,可使測(cè)量誤差降低一個(gè)量級(jí),減小了傾角儀隨時(shí)間的推移而產(chǎn)生的測(cè)量誤差。
實(shí)際應(yīng)用中,組成傾角儀的MEMS器件其偏值和標(biāo)度因數(shù)會(huì)隨時(shí)間的變化而產(chǎn)生較大的誤差,而安裝誤差幾乎不變,故具有現(xiàn)場(chǎng)快速標(biāo)定功能的傾角儀只標(biāo)定MEMS器件的偏值和標(biāo)度因數(shù)。且由表2可知,以轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)的實(shí)際角度為參考,具有現(xiàn)場(chǎng)快速標(biāo)定功能的傾角儀在使用前進(jìn)行快速標(biāo)定,使所測(cè)角度值較接近轉(zhuǎn)臺(tái)顯示角度值,明顯提高傾角儀角度測(cè)量的準(zhǔn)確性和精確性。
4 結(jié)束語
本文以STM32結(jié)合橢球擬合算法配合自編程上位機(jī)程序?qū)崿F(xiàn)對(duì)傾角儀核心器件MEMS加速度計(jì)偏值和標(biāo)度因數(shù)的現(xiàn)場(chǎng)快速修正,解決了傾角儀隨時(shí)間推移而導(dǎo)致測(cè)量準(zhǔn)確度降低的問題,該方法對(duì)精密的標(biāo)定設(shè)備依賴性低,操作方法簡(jiǎn)單。標(biāo)定后測(cè)量準(zhǔn)確度與轉(zhuǎn)臺(tái)精確標(biāo)定準(zhǔn)確度相當(dāng),適合在沒有高精度標(biāo)定設(shè)備的情況下進(jìn)行現(xiàn)場(chǎng)快速標(biāo)定,具有一定的工程應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]劉偉.基于微慣性傳感器的傾角測(cè)量系統(tǒng)研究[D].太原:中北大學(xué),2017
[2]沙承賢,李杰,翟成瑞,等.基于MEMS加速度傳感器的數(shù)字傾角儀設(shè)計(jì)[J].傳感器與微系統(tǒng),2010,29(6):134-136.
[3]譚志斌,趙祚喜,張霖,等.MEMS慣性傳感器的三軸轉(zhuǎn)臺(tái)實(shí)驗(yàn)研究[J].電子測(cè)量技術(shù),2012,35(4):110-115.
[4]劉俊,石云波,李杰.微慣性技術(shù)[M].北京:電子工業(yè)出版社,2005:159-163.
[5]李哲.基于MEMS傳感器技術(shù)的數(shù)字式傾角儀的研究[D].天津:天津大學(xué),2008.
[6]李杰,田曉春,范玉寶,等.基于橢球擬合的彈載MIMU現(xiàn)場(chǎng)快速標(biāo)定技術(shù)[J].彈箭與制導(dǎo)學(xué)報(bào),2013,33(1):10-12.
[7]李榮冰,劉建業(yè),孫永榮.MEMS-IMU構(gòu)型設(shè)計(jì)及慣性器件安裝誤差標(biāo)定方法[J].中國(guó)慣性技術(shù)學(xué)報(bào),2007(5):526-529.
[8]馬洪連,鄭保重,王偉.基于MEMS技術(shù)傾角測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2005,26(8):185-187.
[9]范玉寶,李杰,張曉明,等.基于橢球擬合的微慣性測(cè)量組合現(xiàn)場(chǎng)快速標(biāo)定方法[J].傳感技術(shù)學(xué)報(bào),2011,24(11):1547-1550.
[10]張海鷹,何波賢,鄭鐵山,等.基于橢球擬合的三軸加速度計(jì)誤差補(bǔ)償方法[J].傳感器世界,2015,21(6):7-10.
[11]朱建良,王興全,吳盤龍,等.基于橢球曲面擬合的三維磁羅盤誤差補(bǔ)償算法[J].中國(guó)慣性技術(shù)學(xué)報(bào),2012,20(5):562-566.
[12]張勇,董浩斌.基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012,38(10):72-74.
[13]王晨輝,吳悅,楊凱.基于STM32的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J/OL].電子技術(shù)應(yīng)用,2016,42(1):51-53.