0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

具有ArduinoPro-Micro的MPU-9150 / 9250 IMU

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-01 10:40 ? 次閱讀

步驟1:構(gòu)建

對(duì)于構(gòu)建,我使用Arduino Pro-Micro克隆,因?yàn)樗o湊。我希望有一個(gè)小的單元可以合并到其他項(xiàng)目中。

接線簡單:

MPU9150 VCC-Arduino VCC

MPU9150 GND-Arduino GND

MPU9150 I2C SCL-Arduino I2C SCL(Pro Micro是2號(hào)引腳)

MPU9150 I2C SCL-Arduino I2C SDA(Pro Micro是3號(hào)引腳)

MPU9150 AD0-Arduino GND

MPU9150 INT-Arduino引腳7(Pro Micro的中斷4)

步驟2:代碼

要使用IMU,請(qǐng)安裝兩個(gè)附加的庫(復(fù)制到Arduino庫文件夾)。運(yùn)行MPU6050_DMP6.ino文件,并將代碼上傳到您的Arduino。要查看該演示,請(qǐng)運(yùn)行處理茶壺示例(位于庫 MPU6050 Examples MPU6050_DMP6 Processing MPUTeapot中)。

我照顧的另一個(gè)問題是正常運(yùn)行期間的斷電:斷開MPU-9150的電源,然后重新連接。代碼將重新初始化設(shè)備并繼續(xù)輸出數(shù)據(jù)。

步驟3:其他資源

我附加了MPU-9250寄存器映射文件。了解代碼的作用很有用。

這些庫來自Jeff Rowberg github:https://github.com/jrowberg/i2cdevlib

他還是一個(gè)支持論壇:http://www.i2cdevlib.com/forums

我希望將來將此內(nèi)容擴(kuò)展。

第4步:問題

此模塊遇到了一些問題。

許多論壇提到的一個(gè)問題是數(shù)據(jù)凍結(jié)。出于某些未知原因,該模塊會(huì)在一段時(shí)間后停止輸出數(shù)據(jù)。我認(rèn)為我通過查看代碼并解決了進(jìn)入要處理FIFO的部分的一些條件來解決此問題。比較中斷寄存器時(shí)也有一個(gè)錯(cuò)誤-代碼中的數(shù)據(jù)就緒指示錯(cuò)誤。

另一個(gè)問題是FIFO滿錯(cuò)誤,有很多經(jīng)驗(yàn)。我想我也通過不僅在收到中斷時(shí)也要在FIFO不為空時(shí)處理FIFO來解決此問題。

我使用了5V器件Arduino Pro Micro作為MPU-9150是3.3V器件。但這實(shí)際上不是問題。首先,MPU-9150具有將5V轉(zhuǎn)換為3.3V的LDO(穩(wěn)壓器)。其次,I2C通信上拉在MPU-9150上。當(dāng)Arduino想要通信時(shí),它將線拉低(接地)。數(shù)據(jù)傳輸完成后,Arduino放開了線路,MPU-9150將其再次拉高,因此5V永遠(yuǎn)不會(huì)進(jìn)入設(shè)備。

另一個(gè)神秘的問題是,在一段時(shí)間后設(shè)備收到了FIFO滿消息。正在運(yùn)行。但是,當(dāng)我斷開所有電源并再次重新連接時(shí),問題仍然存在。它僅在我按下Arduino上的復(fù)位鍵后才停止(這里要提到的一件事是,只有在復(fù)位后Arduino Pro Micro才會(huì)在正常加電時(shí)才加載引導(dǎo)加載程序。8秒鐘后它將加載您的草圖)。我不知道啟動(dòng)引導(dǎo)程序后為什么解決了這個(gè)問題。

我還做了另一處更改,并將一個(gè)串行轉(zhuǎn)USB轉(zhuǎn)換器連接到Arduino Pro Micro的RX/TX引腳上(USB Pro Micro的端口是虛擬設(shè)備,而不是真實(shí)的串行端口)。通過使用Serial1.begin而不是Serlal.begin來完成。經(jīng)過最后的更改后,我看到了改進(jìn),甚至一個(gè)小時(shí)后數(shù)據(jù)也沒有凍結(jié)。

