來源:電子設計工程,作者:吳曉鵬;趙祚喜;黃健;馮賢超
微機電傳感器(MEMS)慣性傳感器在近幾年來高速發展并得到了廣泛的應用。微慣性傳感器作為一種重要的MEMS,由微型陀螺儀、微型加速度計、專用集成電路(ASIC)、嵌入式微處理器及相應的軟件組成,輸出可以包含角速度、加速度、姿態等多種信息,并且其體積小、集成度高、使用方便,在軍民等領域都得到廣泛應用。
CRS10是Silicon SENSING公司的一款高精度的MEMS單軸陀螺儀,它是數字式輸出,輸出傳感器運動過程的角速度和傳感器工作的環境溫度。
在轉角測量方面,傳統的方法是使用角度傳感器,測量起始時間的角度值,然后相比較得到轉過的角度。在此,根據運動學原理,應用CRSl0陀螺儀,設計了一個角速度和轉角測量系統,系統配置有數據輸出接口和液晶顯示界面。
1 CRS10功能介紹及使用
CRSl0是一款高精度的數字角速率陀螺儀,集成度高,較寬的工作溫度(-40~80℃),高帶寬和寬泛的頻率范圍,極低的角速率隨機漂移,標準5 V電壓供電,SPI數據輸出和模擬端口輸出2種輸出方式滿足各種應用不同需求。在CRSl0的默認配置是為75 Hz帶寬,±375(°)/s角速率測量訪問。用戶可根據需要,設置其角速率測量范圍和帶寬。例如可設置±75(°)/s的測量范圍,也可設置帶寬5、10、25、40、50、60和100 Hz。
CRSl0采用23 mmxl7 mmxl0 mm封裝。無論是垂直或可用水平支架可表面安裝在PCB上。其體積小,集成度高,易于安裝。可廣泛應用于汽車偏航率測定、制導和控制、平臺穩定、圖像穩定、慣性測量裝置、機器人和導航等領域。
1.1 CRSl0功能介紹
圖1(a)和圖l(b)分別是CRSl0的實物圖和功能框圖。由圖l(b)可知,在CRSl0中,MEMS陀螺儀先感知外界信號,并將信號輸出給數據采集專用集成電路,數據采集電路將處理后的信號輸出給微控制器。微控制器將得到的數據結果存入輸出寄存器。通過SPI總線,外部SPI主控器件向CRSl0發送控制指令或者讀取。CRSl0內部設置有控制寄存器,寄存器都有默認的值,通過對控制寄存器的修改寫操作,可以改變角速率測量范圍頻率和輸出帶寬等方面的控制效果。
CRSl0測量的是平行于PCB平面的角速率。CLK_N,SPI_IN,SPI_OUT和引腳是傳感器的SPI接口,引腳是傳感器的復位引腳。A-NL_OUT是角速率的模擬輸出端口。
CRSl0的數字輸出部分還包含其工作環境的溫度值。假如在無償條件下,陀螺儀性能不佳,那么可通過使用這個溫度進行建模和補償。
1.2 CRS10使用方法
1.2.1 CRS1O硬件建接
CRSl0的SPI接口與各種微處理器SPI主控制器件接線如圖2所示。SPI總線的時鐘頻率最高可達到2.5 MHz,建議采用1 MHz。
1.2.2 CRSl0數據讀寫與數據處理
通過SPI總線,可以對CRSl0進行讀寫操作。可以根據設計要求設置控制寄存器的值達到控制效果,也可以使用寄存器的默認設置。控制指令由1個字節狀態位,4個字節的數據位和1個字節的校驗位共6個字節組成。向CRSl0寫控制指令時,只要將指令串通過SPI總線發送給CRSl0即可。
讀取CRSl0輸出的數據時,從總線上讀取到的是6個字節的數據,依次是:1個字節的狀態位,2個字節的角速率數據位,2個字節的溫度數據位和1個字節的校驗位。
角速率值(RATE_OUT)和溫度值(TEMP_OUT)輸出的數據格式均為16位二進制的補碼,可以使用式(1)進行解算:
式中,DATA_VALUE為寄存器的輸出數據,VALUE為轉換后實際的測量量的值,Scale為寄存器值最小值代表的最小單位,n為對應寄存器的數據位數。
在這里有一個小技巧,由于數據是16位二進制補碼類型,可以使用數據類型為整型(int)存儲數據,這樣亦可以省略其中的數據處理過程。
2 角速率和轉角測量系統設計
這里給出了基于LMS8962與CRSl0的傾角測量系統的原理與設計。
2.1 轉角測量原理
CRSl0是測量其所在PCB平面的角速率。根據運動學原理,角度等于角速率在時間上的積分,因此,可以得到轉角與角速率的關系:
式中,θ是當前角度,θo是運動初始時的初始轉角,ω為角速率,to為初始時刻,t為當前時刻。
在數字系統中,采用其離散型方程:
式中,θ、θo、ω的含義與式(2)相同,△t表示采樣數據的時間間隔。
根據上述原理,利用CRSl0設計測量轉角系統。只要保證采樣頻率夠快,轉角平臺穩定,噪聲較小即可。[page]
2.2 硬件電路設計
使用LMS8962與CRSl0搭建成傾角測量系統,LMS8962是一款高性能的32位Cortex-M3內核微處理器。它有豐富的片內外設,如模數轉換(ADC),PWM,CAN和串行總線(SSI)等,功能強大,易于集成。
LMS8962與CRSl0組成的角速率和轉角測量系統硬件設計框圖如圖3所示。LMS8962通過SSI總線與CRSIO進行通信。將采集到的數據存儲到SD卡中,將解算得到的結果實時在液晶顯示模塊上顯示。SD卡的數據存儲為將來的數據分析提供一個很好的數據采集平臺。SSI是串行通信總線,它兼容SPI總線。
2.3 軟件設計
圖4是系統的軟件設計流程。程序啟動進入系統初始化,接下來向CRSl0寫控制指令,以設置CRSl0工作在需求的模式下,然后讀取返回的數據并進行解算,最后通過存儲數據到SD卡中并在液晶模塊中顯示。
3 試驗結果
為了驗證系統測量角速率和轉角的效果,采用姿態與航向參考系統(attitude and heading reference system)AHRS500GA-226傳感器作為參考進行測試。AHRS500GA-226是Crossbow Technology公司的一款高精度的IMU。將兩系統固定安裝在同一平臺上,使CRSl0測量的角速率平面與AHRS的YAW平面(航向角速率和航向角測量平面)相一致。比較兩個系統輸出的角速率和角度數據,得到如圖5所示的結果。
由圖中5可看出,CRSl0所測量的角速率與AHRS測量得到的角速率運動的趨勢一致,AHRS的結果比較平滑。CRSl0有噪聲,局部陡峭。在靜止和小角速率運動時兩者測量結果基本重合,誤差在0.1(°)/s左右。在大角度運動和急速轉動時,兩者的重合效果不佳,誤差較大,有達到7(°)/s。這是由于AHRS得到的數據是經過濾波和數據融合處理的。角度測量的趨勢一致,在局部重合的比較好。但角度測量的誤差比較大。原因在于本文使用的角度計算方法:1)使用的是原始的角速率數據,角速率沒有經過濾波處理,噪聲較大,積分疊加到角度上得到的偏差亦較大;2)使用的是簡單的積分求角度,沒有補償,沒有平滑。綜上可知,角速率測量效果比較好,角度測量可行,但算法有待提高。
4 結論
基于LMS8962 ARM微處理器與CRSl0陀螺儀的角速率與轉角測量系統角速率測量誤差平均為0.550(°)/s,最大達到7(°)/s,在小角速率測量時效果比較好。轉角測量誤差平均誤差為2.5°,測量精度有待進一步提高。造成角度測量誤差的原因主要是沒有對得到的角速率進行濾波和數據的融合。濾波算法和融合算法的使用和完善是該系統今后要完善的主要工作。從測量的結果來看,只要做好濾波和融合的處理,提高系統的精確性是可行的。
責任編輯:gt
-
寄存器
+關注
關注
31文章
5363瀏覽量
121172 -
陀螺儀
+關注
關注
44文章
792瀏覽量
98980 -
測量系統
+關注
關注
2文章
541瀏覽量
41536
發布評論請先 登錄
相關推薦
評論