

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 MPU6050作原理及STM32控制MPU6050簡(jiǎn)介:1.要想知道MPU6050作原理,得先了解下倆個(gè)傳感器:陀螺儀傳感器:陀螺儀的原理就是,個(gè)旋轉(zhuǎn)物體的所指的向在不受外影響時(shí),是不會(huì)改變的。們根據(jù)這個(gè)道理,它來保持向。然后多種法讀取軸所指的向,并動(dòng)將數(shù)據(jù)信號(hào)傳給。我們騎車其實(shí)也是利了這個(gè)原理。輪轉(zhuǎn)得越快越不容易倒,因?yàn)檐囕S有股保持平的量。現(xiàn)代陀螺儀可以精確地確定運(yùn)動(dòng)物體的位的儀器,它在現(xiàn)代航空,航海,航天和中泛使的種儀器。傳統(tǒng)的慣性陀螺儀主要部分有機(jī)械式的陀螺儀,機(jī)械式的陀螺儀對(duì)藝結(jié)構(gòu)的要求很。70年代提出了現(xiàn)代的基本設(shè)想,到年代以后,就得到了常迅速的發(fā)展,激光陀螺儀也有了很的發(fā)展。具有
2、結(jié)構(gòu)緊湊,靈敏度,作可靠。光纖陀螺儀在很多的領(lǐng)域已經(jīng)完全取代了機(jī)械式的傳統(tǒng)的陀螺儀,成為現(xiàn)代導(dǎo)航儀器中的關(guān)鍵部件。光纖陀螺儀同時(shí)發(fā)展的除了環(huán)式外。加速度傳感器:加速度傳感器是種能夠測(cè)量加速度的傳感器。通常由質(zhì)量塊、阻尼器、彈性元件、敏感元件和適調(diào)電路等部分組成。傳感器在加速過程中,通過對(duì)質(zhì)量塊所受慣性的測(cè)量,利頓第定律獲得加速度值。根據(jù)傳感器敏感元件的不同,常見的加速度傳感器包括電容式、電感式、應(yīng)變式、壓阻式、壓電式等。其實(shí)說簡(jiǎn)單點(diǎn),在mpu6050中我們陀螺儀傳感器測(cè)度,加速度傳感器測(cè)加速度MPU-60X0 :MPU-60X0是全球例9軸運(yùn)動(dòng)處理傳感器。它集成了3軸MEMS陀螺儀, 3軸ME
3、MS 加速度計(jì),以及個(gè)可擴(kuò)展的數(shù)字運(yùn)動(dòng)處理器 DMP(DigitalMotion Processor),可 I2C 接連接個(gè)第三的數(shù)字傳感器,如磁計(jì)。擴(kuò)展之后就可以通過其 I2C 或 SPI 接 輸出個(gè) 9 軸的信號(hào)(SPI 接僅在 MPU-6000 可)。MPU-60X0 也可以通過其 I2C 接 連接慣性的數(shù)字傳感器,如壓傳感器。 MPU-60X0 對(duì)陀螺儀和加速度計(jì)分別了三個(gè) 16 位的 ADC,將其測(cè)量的模擬量轉(zhuǎn)化 為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運(yùn)動(dòng),傳感器的測(cè)量范圍都是戶可控的,陀螺儀可測(cè)范圍為250,500,1000,2000/秒(dps),加速度計(jì)可測(cè)范圍為2,4,
4、8,16g。 個(gè)上 1024 字節(jié)的 FIFO,有助于降低系統(tǒng)功耗。 和所有設(shè)備寄存器之間的通信采 400kHz 的 I2C 接或 1MHz 的 SPI 接(SPI 僅 MPU-6000 可)。對(duì)于需要速傳輸?shù)膽?yīng),對(duì)寄存器的讀取和中斷可20MHz 的 SPI。 另外,上還內(nèi)嵌了個(gè)溫度傳感器和在作環(huán)境下僅有1%變動(dòng)的振蕩器。 芯尺 440.9mm,采 QFN 封裝(引線形封裝),可承受最 10000g 的沖擊,并有可編程的低通濾波器。 關(guān)于電源,MPU-60X0 可持 VDD 范圍 2.5V5%,3.0V5%,或 3.3V5%。另外 MPU-6050 還有個(gè) VLOGIC 引腳,來為 I2C 輸
5、出提供邏輯電平。VLOGIC 電壓可取 1.85%或者 VDD。數(shù)字運(yùn)動(dòng)處理器(DMP):DMP 從陀螺儀、加速度計(jì)以及外接的傳感器接收并處理數(shù)據(jù),處理結(jié)果可以從DMP 寄存器讀出,或通過 FIFO 緩沖。DMP 有權(quán)使 MPU 的個(gè)外部引腳產(chǎn)中斷。 數(shù)據(jù)傳輸:1.I2C原理在上篇博客有詳細(xì)講解,在這不再贅述。如果要寫 MPU-60X0 寄存器,主設(shè)備除了發(fā)出開始標(biāo)志(S)和地址位,還要加個(gè) R/W 位,0 為寫,1 為讀。在第 9 個(gè)時(shí)鐘周期(電平時(shí)),MPU-60X0 產(chǎn)應(yīng)答信號(hào)。然 后主設(shè)備開始傳送寄存器地址(RA),接到應(yīng)答后,開始傳送寄存器數(shù)據(jù),然后仍然要有應(yīng) 答信號(hào),依次類推。單字
6、節(jié)寫時(shí)序:多字節(jié)寫時(shí)序:如果要讀取 MPU-60X0 寄存器的值,先由主設(shè)備產(chǎn)開始信號(hào)(S),然后發(fā)送從設(shè) 備地址位和個(gè)寫數(shù)據(jù)位,然后發(fā)送寄存器地址,才能開始讀寄存器。緊接著,收到應(yīng)答信號(hào)后,主設(shè)備再發(fā)個(gè)開始信號(hào),然后發(fā)送從設(shè)備地址位和個(gè)讀數(shù)據(jù)位。然后,作為從設(shè) 備的 MPU-60X0 產(chǎn)應(yīng)答信號(hào)并開始發(fā)送寄存器數(shù)據(jù)。通信以主設(shè)備產(chǎn)的拒絕應(yīng)答信號(hào)(NACK)和結(jié)束標(biāo)志(P)結(jié)束。拒絕應(yīng)答信號(hào)(NACK)產(chǎn)定義為 SDA 數(shù)據(jù)在第 9 個(gè) 時(shí)鐘周期直為。三STM32控制MPU60501.硬件連接實(shí)驗(yàn)采正點(diǎn)原公司的 AN1507 ATK-MPU6050 六軸傳感器模塊STM32 VCCGNDSDA
7、 GND PB9 PB8 不接 不接SCLINTAD02. 重要寄存器2.1 電源管理寄存器 1 硬件動(dòng)清零該位了睡眠模式(低功耗),所以我們要清零該位,以進(jìn)正常作模式TEMP_DIS 于設(shè)置是否使能溫度傳感器,設(shè)置為 0,則使能CLKSEL2:0于選擇系統(tǒng)時(shí)鐘源,選擇關(guān)系如表時(shí)鐘源內(nèi)部 8M RC 晶振001PLL,使 X 軸陀螺作為參考PLL,使 Y 軸陀螺作為參考PLL,使 Z 軸陀螺作為參考PLL,使外部 32.768Khz 作為參考PLL,使外部 19.2Mhz 作為參考保留010011100101110111關(guān)閉時(shí)鐘,保持時(shí)序產(chǎn)電路復(fù)位狀態(tài)*默認(rèn)是使內(nèi)部 8M RC 晶振的,精度不
8、,所以我們般選擇 X/Y/Z 軸陀螺作為參考的 PLL 作為時(shí)鐘源,般設(shè)置 CLKSEL=001 即可*2.2 陀螺儀配置寄存器FS_SEL1:0這兩個(gè)位,于設(shè)置陀螺儀的滿量程范圍: 0,250/S; 1,500 /S; 2,1000 /S; 3,2000 /S;我們般設(shè)置為 3,即2000 /S,因?yàn)橥勇輧x的 ADC 為 16 位分辨率,所以得到靈敏度為: 65536/4000=16.4LSB/( /S)2.3 加速度傳感器配置寄存器AFS_SEL1:0這兩個(gè)位,于設(shè)置加速度傳感器的滿量程范圍:0,2g; 1,4g; 2,8g; 3,16g;我們般設(shè)置為 0,即2g,因?yàn)榧铀俣葌鞲衅鞯腁DC
9、 也是 16 位,所以得到靈敏度為: 65536/4=16384LSB/g2.4 FIFO使能寄存器該寄存器于控制 FIFO 使能,在簡(jiǎn)單讀取傳感器數(shù)據(jù)的時(shí)候,可以不FIFO,設(shè)置對(duì)應(yīng)位為 0 即可禁 FIFO,設(shè)置為 1,則使能 FIFO加速度傳感器的 3 個(gè)軸,全由 1個(gè)位( ACCEL_FIFO_EN)控制,只要該位置 1,則加速度傳感器的三個(gè)通道都開啟 FIFO2.5 陀螺儀采樣率分頻寄存器該寄存器于設(shè)置 MPU6050 的陀螺儀采樣頻率,計(jì)算公式為: 采樣頻率 = 陀螺儀輸出頻率 / (1+SMPLRT_DIV)這陀螺儀的輸出頻率,是 1Khz 或者 8Khz,與數(shù)字低通濾波器( D
10、LPF)的設(shè)置有關(guān),當(dāng) DLPF_CFG=0/7 的時(shí)候,頻率為 8Khz,其他情況是 1Khz。且 DLPF 濾波頻率般設(shè)置為采樣率的半。采樣率,我們假定設(shè)置為 50Hz,那么 SMPLRT_DIV=1000/50-1=192.6 配置寄存器這的加速度傳感器,輸出速率( Fs)固定是 1Khz,速度傳感器的輸出速率( Fs),則根據(jù) DLPF_CFG 的配置有所不同。般我們?cè)O(shè)置速度傳感器的帶寬為其采樣率的半,如前所說的,如果設(shè)置采樣率為 50Hz,那么帶寬就應(yīng)該設(shè)置為 25Hz,取近似值 20Hz,就應(yīng)該設(shè)置 DLPF_CFG=1002.7 電源管理寄存器 2LP_WAKE_CTRL 于控制
11、低功耗時(shí)的喚醒頻率剩下的 6 位,分別控制加速度和陀螺儀的x/y/z軸是否進(jìn)待機(jī)模式,這我們?nèi)慷疾贿M(jìn)待機(jī)模式,所以全部設(shè)置為0 即可2.8 陀螺儀數(shù)據(jù)輸出寄存器通過讀取這6個(gè)寄存器,就可以讀到陀螺儀 x/y/z 軸的值,如 x 軸的數(shù)據(jù),可以通過讀取0X43( 8 位)和 0X44(低 8 位)寄存器得到,其他軸以此類推2.9 加速度傳感器數(shù)據(jù)輸出寄存器 通過讀取這6個(gè)寄存器,就可以讀到加速度傳感器 x/y/z 軸的值,如讀 x 軸的數(shù)據(jù),可以通過讀取 0X3B( 8 位)和0X3C(低8位)寄存器得到,其他軸以此類推2.10 溫度傳感器數(shù)據(jù)輸出寄存器溫度換算公式為:Temperature
12、= 36.53 + regval/340溫度傳感器值2.11 中斷使能寄存器OT_EN 該位置 1,該位使能運(yùn)動(dòng)檢測(cè)(Motiondetection)產(chǎn)中斷。FIFO_OFLOW_EN該位置1,該位使能FIFO緩沖區(qū)溢出產(chǎn)中斷。I2C_MST_INT_EN該位置1,該位使能I2C主機(jī)所有中斷源產(chǎn)中斷。DATA_RDY_EN 該位置 1,該位使能數(shù)據(jù)就緒中斷( Data Ready interrupt),所有的傳感器寄存器寫操作完成時(shí)都會(huì)產(chǎn)關(guān)閉所有中斷則給此寄存器賦值0X003. 軟件驅(qū)動(dòng)3.1 通過IIC對(duì)MPU6050寄存器進(jìn)讀寫/IIC寫個(gè)字節(jié)/reg:寄存器地址數(shù)據(jù)/data:/返回值:
13、 0,正常/其他,錯(cuò)誤代碼IIC_Write_Byte( reg, data)u8u8u81 0 /發(fā)送器件地址+寫命令if(IIC_Wait_Ack()/等待應(yīng)答IIC_Stop();return 1;if(IIC_Wait_Ack()IIC_Stop();return 1;IIC_Stop(); IIC_Read_Byte( reg)res;u8IIC_Start();IIC_Send_Byte(MPU_ADDR )| );1 0 /發(fā)送器件地址+寫命令I(lǐng)IC_Wait_Ack();/等待應(yīng)答IIC_Send_Byte(reg);/寫寄存器地址IIC_Wait_Ack();/等待應(yīng)答IIC
14、_Start();1 1 /發(fā)送期間地址+讀命令I(lǐng)IC_Wait_Ack();/等待應(yīng)答res=IIC_Read_Byte( );return/返回值: 0,正常/其他,錯(cuò)誤代碼IIC_Write_Len( addr, reg, len, *buf)u8u8u8u8u8i;u8IIC_Start();IIC_Send_Byte(addr )| );IIC_Stop();return 1;IIC_Send_Byte(reg);/寫寄存器地址IIC_Wait_Ack();/等待應(yīng)答(i= ;ilen;i+)for0IIC_Stop();return 1;/其他,錯(cuò)誤代碼IIC_Read_Len(
15、addr, reg, len, *buf)IIC_Start(); IIC_Send_Byte(addr )| );1 0 /發(fā)送器件地址+寫命令I(lǐng)IC_Stop();return 1;IIC_Send_Byte(reg);/寫寄存器地址IIC_Wait_Ack();/等待應(yīng)答IIC_Start();IIC_Send_Byte(addr )| );1 1 /發(fā)送器件地址+讀命令I(lǐng)IC_Wait_Ack();/等待應(yīng)答while(len)if1else1 /讀數(shù)據(jù),發(fā)送ACK3.2 MPU6050初始化/初始化MPU6050/返回值: 0,成功/其他,錯(cuò)誤代碼)IIC_Write_Byte(MP
16、U_PWR_MGMT1_REG,);0X80 /復(fù)位MPU6050delay_ms( );100IIC_Write_Byte(MPU_PWR_MGMT1_REG,);0X00 /喚醒MPU6050MPU_Set_Gyro_Fsr( );3/陀螺儀傳感器,2000dps/加速度傳感器 2gMPU_Set_Accel_Fsr( );0MPU_Set_Rate( );50 /設(shè)置采樣率50HZ/關(guān)閉所有中斷);0X00 /I2C主模式關(guān)閉);0X00 /關(guān)閉FIFO);0X80 /INT引腳低電平有效res IIC_Read_Byte(MPU_DEVICE_ID_REG);=(res MPU_ADD
17、R)if=/器件ID正確IIC_Write_Byte(MPU_PWR_MGMT1_REG,IIC_Write_Byte(MPU_PWR_MGMT2_REG,0X01 /設(shè)置CLKSEL,PLL X 軸為參考0X00 /加速度陀螺儀都作MPU_Set_Rate( );50 /設(shè)置采樣率為50HZ;/ 其他,設(shè)置失敗u8 MPU_Set_Gyro_Fsr(u8 fsr)IIC_Write_Byte(MPU_GYRO_CFG_REG,fsr );return3 /設(shè)置陀螺儀滿量程范圍/設(shè)置MPU6050加速度傳感器滿量程范圍/fsr:0,2g;1,4g;2,8g;3,16g /fsr:0,2g;1,
18、4g;2,8g;3,16g/ 其他,設(shè)置失敗u8 MPU_Set_Accel_Fsr(u8 fsr)IIC_Write_Byte(MPU_ACCEL_CFG_REG,fsr );return3 /設(shè)置加速度傳感器滿量程范圍);)return/返回值:0,設(shè)置成功;if4=4/rate ;data=1000-1/設(shè)置數(shù)字低通濾波器MPU_Set_LPF(rate/ );return2/動(dòng)設(shè)置LPF為采樣率的半3.3 讀取MPU6050相關(guān)測(cè)得原始數(shù)據(jù) /返回值:溫度值(擴(kuò)了100倍)short MPU_Get_Temperature(void)buf ;u82short raw;temp;floatIIC_Read_Len(MPU_ADDR,MPU_TEMP_OUTH_REG, ,buf);2raw=( )buf )|buf ;081temp=36.53+(double)raw)/ ;340temp* ;returnu866if0*gx=( )buf )|bu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政組織理論中的溝通機(jī)制探討試題及答案
- 辦公室信息化中的圖書館信息安全保障
- 物聯(lián)網(wǎng)智能物流倉(cāng)儲(chǔ)系統(tǒng)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 游泳池運(yùn)營(yíng)管理行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 汽車試駕體驗(yàn)攝影行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 版權(quán)合作與分銷行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 歌謠保護(hù)在線平臺(tái)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 辦公大樓照明節(jié)能改造行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 智能變色復(fù)合材料企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 結(jié)構(gòu)設(shè)計(jì)原理課件交通工程專業(yè)群17課件
- 急性胰腺炎護(hù)理常規(guī)課件
- 2023淄博中考英語(yǔ)試題及答案
- 肥胖癥康復(fù)課件
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 物理高考最后一課課件
- 八段錦操作評(píng)分標(biāo)準(zhǔn)
- 電解質(zhì)紊亂的心電圖表現(xiàn)
- 海康威視在線測(cè)評(píng)筆試題
- 2022年修改后的銀行業(yè)G32表填報(bào)說明
- 巨量-信息流(初級(jí))認(rèn)證考試(重點(diǎn))題庫(kù)(含答案)
- 硫磺車間風(fēng)險(xiǎn)辨識(shí)表
評(píng)論
0/150
提交評(píng)論