吳曉鵬,趙祚喜,黃 健,馮賢超
(華南農(nóng)業(yè)大學(xué) 南方農(nóng)業(yè)機(jī)械與裝備關(guān)鍵技術(shù)省部共建教育部重點(diǎn)實(shí)驗(yàn)室,廣東 廣州510642)
微機(jī)電傳感器(MEMS)慣性傳感器在近幾年來高速發(fā)展并得到了廣泛的應(yīng)用[1]。微慣性傳感器作為一種重要的MEMS,由微型陀螺儀、微型加速度計(jì)、專用集成電路(ASIC)、嵌入式微處理器及相應(yīng)的軟件組成,輸出可以包含角速度、加速度、姿態(tài)等多種信息,并且其體積小、集成度高、使用方便,在軍民等領(lǐng)域都得到廣泛應(yīng)用。
CRS10是Silicon SENSING公司的一款高精度的MEMS單軸陀螺儀,它是數(shù)字式輸出,輸出傳感器運(yùn)動過程的角速度和傳感器工作的環(huán)境溫度。
在轉(zhuǎn)角測量方面,傳統(tǒng)的方法是使用角度傳感器,測量起始時間的角度值,然后相比較得到轉(zhuǎn)過的角度[2-3]。在此,根據(jù)運(yùn)動學(xué)原理,應(yīng)用CRS10陀螺儀,設(shè)計(jì)了一個角速度和轉(zhuǎn)角測量系統(tǒng),系統(tǒng)配置有數(shù)據(jù)輸出接口和液晶顯示界面。
CRS10是一款高精度的數(shù)字角速率陀螺儀,集成度高,較寬的工作溫度 (-40~80℃),高帶寬和寬泛的頻率范圍,極低的角速率隨機(jī)漂移,標(biāo)準(zhǔn)5 V電壓供電,SPI數(shù)據(jù)輸出和模擬端口輸出2種輸出方式滿足各種應(yīng)用不同需求。在CRS10的默認(rèn)配置是為 75 Hz帶寬,±375(°)/s角速率測量訪問。用戶可根據(jù)需要,設(shè)置其角速率測量范圍和帶寬[4]。例如可設(shè)置±75 (°)/s的測量范圍,也可設(shè)置帶寬 5、10、25、40、50、60 和 100 Hz。
CRS10采用23 mm×17 mm×10 mm封裝,無論是垂直或可用水平支架可表面安裝在PCB上。其體積小,集成度高,易于安裝??蓮V泛應(yīng)用于汽車偏航率測定、制導(dǎo)和控制、平臺穩(wěn)定、圖像穩(wěn)定、慣性測量裝置、機(jī)器人和導(dǎo)航等領(lǐng)域。
圖 1(a)和圖 1(b)分別是 CRS10的實(shí)物圖和功能框圖[4]。 由圖 1(b)可知,在 CRS10中,MEMS陀螺儀先感知外界信號,并將信號輸出給數(shù)據(jù)采集專用集成電路,數(shù)據(jù)采集電路將處理后的信號輸出給微控制器。微控制器將得到的數(shù)據(jù)結(jié)果存入輸出寄存器。通過SPI總線,外部SPI主控器件向CRS10發(fā)送控制指令或者讀取。CRS10內(nèi)部設(shè)置有控制寄存器,寄存器都有默認(rèn)的值,通過對控制寄存器的修改寫操作,可以改變角速率測量范圍頻率和輸出帶寬等方面的控制效果。
圖1CRS10的實(shí)物圖和功能框圖Fig.1 Real object and functional block diagram of CRS10
CRS10測量的是平行于PCB平面的角速率。CLK_IN,SPI_IN,SPI_OUT和引腳是傳感器的 SPI接口,引腳是傳感器的復(fù)位引腳。ANL_OUT是角速率的模擬輸出端口。
CRS10的數(shù)字輸出部分還包含其工作環(huán)境的溫度值。假如在無償條件下,陀螺儀性能不佳,那么可通過使用這個溫度進(jìn)行建模和補(bǔ)償。
1.2.1CRS10硬件連接
CRS10的 SPI接口[5]與各種微處理器SPI主控制器件接線如圖2所示。SPI總線的時鐘頻率最高可達(dá)到2.5 MHz,建議采用1 MHz。
圖2CRS10 SPI總線連接圖Fig.2 CRS10 SPI connection diagram
1.2.2CRS10數(shù)據(jù)讀寫與數(shù)據(jù)處理
通過SPI總線,可以對CRS10進(jìn)行讀寫操作??梢愿鶕?jù)設(shè)計(jì)要求設(shè)置控制寄存器的值達(dá)到控制效果,也可以使用寄存器的默認(rèn)設(shè)置??刂浦噶钣?個字節(jié)狀態(tài)位,4個字節(jié)的數(shù)據(jù)位和1個字節(jié)的校驗(yàn)位共6個字節(jié)組成。向CRS10寫控制指令時,只要將指令串通過SPI總線發(fā)送給CRS10即可。
讀取CRS10輸出的數(shù)據(jù)時,從總線上讀取到的是6個字節(jié)的數(shù)據(jù),依次是:1個字節(jié)的狀態(tài)位,2個字節(jié)的角速率數(shù)據(jù)位,2個字節(jié)的溫度數(shù)據(jù)位和1個字節(jié)的校驗(yàn)位。
角速率值(RATE_OUT)和溫度值(TEMP_OUT)輸出的數(shù)據(jù)格式均為16位二進(jìn)制的補(bǔ)碼,可以使用式(1)進(jìn)行解算:
式中,DATA_VALUE為寄存器的輸出數(shù)據(jù),VALUE為轉(zhuǎn)換后實(shí)際的測量量的值,Scale為寄存器值最小值代表的最小單位,n為對應(yīng)寄存器的數(shù)據(jù)位數(shù)。
在這里有一個小技巧,由于數(shù)據(jù)是16位二進(jìn)制補(bǔ)碼類型,可以使用數(shù)據(jù)類型為整型(int)存儲數(shù)據(jù),這樣亦可以省略其中的數(shù)據(jù)處理過程。
這里給出了基于LMS8962與CRS10的傾角測量系統(tǒng)的原理與設(shè)計(jì)。
CRS10是測量其所在PCB平面的角速率,根據(jù)運(yùn)動學(xué)原理,角度等于角速率在時間上的積分,因此,可以得到轉(zhuǎn)角與角速率的關(guān)系:
式中,θ是當(dāng)前角度,θ0是運(yùn)動初始時的初始轉(zhuǎn)角,w為角速率,t0為初始時刻,t為當(dāng)前時刻。
在數(shù)字系統(tǒng)中,采用其離散型方程:
式中,θ、θ0、w 的含義與式(2)相同,Δt表示采樣數(shù)據(jù)的時間間隔。
根據(jù)上述原理,利用CRS10設(shè)計(jì)測量轉(zhuǎn)角系統(tǒng)。只要保證采樣頻率夠快,轉(zhuǎn)角平臺穩(wěn)定,噪聲較小即可。
使用LMS8962與CRS10搭建成傾角測量系統(tǒng),LMS8962是一款高性能的32位Cortex-M3內(nèi)核微處理器,它有豐富的片內(nèi)外設(shè),如模數(shù)轉(zhuǎn)換(ADC),PWM,CAN和串行總線(SSI)等,功能強(qiáng)大,易于集成。
LMS8962與CRS10組成的角速率和轉(zhuǎn)角測量系統(tǒng)硬件設(shè)計(jì)框圖如圖3所示。LMS8962通過SSI總線與CRS10進(jìn)行通信。將采集到的數(shù)據(jù)存儲到SD卡中,將解算得到的結(jié)果實(shí)時在液晶顯示模塊上顯示。SD卡的數(shù)據(jù)存儲為將來的數(shù)據(jù)分析提供一個很好的數(shù)據(jù)采集平臺。SSI是串行通信總線,它兼容 SPI總線[5]。
圖3硬件系統(tǒng)框圖Fig.3 Hardware system diagram
圖4是系統(tǒng)的軟件設(shè)計(jì)流程。程序啟動進(jìn)入系統(tǒng)初始化,接下來向CRS10寫控制指令,以設(shè)置CRS10工作在需求的模式下,然后讀取返回的數(shù)據(jù)并進(jìn)行解算,最后通過存儲數(shù)據(jù)到SD卡中并在液晶模塊中顯示。
圖4系統(tǒng)軟件流程Fig.4 Software flow diagram
為了驗(yàn)證系統(tǒng)測量角速率和轉(zhuǎn)角的效果,采用姿態(tài)與航向參考系統(tǒng)(attitude and heading reference system)AHRS500GA-226傳感器作為參考進(jìn)行測試。AHRS500GA-226是Crossbow Technology公司的一款高精度的IMU[6]。將兩系統(tǒng)固定安裝在同一平臺上,使CRS10測量的角速率平面與AHRS的YAW平面 (航向角速率和航向角測量平面)相一致。比較兩個系統(tǒng)輸出的角速率和角度數(shù)據(jù),得到如圖5所示的結(jié)果。
圖5AHRS和CRS10測量結(jié)果對比Fig.5 AHRS and CRS10 results comparison
由圖中 5可看出,CRS10所測量的角速率與AHRS測量得到的角速率運(yùn)動的趨勢一致,AHRS的結(jié)果比較平滑,CRS10有噪聲,局部陡峭。在靜止和小角速率運(yùn)動時兩者測量結(jié)果基本重合,誤差在0.1(°)/s左右。在大角度運(yùn)動和急速轉(zhuǎn)動時,兩者的重合效果不佳,誤差較大,有達(dá)到7(°)/s。這是由于AHRS得到的數(shù)據(jù)是經(jīng)過濾波和數(shù)據(jù)融合處理的。角度測量的趨勢一致,在局部重合的比較好。但角度測量的誤差比較大。原因在于本文使用的角度計(jì)算方法:1)使用的是原始的角速率數(shù)據(jù),角速率沒有經(jīng)過濾波處理,噪聲較大,積分疊加到角度上得到的偏差亦較大;2)使用的是簡單的積分求角度,沒有補(bǔ)償,沒有平滑。綜上可知,角速率測量效果比較好,角度測量可行,但算法有待提高。
基于LMS8962 ARM微處理器與CRS10陀螺儀的角速率與轉(zhuǎn)角測量系統(tǒng)角速率測量誤差平均為0.550(°)/s,最大達(dá)到7(°)/s,在小角速率測量時效果比較好。轉(zhuǎn)角測量誤差平均誤差為2.5°,測量精度有待進(jìn)一步提高。造成角度測量誤差的原因主要是沒有對得到的角速率進(jìn)行濾波和數(shù)據(jù)的融合。濾波算法和融合算法的使用和完善是該系統(tǒng)今后要完善的主要工作。從測量的結(jié)果來看,只要做好濾波和融合的處理,提高系統(tǒng)的精確性是可行的。
[1]王巍.MEMS慣性儀表技術(shù)發(fā)展趨勢[J].導(dǎo)彈與航天運(yùn)載技術(shù),2009(3):23-28.WANG Wei.Development of MEMS inertial instrument technology[J].Missiles and Space Vehciles,2009(3):23-28.
[2]吳曉鵬.東方紅拖拉機(jī)自動轉(zhuǎn)向控制系統(tǒng)設(shè)計(jì)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2009,40(Z1):1-5.WU Xiao-peng.Development of automatic steering control system based on Dongfanghong Tractor[J].Transactions of the Chinese Society forAgriculturalMachinery,2009,40(Z1):1-5.
[3]胡煉.插秧機(jī)電控操作機(jī)構(gòu)和控制算法設(shè)計(jì)[J].農(nóng)業(yè)工程學(xué)報(bào),2009,25(4):118-122.HU Lian.Design of electronic control device and control algorithm for rice transplanter[J].Transactions of the Chinese Society of Agricultural Engineering,2009,25(4):118-122.
[4]SILICON SENSING.CRS10 digital rate Gyro product specification[EB/OL].(2007-11)[2010-1-10].http://www.siliconsensing.com/media/pdf/6/a/CRS10-01-0100-121.3.PS.pdf.
[5]Luminary Micro,Inc.LM3S8962 microcontroller date sheet[DB/OL].(2010-01-19)[2010-01-22].http://www.luminarymicro.com.
[6]Crossbow Technology, Inc.AHRS500GA user’s manual:Revision B[Z].USA,2007.