MMA7361L的高精度角度檢測平臺設(shè)計
摘要:傾角是許多控制系統(tǒng)中需要測量的一個重要參數(shù)。針對傾角測量,設(shè)計了一種基于ARM微控制器和加速度傳感器的角度測量平臺。該平臺采用基于ARM Cortex-M3內(nèi)核的STM32F103VE為數(shù)據(jù)處理的核心,利用高精度加速度傳感器MMA7361L為測角傳感器,同時配置液晶屏和小型鍵盤實現(xiàn)了人機交互。該平臺具有測量精度高、靈敏度高、價格低的特點,應(yīng)用前景廣闊。
關(guān)鍵詞:STM32F103VE;三軸加速度傳感器;MMA7361L;角度測量平臺
引言
在很多控制系統(tǒng)中,角度值是一個十分重要的物理參數(shù)。例如起重機和升降機上都要有角度測控機構(gòu)來控制起降高度;飛行器自動駕駛系統(tǒng)中都有大量的角度傳感器,實時檢測飛機偏轉(zhuǎn)角度,以便對飛行姿態(tài)進行調(diào)整。目前已有利用加速度傳感器實現(xiàn)高精度角度測量的設(shè)計研究,但主要側(cè)重于單軸的測量,同時進行三軸測量的研究設(shè)計鮮有報道。本文將重點討論采用三軸加速度傳感器MMA7361L實現(xiàn)高精度角度檢測的軟硬件方法。
1 角度檢測儀硬件平臺設(shè)計
采用了高精度三軸加速度傳感器MMA7361L作為角度檢測模塊,數(shù)據(jù)處理采用最新的帶A/D轉(zhuǎn)換功能的STM32F103VE芯片,采用I2C接口的AT24C02A芯片進行周期性數(shù)據(jù)存儲,采用1602液晶模塊對角度值進行實時顯示,為了擴展系統(tǒng)功能,采用4×4鍵盤對系統(tǒng)模式進行設(shè)置。同時采用聲光報警電路,當角度超過設(shè)定上限時,進行聲光報警提示。角度檢測儀硬件平臺結(jié)構(gòu)框圖如圖1所示。
1.1 STM32F103VE控制器
本系統(tǒng)采用新一代低功耗高速工業(yè)級芯片STM32F103VE作為控制器核心,芯片采用更優(yōu)化的32位ARM Cortex-M3內(nèi)核,時鐘頻率達到72 MHz。該芯片系統(tǒng)資源和外圍接口豐富,內(nèi)部集成專用時鐘、復位以及電源管理模塊,支持多種工作模式,內(nèi)含2個12位高速ADC、80個快速I/O口、7個定時器和多達9個通信接口。
1.2 MMA7361L角度檢測模塊設(shè)計
MMA7361L是一種超低功耗、小型電容式的微機械加速度傳感器。該傳感器可以采用1.5g或6g靈敏度重力選擇模式,具有信號調(diào)理、一階低通濾波、溫度補償、自檢、帶有線性自由落體檢測和零重力檢測等功能。工作電壓為2.2~3.6V,工作電流為400μA,設(shè)置為睡眠模式時工作電路僅為3μA。從靈敏度、功耗角度考慮,采用MMA7361L作為角度檢測模塊的核心芯片。MMA7361L角度檢測模塊電路如圖2所示。
2 角度檢測儀軟件平臺設(shè)計
2.1 軟件平臺整體結(jié)構(gòu)
幾乎所有的嵌入式產(chǎn)品中都需要嵌入式軟件來提供靈活多樣而且可為應(yīng)用定制的功能。為了便于今后產(chǎn)品功能擴展,采用精簡的μC/ OS-II操作系統(tǒng)作為軟件平臺的支撐。角度檢測儀軟件體系結(jié)構(gòu)如圖3所示。其中最底層為設(shè)備驅(qū)動程序?qū)?,主要是進行處理器初始化和驅(qū)動各外設(shè)電路模塊;第2層為嵌入式μC/OS-II操作系統(tǒng),主要是管理系統(tǒng)的軟硬件資源,以及上層應(yīng)用和操作底層驅(qū)動接口;第3層為應(yīng)用程序,主要是系統(tǒng)調(diào)用和實現(xiàn)OS級別功能。
2.2 MMA7361L角度測試驅(qū)動實現(xiàn)
MMA7361L是一款高精度的模擬三軸加速度傳感器,其精度模式可以選擇1.5g或6g兩種。從工程需要的角度選擇1.5g模式,其精度為800 mV/g,將g-Select引腳置為低電平。在正常工作狀態(tài),Sleep引腳需要置為高電平。同時啟動Self Test模式,芯片在工作之前先完成內(nèi)部自檢。
MMA7361L三軸加速度傳感器實現(xiàn)角度測試,其核心算法是建立輸出電壓和角度之間的函數(shù)映射關(guān)系。零傾斜角度的選擇對于測量儀的精度影響比較大,本文先以MMA7361L傳感器X軸方向的傾角計算為例加以說明,Y軸、Z軸的角度測量方法類似。在本文中取傳感方向x軸與重力加速度g垂直時的狀態(tài)為零傾斜角度,當傾角為θ時,x軸方向傾角測量圖示如圖4所示。
傳感方向x軸方向的重力加速度分量是g1(θ)=gsinθ,當θ→0時有:
可以看到,當傾斜角θ為一個小角度時,其角度的變化率(即導數(shù))越大并趨向于g,這樣有助于提高小角度測量的分辨率,因此該零傾斜角度的選擇方式有助于小角度的精確測量。由于傳感器的加速度分量與其電壓成正比,且精度是800mV/g,因此傾角。
在算法分析的基礎(chǔ)上,該加速度傳感器的角度測試的驅(qū)動程序得以實現(xiàn)。其核心部分可以用如下代碼實現(xiàn):
Y軸、Z軸的角度也可以用類似的方法得到。另外為了便于系統(tǒng)管理,軟件部分采用實時精簡的嵌入式操作系統(tǒng)μC/OS-II,可以將角度測量、鍵盤、顯示作為若干個任務(wù)進行管理。
結(jié)語
本文論述了一種基于MMA7361L的高精度智能角度測量儀的設(shè)計與實現(xiàn)方法,構(gòu)建了角度測量儀的軟硬件平臺,同時對MMA7361L角度檢測算法進行了詳細的介紹,并給出了實現(xiàn)代碼。實驗測試證明,該測量儀具有高精度和良好的可靠性,且成本低,應(yīng)用前景非常廣闊。