我尚未解決的唯一問題是,一段時(shí)間后,設(shè)備開始像旋轉(zhuǎn)一樣開始輸出瘋狂。我不確定是因?yàn)槲覍⒃O(shè)備保持太長時(shí)間的靜態(tài)狀態(tài)還是由于其他故障導(dǎo)致的。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185948
  • MPU-9150
    +關(guān)注

    關(guān)注

    1

    文章

    3

    瀏覽量

    9984
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在psoc creator 4.4中使用cypress kitprog從imu 9250/6500讀取數(shù)據(jù)?

    我想在 psoc creator 4.4 中使用 cypress kitprog 從 imu 9250/6500 讀取數(shù)據(jù)。 引導(dǎo)我建立聯(lián)系和編碼。
    發(fā)表于 07-03 06:50

    如何利用中斷從Mpu6050讀取數(shù)據(jù)?

    我正在使用延遲從 psoc 5LP CY8C5888LTI-LP097 中的 mpu-6050 imu 讀取數(shù)據(jù)。 我不想用延時(shí)器,我想用帶中斷的定時(shí)器代替它。 下面附上我的項(xiàng)目文件。 請(qǐng)幫我創(chuàng)建中斷函數(shù)。
    發(fā)表于 07-03 06:18

    IMU中的misaligment誤差是如何區(qū)分Axis to axis與Axis to frame誤差的?

    大家好,想咨詢一下,IMU中的misaligment誤差是如何區(qū)分Axis to axis與Axis to frame誤差的? 您好,我想詢問一下IMU中的錯(cuò)位誤差如何區(qū)分軸到軸和軸到幀誤差?
    發(fā)表于 05-29 07:51

    spi無法讀取mpu9250值是為什么?如何解決?

    spi無法讀取mpu9250
    發(fā)表于 04-23 07:06

    使用主控IIC讀取MPU9250的磁力計(jì)數(shù)據(jù),速度特別慢怎么解決?

    使用iic對(duì)mpu9250進(jìn)行讀取數(shù)據(jù),讀取磁力計(jì)數(shù)據(jù)時(shí)采用的是主控iic方式,但是讀取的速度特別慢,幾秒一次,網(wǎng)上說磁力計(jì)數(shù)據(jù)輸出的速率最快是100hz,幾秒一次也太慢了;另外在初始化函數(shù)中開啟了延時(shí),但是一次讀取6個(gè)字節(jié)的數(shù)據(jù),只能讀到前兩個(gè)字節(jié),后四個(gè)字節(jié)全為0,請(qǐng)大佬幫助解答一下,感激不盡
    發(fā)表于 04-11 07:02

    單片機(jī)一個(gè)IIC連接兩個(gè)MPU9250如何設(shè)置讀取磁力計(jì)的模式?

    在STM32單片機(jī)的一個(gè)IIC接口上同時(shí)連了兩個(gè)MPU9250傳感器,將兩者的AD0分別設(shè)為高和低,對(duì)于磁力計(jì)都設(shè)置成Bypass模式,發(fā)現(xiàn)兩塊磁力計(jì)的數(shù)據(jù)都能讀出來,Bypass模式不是由單片機(jī)
    發(fā)表于 04-10 07:14

    找到一個(gè)基于stm32的mpu9250的驅(qū)動(dòng)程序,能移植到GD32上嗎?

    找到一個(gè)基于stm32的mpu9250的驅(qū)動(dòng)程序,能移植到GD32上嗎,需要更改哪些方面
    發(fā)表于 04-03 07:49

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】06-基于MPU9250的姿態(tài)解算

    報(bào)告可知MPU9250模塊和HPM5361的連接如下圖所示,這里MPU9250使用的是現(xiàn)成的模塊,其引腳定義在絲印上有,HPM5361開發(fā)板用的是開發(fā)板的SPI1,具體引腳為PA26、PA27、PA28
    發(fā)表于 01-17 14:55

    M-G370PDF1(IMU

    一般描述 M-G370PDF1是一個(gè)小的形狀因子慣性測量單元(IMU),具有6個(gè)自由度:三軸角速率和線性加速度,并提供了高穩(wěn)定性和高精度的測量能力與使用高精度補(bǔ)償技術(shù)。各種校準(zhǔn)參數(shù)被存儲(chǔ)在IMU
    發(fā)表于 01-11 17:00 ?0次下載

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】05 - SPI接口讀取MPU9250數(shù)據(jù)

    1、MPU9250簡介 MPU9250 數(shù)字運(yùn)動(dòng)處理器是一款 9 軸運(yùn)動(dòng)跟蹤設(shè)備,在小型緊湊型 IC 中集成了 3 軸加速度計(jì)、3 軸磁力計(jì)和 3 軸陀螺儀。DMP 具有三個(gè) 16 位分辨率
    發(fā)表于 01-03 11:46

    mpu6500和mpu6000哪個(gè)好

    mpu6500和mpu6000各有優(yōu)勢(shì)。MPU6500和MPU6000是由英飛凌(InvenSense)公司開發(fā)的兩種九軸慣性測量單元(IMU
    的頭像 發(fā)表于 12-27 17:52 ?3177次閱讀

    IMU/GNSS與車體外參標(biāo)定

    問題經(jīng)常是IMU/GNSS與車體坐標(biāo)的外參、Lidar和Camera的外參、Lidar和Lidar的外參、Lidar和IMU/GNSS的外參。 離線外參標(biāo)定 1.1 IMU/GNSS與車體外參標(biāo)定 這個(gè)
    的頭像 發(fā)表于 11-20 15:34 ?1165次閱讀
    <b class='flag-5'>IMU</b>/GNSS與車體外參標(biāo)定

    SPI讀取mpu9250設(shè)備ID也就是WHOAMI總是變的原因?

    SPI讀取mpu9250設(shè)備ID也就是WHO AM I 我讀了一堆不斷變化的器件id…… 我首先用adxl345試了一波,adxl的器件id地址是0x00(adxl的WHO AM I?),讀到
    發(fā)表于 10-28 06:11

    9250-27 數(shù)據(jù)表

    9250-27 數(shù)據(jù)表
    發(fā)表于 10-10 18:30 ?0次下載
    <b class='flag-5'>9250</b>-27 數(shù)據(jù)表

    具有最大1Gb DDR2 SDRAM的SAMA5D2 SIP MPU

    電子發(fā)燒友網(wǎng)站提供《具有最大1Gb DDR2 SDRAM的SAMA5D2 SIP MPU.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 10:11 ?0次下載
    <b class='flag-5'>具有</b>最大1Gb DDR2 SDRAM的SAMA5D2 SIP <b class='flag-5'>MPU</b>