亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MPU-6050模塊角度算法處理及在嵌入式中的應(yīng)用

        2014-08-30 17:22:24邱云平伍寶玉
        江科學(xué)術(shù)研究 2014年2期
        關(guān)鍵詞:陀螺儀加速度計(jì)按鍵

        邱云平,伍寶玉

        (1、深圳藍(lán)橋林科技有限公司,廣東 深圳 518127;2、都昌縣司法局,江西 九江 332600)

        MPU-6050模塊角度算法處理及在嵌入式中的應(yīng)用

        邱云平1,伍寶玉2

        (1、深圳藍(lán)橋林科技有限公司,廣東 深圳 518127;2、都昌縣司法局,江西 九江 332600)

        本文主要介紹MPU-6050全球首例6軸運(yùn)動(dòng)處理傳感器,論述一種對(duì)MPU-6050的數(shù)據(jù)處理的新思想和算法。本設(shè)計(jì)主要討論三個(gè)要點(diǎn):第一、比較陀螺儀、加速度傳感與9軸運(yùn)動(dòng)處理傳感器(MPU-6050)的差距;第二、通過積分算法對(duì)MPU-6050模塊采集的數(shù)據(jù)進(jìn)行處理,從而獲得更為準(zhǔn)確的角度;第三、MPU-6050在嵌入式中的具體應(yīng)用。

        MPU-6050 6軸運(yùn)動(dòng)處理傳感器;陀螺儀;加速度傳感

        0 引言

        MPU-6050集成了3軸MEMS陀螺儀,3軸MEMS加速度計(jì)以及一個(gè)可擴(kuò)展的數(shù)字運(yùn)動(dòng)處理器DMP(Digital Motion Processor),可用I2C接口連接一個(gè)第三方的數(shù)字傳感器,比如磁力計(jì)。擴(kuò)展之后,就可以通過其I2C接口輸出一個(gè)9軸的信號(hào)。MPU-6050也可以通過其I2C接口連接非慣性的數(shù)字傳感器,比如壓力傳感器。MPU-6050對(duì)陀螺儀和加速度計(jì)分別用了三個(gè)16位的ADC,將其測(cè)量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運(yùn)動(dòng),傳感器的測(cè)量范圍都是用戶可控的,陀螺儀可測(cè)范圍為±250,±500,±1000,±2000°/秒(dps),加速度計(jì)可測(cè)范圍為±2,±4,±8,±16g。一個(gè)片上 1024 字節(jié)的 FIFO,有助于降低系統(tǒng)功耗。MPU-6050模塊與所有設(shè)備寄存器之間的通信采用400kHz的I2C接口,片上還內(nèi)嵌了一個(gè)溫度傳感器和在工作環(huán)境下僅有±1%變動(dòng)的振蕩器[1]。它的應(yīng)用范圍相當(dāng)廣,如智能手機(jī),平板電腦,游戲機(jī),3D遙控器,可攜式導(dǎo)航設(shè)備和玩具小車等。

        1 陀螺儀、加速度計(jì)和MPU-6050及MPU-6050的電路設(shè)計(jì)

        1.1 陀螺儀、加速度計(jì)的簡(jiǎn)要介紹

        陀螺儀是一種用來傳感與維持方向的裝置,是基于角動(dòng)量守恒理論設(shè)計(jì)出來的。陀螺儀主要是由一個(gè)位于軸心且可旋轉(zhuǎn)的轉(zhuǎn)子構(gòu)成。陀螺儀一旦開始旋轉(zhuǎn),由于轉(zhuǎn)子的角動(dòng)量,陀螺儀有抗拒方向改變的趨向。陀螺儀多用于導(dǎo)航、定位等系統(tǒng)[2]。

        加速度計(jì)是測(cè)量加速度的裝置。相對(duì)于遠(yuǎn)距傳感的裝置,它測(cè)量的是自身的運(yùn)動(dòng)。加速度計(jì)的應(yīng)用之一是測(cè)量重力,特別是使用于重量測(cè)定法的加速計(jì),這樣的裝置稱重力計(jì)[3]。

        MPU-6050為全球首例整合性6軸運(yùn)動(dòng)處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時(shí)的軸間差問題,減少了大量的包裝空間[4]。所以,現(xiàn)在MPU-6050的應(yīng)用范圍越來越廣,在一定程度上取代了陀螺儀和加速度計(jì),而且MPU-6050使用也相當(dāng)方便。

        1.2 MPU-6050的硬件設(shè)計(jì)

        本設(shè)計(jì)主要介紹GY-521 MPU-6050模塊,在電路設(shè)計(jì)的時(shí)候,主要是把GY-521 MPU-6050作為一個(gè)單獨(dú)的模塊來測(cè)試,通過引線來連接到STM32上。供電電壓3~5V,通過內(nèi)部低壓差穩(wěn)壓。通信方式采用標(biāo)準(zhǔn)的IIC通信協(xié)議,芯片內(nèi)置16bit AD轉(zhuǎn)換器,16位數(shù)據(jù)輸出。

        一般的MPU-6050芯片都可以參考圖1電路進(jìn)行設(shè)計(jì),如果要做成模塊,那么該原理圖基本通用,模塊預(yù)留單排針引腳,可以通過焊接排針來引線與MCU進(jìn)行連接,通過LED燈指示電源工作正常。圖2為GY-521 MPU-6050模塊的PCB圖,體積比較小,方便集成,尤其是在外圍器件比較多的情況下,可以通過排針和兩個(gè)銅柱來固定。

        圖1 通用GY-521 MPU-6050的電路原理圖

        2 數(shù)據(jù)處理

        2.1 角度算法處理的思想

        對(duì)MPU-6050模塊的角度數(shù)據(jù)處理,算法很多,比如最常見的積分處理,卡爾曼濾波處理等等。本設(shè)計(jì)充分利用STM32的滴答定時(shí)器,采用積分處理。我們知道在誤差要求允許范圍內(nèi),對(duì)不連續(xù)的數(shù)據(jù)進(jìn)行求和有時(shí)候可以替代積分,本設(shè)計(jì)就是依據(jù)這個(gè)思想來實(shí)現(xiàn)的。通過STM32的滴答定時(shí)器來記錄系統(tǒng)運(yùn)行的時(shí)間,然后通過兩次運(yùn)行的時(shí)間差,作為一個(gè)疊加也就是所謂的積分來處理。通過滴答定時(shí)器產(chǎn)生1ms的定時(shí),然后讓運(yùn)行時(shí)間變量(RT)1ms加1,從而獲得當(dāng)前程序運(yùn)行的時(shí)間(NT),再通過與上次運(yùn)行的時(shí)間(LT)差值來作為積分?jǐn)?shù)值(TS),從而可以得出如下兩個(gè)式子:(a)NT=RT;(b)TS=NT-LT。下面利用這個(gè)思想和兩個(gè)基本式子來進(jìn)行角度的實(shí)際應(yīng)用。

        圖2 GY-521 MPU-6050 PCB圖

        2.2 積分算法在MPU-6050模塊中的運(yùn)用

        通過積分算法和上面的兩個(gè)式子可以得出相對(duì)校準(zhǔn)的角度,下面以X軸的角度為例,算法實(shí)現(xiàn)的主要步驟如下[1]:

        (1)先通過IIC獲得角度初始值,ax=GetData(ACCEL_XOUT_H);

        (2)對(duì)加速度進(jìn)行量化,得出單位為g的加速度值-2g量程,Ax=ax/16384.00;

        (3)用加速到計(jì)算X軸和水平坐標(biāo)系之間的夾角,Angle_accX=atan(Ax/Az)*180/pi;通過反正切獲得弧度值,乘以180度再除以π;

        (4)對(duì)角速度做量化-2000°量程,ggx=gx/16.38;

        (5)對(duì)角度進(jìn)行積分處理,NowTime=RunningTime;獲得當(dāng)前程序運(yùn)行的時(shí)間;TimeSpan=NowTime-LastTime;近似積分;

        (6)通過對(duì)角度積分實(shí)現(xiàn)X軸的角度測(cè)量,這里假設(shè)X軸的起始角度為0度,則Gx=Gx+(ggx-Gx_offset)*TimeSpan/1000;LastTime=NowTime;(記錄當(dāng)前運(yùn)行的時(shí)間作為下次的減數(shù))。

        通過上面6個(gè)步驟基本可以獲取最終的角度,通過大量的實(shí)驗(yàn)和實(shí)踐證明,該方法可行,而且獲得角度也相對(duì)準(zhǔn)確。下面用一個(gè)函數(shù)實(shí)現(xiàn)上面的思想,程序所涉及的變量定義可以作為全局變量來處理。

        /*********獲得 X、Y、Z軸的加速度數(shù)據(jù)*******************/

        /*********獲得 X、Y、Z軸的角速度數(shù)據(jù)*******************/

        /**對(duì)角速度進(jìn)行量化,得出單位為g的加速度值-2g量程**//**用加速度計(jì)算三個(gè)軸和水平面坐標(biāo)系之間的夾角**/

        Angle_accX=atan(Ax/Az)*180/pi;//反正切獲得弧度值,乘以 180°/π

        NowTime=RunningTime;//獲取當(dāng)前程序運(yùn)行的時(shí)間

        TimeSpan=NowTime-LastTime;//近似積分

        /**通過對(duì)角速度積分實(shí)現(xiàn)各個(gè)軸的角度測(cè)量,當(dāng)然假設(shè)各軸的起始角度都是0**/

        3 MPU-6050在STM32中的應(yīng)用

        每次使用時(shí),在固定MPU-6050模塊上會(huì)由于各種因素導(dǎo)致角度有偏差,為了使數(shù)據(jù)趨于準(zhǔn)確,我們?cè)诠潭∕PU-6050之后進(jìn)行角度校零,通過一個(gè)按鍵來實(shí)現(xiàn),該按鍵具有角度校零功能,當(dāng)固定完MPU-6050模塊的時(shí)候,按一下該按鍵就可以實(shí)現(xiàn)校零功能。同時(shí)為了提高性價(jià)比,本次設(shè)計(jì)可通過STM32的內(nèi)部Flash來存儲(chǔ)MPU-6050的角度數(shù)據(jù),從而實(shí)現(xiàn)校零功能。

        3.1 STM32的內(nèi)部FLASH的簡(jiǎn)介

        我們選用的是STM32F103ZET6,該FLASH容量為512個(gè)字節(jié),屬于大容量產(chǎn)品。表1是大容量的閃存模塊組織[5]。

        表1 大容量的閃存模塊組織

        從表1可以看出STM32的閃存模塊由主存信息、信息塊和閃存存儲(chǔ)器接口寄存器等3部分組成。主存儲(chǔ)器:用來存放代碼和數(shù)據(jù)常數(shù);信息塊:分為2個(gè)小部分,一是啟動(dòng)程序代碼,用來存儲(chǔ)ST自帶的啟動(dòng)程序,二是于串口下載代碼;閃存存儲(chǔ)器接口寄存器:用于控制閃存讀寫等,是整個(gè)閃存模塊的控制機(jī)構(gòu)[6]。

        對(duì)STM32具體如何操作內(nèi)部分FLASH在此不作詳細(xì)討論,圖3是STM32的閃存編程過程,具體請(qǐng)參考《STM32F10XXX中文閃存編程手冊(cè)》和《STM32參考手冊(cè)》。

        圖3 STM32的閃存編程過程

        3.2 基于STM32的MPU-6050模塊的角度校零應(yīng)用

        由于硬件電路比較簡(jiǎn)單,這里就不作詳細(xì)討論,下面主要討論校零的簡(jiǎn)單算法。圖4是系統(tǒng)整體流程圖,從圖可以看出,初始化之后STM32的內(nèi)部FLASH存儲(chǔ)的初始值默認(rèn)為0度,只有當(dāng)校零按鍵按下時(shí),STM32內(nèi)部FLASH才存儲(chǔ)角度,當(dāng)校零沒有按下的時(shí)候,直接通過串口打印角度數(shù)據(jù),通過串口也可以驗(yàn)證是否需要校零。

        圖4 系統(tǒng)整體流程圖

        圖5為串口調(diào)試軟件上面顯示的X軸角度數(shù)據(jù),通過角度數(shù)據(jù)我們可以確定是否需要調(diào)整角度。也可以通過校零按鍵,直接進(jìn)行校零。

        4 結(jié)語

        本設(shè)計(jì)通過對(duì)MPU-6050模塊的探討,對(duì)芯片MPU-6050的內(nèi)部ADC采集的數(shù)據(jù)進(jìn)一步處理,從而使得角度更加準(zhǔn)確??紤]實(shí)際使用MPU-6050模塊的時(shí)候,角度難以一直保持零度,所以在設(shè)計(jì)的時(shí)候,增加一個(gè)校零按鍵,通過該按鍵可以實(shí)現(xiàn)隨時(shí)校零,從而方便了模塊的使用。MPU-6050模塊也可廣泛應(yīng)用于工業(yè)產(chǎn)品上面,只要是對(duì)角度的檢測(cè)一般都可以參考該設(shè)計(jì)方法。

        圖5 串口調(diào)試軟件打印出的角度數(shù)據(jù)

        [1]MPU-6000 and MPU-6050 Register Map and Descriptions Revision 3.2,11/14/2011 MPU-6050的芯片手冊(cè).

        [2]http://zh.wikipedia.org/wiki/陀螺儀,維基百科.

        [3]http://zh.wikipedia.org/wiki/加速度計(jì),維基百科.

        [4]http://baike.baidu.com/link?url=T9m_sr0RYgSmNb51_wDlrhu3UDEyXXh97-E7pO2DR9rGwexnOMNaCiJ7yO0mcHAF-bolmgQT6DehrY4UiaZ-_Za百度百科.

        [5]STM32F10XXX中文閃存編程手冊(cè)[K].2013,7,8.

        [6]邱云平,馮光榮.STM32的便攜式手機(jī)藍(lán)牙考勤機(jī)系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(11):61.

        (責(zé)任編輯:陳 輝)

        MPU-6050 Module Angle Algorithm Processing and Its Application in Embedded Style

        QIU Yun-ping1WU Bao-yu2
        (1.Shenzhen Lanqiaolin Technology Co.Ltd.Shenzhen,Guangdong,518127;2.The Justice Department of Duchang County,Jiujiang,Jiangxi,332600)

        This paper mainly introduces the MPU-6050—the world's first 6 axis motion sensor,and discusses a new idea and algorithm of data processing of MPU-6050.This design mainly discuss three main points:firstly,comparing with the gyroscope,the acceleration sensor and 6 axis motion sensor(MPU-6050);secondly,through the integral algorithm for MPU-6050 module to process the data collected,in an attempt to gain more accurate angle;thirdly,the specific application of MPU-6050 in embedded style.

        6 axis motion sensor;gyroscope;the acceleration sensor

        TP391

        A

        123(2014)02-0026-04

        2013-11-20

        邱云平(1986-),男,江西九江人,深圳藍(lán)橋林科技有限公司,碩士。研究方向:嵌入式系統(tǒng)及應(yīng)用。

        伍寶玉(1987-),女,江西九江人,都昌縣司法局,碩士。研究方向:語言學(xué)及應(yīng)用語言學(xué)。

        猜你喜歡
        陀螺儀加速度計(jì)按鍵
        基于加速度計(jì)的起重機(jī)制動(dòng)下滑量測(cè)量
        基于EMD的MEMS陀螺儀隨機(jī)漂移分析方法
        基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
        電子制作(2021年3期)2021-06-16 03:14:26
        我國(guó)著名陀螺儀專家——林士諤
        基于遺傳算法的加速度計(jì)免轉(zhuǎn)臺(tái)標(biāo)定方法
        微機(jī)械陀螺儀概述和發(fā)展
        常溫下硅微諧振加速度計(jì)零偏穩(wěn)定性的提高
        一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
        電子制作(2016年1期)2016-11-07 08:43:05
        MEMS三軸陀螺儀中不匹配干擾抑制方法
        四加速度計(jì)組合的測(cè)試方法研究
        国产精品欧美一区二区三区不卡| 亚洲狠狠久久五月婷婷| 国产高清成人午夜视频| 久久天堂综合亚洲伊人hd妓女| 国产午夜福利短视频| 亚洲最稳定资源在线观看| 男人天堂插插综合搜索| 国产精品久久久久一区二区三区| 无码任你躁久久久久久| 女人的天堂av免费看| 久久精品蜜桃美女av| 国产日产亚洲系列最新| 久久久久久国产精品美女| 最新亚洲无码网站| 大陆成人精品自拍视频在线观看| 国产亚av手机在线观看 | 国产在线白浆一区二区三区在线 | 中文字幕国产亚洲一区| 北条麻妃国产九九九精品视频| 人人看人人做人人爱精品| 扒开双腿操女人逼的免费视频| 中文字幕精品人妻在线| 久久精品国产久精国产| 亚洲熟妇色xxxxx欧美老妇 | 国产狂喷潮在线观看| 亚洲人在线观看| 综合人妻久久一区二区精品| 精品人妻一区二区三区久久| 天天做天天爱天天爽综合网| 亚洲男人天堂av在线| 日韩五码一区二区三区地址| 国产md视频一区二区三区| 99热免费精品| 亚洲精品在线一区二区三区| 免费人成在线观看视频高潮| 国产色综合天天综合网| 亚洲国产成人久久综合三区| 一区二区三区国产高清视频| 免费人成在线观看视频播放| 日本精品免费一区二区三区| 国产精品老熟女乱一区二区|