步驟1:構(gòu)建
對(duì)于構(gòu)建,我使用Arduino Pro-Micro克隆,因?yàn)樗o湊。我希望有一個(gè)小的單元可以合并到其他項(xiàng)目中。
接線簡(jiǎn)單:
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è)附加的庫(kù)(復(fù)制到Arduino庫(kù)文件夾)。運(yùn)行MPU6050_DMP6.ino文件,并將代碼上傳到您的Arduino。要查看該演示,請(qǐng)運(yùn)行處理茶壺示例(位于庫(kù) MPU6050 Examples MPU6050_DMP6 Processing MPUTeapot中)。
我照顧的另一個(gè)問(wèn)題是正常運(yùn)行期間的斷電:斷開MPU-9150的電源,然后重新連接。代碼將重新初始化設(shè)備并繼續(xù)輸出數(shù)據(jù)。
步驟3:其他資源
我附加了MPU-9250寄存器映射文件。了解代碼的作用很有用。
這些庫(kù)來(lái)自Jeff Rowberg github:https://github.com/jrowberg/i2cdevlib
他還是一個(gè)支持論壇:http://www.i2cdevlib.com/forums
我希望將來(lái)將此內(nèi)容擴(kuò)展。
第4步:?jiǎn)栴}
此模塊遇到了一些問(wèn)題。
許多論壇提到的一個(gè)問(wèn)題是數(shù)據(jù)凍結(jié)。出于某些未知原因,該模塊會(huì)在一段時(shí)間后停止輸出數(shù)據(jù)。我認(rèn)為我通過(guò)查看代碼并解決了進(jìn)入要處理FIFO的部分的一些條件來(lái)解決此問(wèn)題。比較中斷寄存器時(shí)也有一個(gè)錯(cuò)誤-代碼中的數(shù)據(jù)就緒指示錯(cuò)誤。
另一個(gè)問(wèn)題是FIFO滿錯(cuò)誤,有很多經(jīng)驗(yàn)。我想我也通過(guò)不僅在收到中斷時(shí)也要在FIFO不為空時(shí)處理FIFO來(lái)解決此問(wèn)題。
我使用了5V器件Arduino Pro Micro作為MPU-9150是3.3V器件。但這實(shí)際上不是問(wèn)題。首先,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è)神秘的問(wèn)題是,在一段時(shí)間后設(shè)備收到了FIFO滿消息。正在運(yùn)行。但是,當(dāng)我斷開所有電源并再次重新連接時(shí),問(wèn)題仍然存在。它僅在我按下Arduino上的復(fù)位鍵后才停止(這里要提到的一件事是,只有在復(fù)位后Arduino Pro Micro才會(huì)在正常加電時(shí)才加載引導(dǎo)加載程序。8秒鐘后它將加載您的草圖)。我不知道啟動(dòng)引導(dǎo)程序后為什么解決了這個(gè)問(wèn)題。
我還做了另一處更改,并將一個(gè)串行轉(zhuǎn)USB轉(zhuǎn)換器連接到Arduino Pro Micro的RX/TX引腳上(USB Pro Micro的端口是虛擬設(shè)備,而不是真實(shí)的串行端口)。通過(guò)使用Serial1.begin而不是Serlal.begin來(lái)完成。經(jīng)過(guò)最后的更改后,我看到了改進(jìn),甚至一個(gè)小時(shí)后數(shù)據(jù)也沒有凍結(jié)。
我尚未解決的唯一問(wèn)題是,一段時(shí)間后,設(shè)備開始像旋轉(zhuǎn)一樣開始輸出瘋狂。我不確定是因?yàn)槲覍⒃O(shè)備保持太長(zhǎng)時(shí)間的靜態(tài)狀態(tài)還是由于其他故障導(dǎo)致的。
責(zé)任編輯:wv
-
Arduino
+關(guān)注
關(guān)注
190文章
6526瀏覽量
196986 -
MPU-9150
+關(guān)注
關(guān)注
1文章
3瀏覽量
10119
發(fā)布評(píng)論請(qǐng)先 登錄
Infineon TLE9250高速CAN FD收發(fā)器:汽車與工業(yè)應(yīng)用的理想之選
貿(mào)澤開售Xsens/Movella支持緊湊型工業(yè)、嵌入式和機(jī)器人應(yīng)用的Avior OEM IMU
IMU應(yīng)用領(lǐng)域及技術(shù)前景探討
求助!IMU選剛性還是柔性?復(fù)雜場(chǎng)景快愁哭了
IMU+多相機(jī)高速聯(lián)合自動(dòng)標(biāo)定方案
如何使用 NUC980 系列微處理器 (MPU) 構(gòu)建具有帶外 (OOB) 功能的簡(jiǎn)單遠(yuǎn)程監(jiān)控應(yīng)用?
IMU 能為無(wú)人機(jī)提供什么數(shù)據(jù)?
尋北級(jí)別精度的MEMS IMU
基于stm32和mpu9250的usb hid鍵盤、鼠標(biāo)、游戲控制器實(shí)例打包下載
九軸 IMU:賦能無(wú)人機(jī),開啟智能飛行新紀(jì)元
基于stm32和mpu9250的usb hid鍵盤、鼠標(biāo)、游戲控制器
MAX9150低抖動(dòng)、10端口LVDS轉(zhuǎn)發(fā)器技術(shù)手冊(cè)
具有ArduinoPro-Micro的MPU-9150 / 9250 IMU
評(píng)論