MEMS(MICro EleCTRon Mechanical System)陀螺儀是一種可以精確測量物體方位的儀器,不僅成本低,體積小,重量輕,而且可以與微電子加工的電路實現集成,做到機電一體化。MEMS陀螺適用于汽車工業、慣性導航、計算機、機器人、軍事等急需大量小型、廉價陀螺的應用領域,是國防、工業發展中必不可少的儀器。
但是,MEMS陀螺儀在實際應用中達不到需要的精度,為了提高陀螺儀系統工作性能和測量精度,對陀螺儀進行數據采集并減小誤差是至關重要的。
ADIS16355慣性測量裝置將三軸角速度感知與三軸加速度感知相結合,提供六自由度運動感知、嵌入式校準與傳感器處理以及傳感器-傳感器交叉補償,并大大提高信號穩定性(使用偏移穩定性為0.015 deg/sec),體積小于1立方英寸。ADIS16355是在整個溫度范圍內校準,具有卓越的偏壓溫度穩定性(0.005 deg/sec/°)。ADISl6355提供一個串行外部接口SPI(Serial Peripheral Interface),通過SPI可以對芯片進行配置,獲得運行狀態與測量結果等,其對外部供電要求不高,內部自帶高精度的穩壓電路,外圍電路較少[1]。
AT89S52單片機[2]是一種低功耗、高性能CMOS 8位微控制器,具有8 KB在系統可編程Flash存儲器,使用美國ATMEL公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,同時,AT89S52帶有ISP下載功能,它利用在線編程器替代昂貴的單片機仿真器編程器,既方便使用,又節省開發費用。
本文結合單片機對ADIS16355慣性傳感器進行控制,將采集的數據實時存儲并通過LCD1602進行顯示,最后對系統進行測試,并分析了系統存在的誤差。
1 ADIS16355芯片數據采集硬件設計
根據數據采集系統的需要,系統以AT89S52作為主控單元,外擴一片6264靜態存儲器作為數據存儲器,并設計AT89S52與ADIS16355通信的SPI接口模塊、LCD顯示模塊、鍵控模塊和在線編程模塊,系統硬件連接框圖如圖1所示。
1.1 主控模塊
控制單片機AT89S52具有8 KB Flash,256 B RAM,32 bit的I/O口線,看門狗定時器,兩個數據指針,3個16 bit定時器/計數器,一個六向量兩級中斷結構,全雙工串行口,片內晶振及時鐘電路等功能[3]。它與ADIS16355陀螺儀之間通過SPI接口相連。因為AT89S52單片機沒有專門的SPI接口,只能通過軟件模擬P2.0口為時鐘信號線與陀螺儀的SPI接口SCLK引腳相連,P2.1口為主輸出從輸入MOSI與陀螺儀SPI接口的數據輸人SDI引腳相連,P2.2口為主輸入從輸出MISO與陀螺儀SPI接口的數據輸出SDO引腳相連,P2.3口為片選信號。P3.2、P3.3為中斷引腳,分別與ADIS16355的DIO1和DIO2相連,為數據轉換中斷。
1.2 LCD顯示模塊
系統顯示部分采用液晶LCD1602芯片,其特點是:功耗低、體積小、質量輕、顯示質量高、數字式,采用標準的16腳接口和單片機連接簡單,操作方便,能夠同時顯示16×2即32個字符,1602液晶模塊內部的字符發生存儲器(CGROM)存儲了160個不同的點陣字符圖形,方便顯示控制器采集出的數據。
1.3 在線編程模塊
系統設計了在線編程模塊,利用STC-ISP編程燒錄軟件實時在線下載程序,大大方便了開發者,提高了系統研發效率。
1.4 SPI接口模塊通信與配置
SPI是MOTOROLA公司提出的同步串行總線方式,是一種全雙工、同步、串行數據接口標準總線,與其他串行總線相比,它具有電路結構簡單、速度快、通信可靠等優點[4]。標準的SPI總線由4根信號線組成:時鐘信號(SCLK)、主輸入從輸出線(SDI)、主輸出從輸入線(SDO)和片選信號(CS)。
系統中ADIS16355通過SPI接口與外部進行通信,需要外部設備MCU通過該接口對其內部各寄存器進行設置,圖2所示是一個典型的寫入控制寄存器命令的數據幀。由芯片資料[5]可知,DIN系列的首位是1,第二位是0,后面是目標寄存器的6 bit地址和8 bit數據命令,因為每一個寫命令包含一個數據位,所以給整個16 bit寄存器空間寫值時要求有兩個數據幀。圖3為ADIS16355讀操作SPI時序圖,由芯片資料[5]可知ADIS16355完成一次SPI通信包括16 bit數據,其中第1位是SPI傳輸的讀寫狀態標識,第2位為0,緊跟著的6 bit是目標寄存器地址,最后8 bit是在寫操作時將要寫進寄存器的數據,如果是讀操作則忽略,完成ADIS16355的一個讀操作需要進行兩次16 bit的SPI通信,其中第一次是寫入將要讀取的寄存器地址,該寄存器的內容將在第二次SPI通信出現在ADIS16355的DOUT信號線上,輸入SPI的主設備。
本設計中控制器與ADIS16355進行SPI通信的每個數據幀為16 bit,而AT89S52的數據寬度為8 bit,所有內部寄存器和數據空間存儲器都是8 bit寬度組成,作為主設備在其發出有效的SPI片選信號使能ADISl6355后,要對其自身的SPI數據寄存器進行兩次寫操作,才能在總線上完成一次16 bit數據傳輸。
2 軟件設計
ADISl6255陀螺儀所有的數據和命令的讀取和寫入都是通過讀寫寄存器來完成的。通過AT89S52單片機編寫程序讀取ADISl6355內部相應的寄存器地址,相應讀取回來的12 bit或者14 bit長度的數據經過換算再乘以對應的比例因子就得到了相應的x、y、z軸陀螺儀和加速度計以及內部溫度信息。
在啟動陀螺儀前,首先要對陀螺儀的各個寄存器進行正確的設置。由參考文獻[5]、[6]知,設置GYRO_OFF和GYRO_SCALE寄存器對陀螺儀三軸輸出的靈敏度和偏差進行用戶自校準;設置SMPL_PRD寄存器,選取合適的采樣頻率;設置SENS/AVG寄存器,定義陀螺動態量程以及對應的數字濾波器;設置MSC_CTRL寄存器,定義自檢位以及數據更新中斷位;設置COMMAND寄存器,定義數據校正模式;設置ALM_CTRL寄存器,為數據報警。
陀螺儀自身帶有一個校準控制指令,在讀取數據之前需要用戶的自定義校準,具體操作方法[6]是將MSC_
CTRL寄存器的第10位置1,20 ms后,讀取狀態寄存器的值,如果為0x0000,表明自檢通過,否則表明陀螺儀存在如供電超限、SPI通信錯誤等問題,響應的錯誤位將在狀態寄存器中標出。
MEMS陀螺儀數據采集軟件設計主要是對AT89S52的程序設計。系統上電復位后,首先完成單片機初始化,對陀螺儀各個自由度寄存器參數設置,初始化LCD1602,初始化SPI接口,陀螺儀自校準過程,定時器和相應中斷打開,數據存儲及更新,最后通過按鍵分別顯示X、Y、Z軸陀螺儀和加速度計以及內部溫度信息。系統軟件程序采用Keil μVision4軟件編寫,Keil μVision4是基于80C51內核開發的,可以用C語言和匯編語言進行編程,C編譯工具在產生代碼的準確性和效率方面達到了較高的水平,并且可以附加靈活的控制選項,在開發大型項目時非常實用[7]。其軟件程序流程圖如圖4所示。
3 測試結果
完成硬件平臺搭建和軟件程序設計后,室溫下對系統進行靜態測量,通過改變溫度,分析角度的漂移;在小型旋轉平面上進行動態測試,分析線性加速度的變化,針對過大的漂移率現象,進行自校準,再測量。
靜態測試,在室溫下,由液晶屏顯示輸出溫度為
+21.36 ℃,輸出角度有不超過0.02°/s的漂移率。當把陀螺儀溫度提高到50 ℃時,顯示溫度為+50.07 ℃,陀螺角度出現單向漂移現象,輸出角度大約為0.72°/min漂移率。經過軟件自校準后,角度漂移較穩定變化,單漂移現象消除。
動態測試,對三軸加速度計的測試采用重力場1 gn試驗方法[8],安裝方法如圖5所示,將加速度計通過卡具安裝在位置轉臺上,使加速度計的輸入軸在鉛垂平面內相對重力加速度轉動。
使位置轉臺在360°范圍內旋轉,由圖5可知,敏感軸上的加速度分量為[9]:
a=gn·sinθ (1)
式中a為敏感軸上的加速度;θ為加速度計敏感軸與水平方向間的夾角。由式(1)可知,當位置轉臺轉動時,加速度計敏感軸上的重力加速度分量呈正弦關系變化,加速度計的輸出也呈正弦關系變化。在知道敏感軸與水平方向的夾角后,就可以計算出加速度計所感應到的加速度大小[8]。
測試采取十二位置測試方法,即每間隔30°測量一次,首先需要確定機械零點,即試驗前要確保初始狀態的敏感軸與水平方向間夾角為0°,確定機械零位一般采用四點法[9],測量當地重力加速度gn(如長春重力加速度為9.801 m/s2),由公式(1)可以計算出十二位置點的重力加速度分量值,選取部分測試點與本系統顯示的加速度值對比,分析絕對誤差如表1所示。
由表1知,在常溫下測量的ADIS16355加速度計 系統顯示的值與理論值絕對誤差在轉臺限定的誤差范圍之內,并且滿足ADIS16355線性加速度精度誤差為2.522 mg/LSB(約為0.024 7 m/s2)的要求,加上溫度補償可以進一步提高測量精度。
本數據采集系統主要存在以下誤差:一方面是由陀螺儀自身出廠工藝缺陷、結構、工作模式等形成的各種漂移;另一方面是由重力場、磁場、檢測電路干擾、系統安裝不平衡引起的陀螺輸出偏差。對于以上誤差中確定性誤差可以采用標定測試、自檢校準和溫度補償來減小,對于不確定性誤差采用統計方法統計變化規律和有效系統辨識方法來處理。
ADIS16355 iSensor是一款完整的三軸陀螺儀與三軸加速計慣性檢測系統。本文以AT89S52單片機為核心控制器件,只需要很少的外圍電路,采用KeilC51軟件編寫程序,實時存儲采集的數據并經LCD顯示,通過靜態溫度和角度測試及重力加速度試驗測試表明,該系統具有較高的精度和實時性。最后對系統存在的誤差進行分析。
評論
查看更多