朱辰霄,顏陸勝,劉東滟,徐祥
(蘇州大學 電子信息學院,江蘇蘇州,215000)
目前國家高度重視自主化科技的發展,而慣性導航是目前國內緊缺的高新技術,市場需求多、發展潛力大。當今信息時代,在很多的行業和領域里,位置、姿態、運動信息的獲取是極為重要的。隨著科學技術的不斷發展,導航定位系統的種類越來越多,常見的有衛星導航系統、多普勒測速儀、地圖匹配、慣性導航系統等。隨著慣性導航技術的不斷發展,捷聯式慣性導航系統以其結構簡單、穩定性高等優點,成為當前慣性導航系統的主要研究方向。
慣性傳感器包括工業級和消費級。工業級慣性傳感器一般都精度較好、穩定性較高,但是,我國目前并沒有非常成熟的技術去制造高精度的工業級慣性傳感器,而進口的高精度工業級慣性傳感器,其核心產品對我國禁運的,并且價格昂貴。MEMS慣性傳感器雖然具有微型化、成本低等優點,但是單一的消費級MEMS慣性傳感器存在測量誤差大、穩定性差等缺陷,這會導致MEMS慣性導航系統獲取的姿態、運動數據精度差,無法滿足高新產業的發展需求。
因此研究價格低、精度高、穩定性好的微慣性測量系統是十分有必要的。本文設計的陣列式微慣性測量系統,通過將32個MEMS慣性傳感器的數據并行采集,然后對數據進行均值濾波處理。使得該設計系統采集到的數據延遲很小,且有很高的便攜性和性價比。通過對該系統的研究設計,不僅能提高消費級MEMS微慣性測量單元的測量精度,還可以促進我國慣性導航系統技術的發展,對于提升我國在 MEMS 微慣性傳感器的研究及其構成的上游導航系統的研究,具有十分重要的意義。
慣性測量單元(IMU)全稱Inertial Measurement Unit,采用慣性定律原理,可以檢測物體的線性加速度、角速度,并將這些物理量轉換成電信號。最基礎的慣性傳感器包括加速度計和角速度計(陀螺儀),他們是慣性系統的核心部件,是影響慣性系統性能的主要因素。利用牛頓力學定律,由加速度可以積分得出速度、距離,角速度可以積分得到轉過的角度,結合定位、定姿算法,通過慣性傳感器就可以得到運動物體的位置、姿態等信息,從而可以應用在智慧農業、無人機的姿態控制、可穿戴設備檢測人體運動、無人駕駛等領域。
本文設計的陣列式微慣性測量系統的硬件結構圖見圖1。硬件結構主要包含MEMS傳感器陣列模塊、微處理器模塊、并行數據總線。電源模塊為所有系統提供電源。MEMS傳感器陣列模塊負責感知環境,采集當前的加速度、角速度數據;微處理器負責將慣性傳感器采集到的數據進行預處理,然后通過均值濾波計算,處理得到當前被測物體的準確慣性信息,處理后的數據在微處理器中保存;并行數據總線負責實現多個傳感器數據同步并行采集。最終的位置、姿態數據采用串口通信傳輸到計算機,計算機可以對采集到的陣列傳感器數據顯示和監測。

圖1 系統硬件結構圖
處理器采用STM32H7最小系統電路,該微處理器的核心是高性能的ARM Cortex-M4 32位的RISC,STM32H7有較強的數據處理能力頻率可以達到400MHz,其也有多外設接口,這給功能擴展提供了很大的便利,同時具有很好的兼容性,可以支持所有的單精度數據處理指令。
本文設計的慣性傳感器陣列采用消費級慣性傳感器ICM20948。一個ICM20948芯片裝有一個3軸陀螺儀、一個3軸加速度計和一個數字運動處理器。ICM20948在運動時可以進行校準,增強的FSYNC功能可改善EIS等應用的時序,能在保證低成本的同時為消費者提供最佳運動性能。本文設計了IIC和SPI雙通信協議,以此增加設計的兼容性。
采用IIC通信的ICM20948模塊設計的外部電路如圖2上方所示。其中32個傳感器共用同一個 SCL同步時鐘線,32個傳感器分別連接一條SDA傳輸數據線到單片機的I/O口,記做SDA00~SDA31。

