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