圖2 IIC通信與SPI通信的ICM20948電路
使用IIC 通信協議一定要注意的是 SCL 同步時鐘線和 SDA 傳輸數據線都要連接上拉電阻,以此來提高IIC總線的驅動能力。
另一種為采用SPI通信的傳感器陣列系統,其單個傳感器外部電路如圖2下方所示。32個傳感器共用一個SCLK時鐘信號線,MOSI為單輸出控制命令信號線,nCS為片選控制信號線,MISOx為多輸入數據信號線。
在兩種通信模式的工作模式對比上看來,SPI是4根數據線全雙工,IIC為半單工(2 線)。 IIC并行數據采集是針對只有IIC通信的微慣性傳感器而設計的,但是由于IIC通信需要獲取數據總線上的應答信號, 這使得在并行數據采集時容易出現誤檢測的問題。而且,IIC通信速率較低,在進行陣列式傳感器配置時,采樣頻率會受到限制,不利于系統性能的提升。因此,當微慣性傳感器支持SPI通信時,可以采用SPI通信設計單輸出多輸入并行數據采集方案,實現高采樣率、穩定的并行數據采集。
并行數據總線負責實現多個傳感器數據進行同步并行采集,然后將測量得到的數據傳入微處理器模塊進行處理,例如均值濾波、Kalman濾波,以此將數據處理得到穩定性更高的數據。
之所以要設計并行數據總線,是因為采集、處理定位數據的延遲時間是衡量實時定位系統的一個重要標準之一。慣性實時定位系統的應用方向對姿態定位數據有著延遲小、精度高的要求,如果不能快速對定位信息做出判斷,輕則影響系統實時定位準確性,重則造成事故。為了增加拓展性,廣泛參考了市面上的慣性傳感器通信協議,設計了SPI/IIC雙通信并行數據采集總線,這樣極大的增加了系統對慣性傳感器的兼容性,同時配合高性能的主控芯片,將多個傳感器按照一定的方式排列,使這些傳感器同步運作。
圖3是本作品方案并行數據總線方案圖。圖中左上方為半雙工,IIC的SDA線需要交替方向通信,右上方為全雙工,SPI 的 MOSI 和 MISO 互不影響。設計里讓所有的 MEMS 傳感器共享同一條公共的時鐘線,這樣主控芯片可以同步發送相同的工作命令給各個傳感器,確保陣列內的各個傳感器工作狀態相同,所有的MEMS傳感器的數據線連接到主控芯片的不同的 I/O 端口,當采集到數據后,各個傳感器就會并行同步返回數據,這樣不存在傳輸排隊延時。

圖3 并行數據總線通信圖
陣列式微慣性測量系統的板載程序是基于單片機專業軟件 Keil uVision5 開發環境設計,使用 C/C++語言完成開發,主要包含底層硬件驅動、傳感器標定、通信與編碼等部分。程序運行流程如圖4所示。

圖4 程序運行示意圖
程序運行開始后,首先進行系統初始化,這部分內容包括硬件外設和定位算法的初始化配置;然后,在主循環中,微處理器發出命令,同步控制各個慣性傳感器讀取加速度(g)、角速度(°/s)和磁力(uT)數據;等到數據測量完成后,微處理器就會通過并行數據總線無延遲地采集數據;隨后數據進入預處理環節,微處理器將數據整理,進行多傳感器數據的標定和多傳感器數據均值濾波算法處理,最終處理得到準確的慣性數據。
進行多傳感器均值濾波操作需要先從理論上證明均值濾波算法的科學性。慣性傳感器測量數據中一般包含比例誤差、零偏誤差和隨機噪聲等,簡化后的陣列式MEMS慣性傳感器的測量模型可表示為:

式中, 1iN=… 表示第i個MEMS慣性傳感器。其中為測量值,mbi為真值,Ci為比例矩陣,bi為偏置誤差,iη為隨機噪聲。
對式(1)模型進行均值計算可得:

式中,

對于陣列MEMS慣性傳感器,在陣列中心定義一個載體系b,每個MEMS慣性傳感器載體系上的測量真值與中心處的測量真值關系可以表示為:

因為每個傳感器與PCB板焊接相連,所以ib bC為固定常值。由于iC也是固定常值,因此式(2)可表示為:

式中:

從式(6)可驗證,對陣列式MEMS慣性傳感器測量值進行均值計算可以等效為一個虛擬的MEMS慣性傳感器,從而也就可以對陣列式慣性傳感器系統采集到的數據進行均值濾波處理。
本文設計的陣列式MEMS-IMU系統實物圖見圖5。電路板上緊密布局了陣列式MEMS慣性傳感器,主控芯片與各個慣性傳感器通過并行數據總線連接。設計采用MEMES慣性傳感器搭建系統,使得電路設計緊湊,整個電路板的尺寸僅為40×61×9mm,從圖中與5角硬幣的對比,可以看出本作品具有體積小巧、便于攜帶安裝的特點。

圖5 陣列傳感器硬件實物
設置采樣頻率為150Hz,溫度為室溫,對陣列式微慣性測量系統進行性能指標測試,繪制兩小時內的Allan方差曲線,圖6所示,并對其曲線做統一數據分析。

圖6 本作品與單個慣性傳感器Allan方差性能對比
Allan方差是量化噪聲的一種常用方法,適用于鑒別測量數據中不同類型的噪聲,可以用來評估傳感器參數穩定性,Allan方差的值越小,傳感器精度越好。本文設計的陣列式MEMS-IMU系統的Allan方差曲線大幅位于單個消費級慣性傳感器曲線下方,說明本文設計的陣列式MEMSIMU系統的 Allan方差顯著好于單個消費級慣性傳感器,測量精度更高。
根據所采集的數據,我們計算出了各陣列式微慣性傳感器陀螺儀和加速度計的角度隨機游走和零偏不穩定性數據,數據見表1。慣性傳感器是由加速度計和陀螺儀組成的,其零偏穩定性和隨機游走代表著慣性傳感器的性能,這兩個數值越小說明慣性傳感器性能越好。由表1中的數據可以看出,設計的陣列式慣性測量系統的測量精度相較于消費級慣性傳感器ICM20948提升了約5.7倍,實現了高精度測量。

表1 陣列式微慣性測量系統性能參數
本文針對現有消費級慣性傳感器精度不佳的問題,設計了一種新型陣列式微慣性測量系統,能夠穩定、準確的測量出載體的加速度、角速度,實現實時監測載體運動情況,具備了高精度、小體積的特點,具有一定的實用價值。