chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用MPU9250獲取實時位置

使用MPU9250獲取實時位置

2023-02-01 | zip | 0.03 MB | 次下載 | 2積分

資料介紹

描述

主條目:使用MPU9250獲取實時位置

MPU-9250 是目前最先進的加速度計、陀螺儀和羅盤組合小尺寸傳感器之一。它取代了流行的 MPU-9150,降低了功耗,改善了陀螺儀噪聲和羅盤滿量程范圍性能。它具有許多高級功能,包括低通濾波、運動檢測甚至可編程專用處理器

它內(nèi)部包括 MPU-6500,其中包含一個 3 軸陀螺儀和一個 3 軸加速度計,以及AK8963 ,市場領(lǐng)先的 3 軸數(shù)字羅盤。MPU-9250 使用 16 位模數(shù)轉(zhuǎn)換器 (ADC) 對所有 9 個軸進行數(shù)字化。

MPU-9250 是一款高性能加速度計、陀螺儀和磁力計選項,適用于手勢識別、自平衡機器人、手機、健身監(jiān)測等應(yīng)用,以及需要檢測運動方向和幅度以及旋轉(zhuǎn)的類似應(yīng)用。閱讀帶有 Arduino 的 MPU9250 傳感器一文中,我們介紹了該模塊以及如何與其交互。以及,使用互補濾波器來獲得相對位置。現(xiàn)在讓我們看看 MPU9250 模塊的全部功能:混合使用陀螺儀、加速度計和磁力計來獲得實時準確位置。

陀螺儀

陀螺儀是一種用于測量或保持方位和角速度的裝置。角速度以每秒度數(shù)(或弧度)為單位測量,是單位時間內(nèi)物體旋轉(zhuǎn)角度的變化。

加速度計

加速度計傳感器是測量加速度的集成電路 (IC),加速度是單位時間內(nèi)速度的變化。測量加速度可以獲取物體傾斜和振動等信息。

通常,g用作加速度的單位,相對于標準重力 (1g = 9.80665m/s2)。

磁力計

磁力計提供有關(guān)設(shè)備傳感器檢測到的磁場的信息,理論上可以暴露用戶的位置。磁力計傳感器以 μT(微特斯拉)為單位測量所有三個物理軸(x、y、z)的磁場。

接線圖

按照下圖連接圖連接電源管腳和SDA、SCL管腳。

pYYBAGNOS7aAGaVsAADaa8uh5VY306.png
Arduino Nano 接線與 MPU9250
?

注意:該模塊的工作電壓為 3.3 伏,盡管某些版本具有允許將其連接到 5V 的穩(wěn)壓器。請務(wù)必在使用前檢查您的模塊規(guī)格。

相對和絕對方向

相對方向是一個對象相對于另一個對象的位置和方向的恢復(fù)。根據(jù)方向,存在三種類型的角速率測量:

  • 偏航:從上方看物體時在平面上的水平旋轉(zhuǎn)。
  • 俯仰:從前面看到的物體的垂直旋轉(zhuǎn)。
  • 滾動:從前面看物體時的水平旋轉(zhuǎn)。

使用平面的每個軸的圖形表示:

poYBAGPXac2AI4skAAAaTaUqXBQ362.png
?

絕對方向是磁力計的常見用例之一,表示相對于地球平面的固定方向(固定到磁場矢量和重力矢量)。

噪音和錯誤

在理想情況下,具有應(yīng)用公式的傳感器數(shù)據(jù)將為我們提供精確和精確的角度。實際情況有所不同,因為某些因素會影響傳感器輸出。

通常,當您使用加速度計四處移動時,它會經(jīng)歷運動加速度。額外的加速度值可能會影響定向精度。另一個與加速度計相關(guān)的問題是噪聲:電信號中不需要的干擾。加速度計能夠測量任何角度,但是它的讀數(shù)有噪聲并且即使使用低通濾波器也有一定的誤差范圍。

另一方面,陀螺儀存在偏置不穩(wěn)定性,其中陀螺儀的初始零讀數(shù)會由于設(shè)備內(nèi)固有缺陷和噪聲的集成而導(dǎo)致隨時間漂移。

在需要通過傳感器融合進行絕對定位的應(yīng)用中,磁力計對于校正陀螺儀漂移是絕對必要的。磁力計問題是它們的非理想響應(yīng)面和位置依賴性。

獲取實時位置

有不同的算法來解決錯誤和噪聲問題。我們將使用四元數(shù)。四元數(shù)用于純數(shù)學(xué),但在應(yīng)用數(shù)學(xué)中也有實際用途,特別是涉及三維旋轉(zhuǎn)的計算。它們可以與其他旋轉(zhuǎn)方法一起使用,例如歐拉角和旋轉(zhuǎn)矩陣,或者作為它們的替代方法,具體取決于應(yīng)用程序。MPU9250 庫的使用使我們擺脫了對四元數(shù)所有復(fù)雜性的理解,并且實現(xiàn)已經(jīng)完成。

磁偏角

應(yīng)根據(jù)您要獲得準確數(shù)據(jù)的位置來設(shè)置磁偏角。您可以在此處找到您所在城市的磁偏角。

poYBAGPXadCAKmrjAAAPdOX5axw176.png
?

請注意,此處的偏角目前為 1? 38'。提供的格式需要轉(zhuǎn)換為代碼的十進制度數(shù)。每度有60分鐘,其中38分鐘為度的38/60,即0.63。1? 38' 的十進制格式的赤緯為 1.63。使用您所在位置的偏角更新代碼MAGNETIC_DECLINATION常量。

磁性校準

有一種簡單的方法可以自動校準并糾正磁力計數(shù)據(jù)的一些錯誤。以八字形模式緩慢移動傳感器,并跟蹤在六個主要方向中的每一個方向上測量的最小和最大場。可以從后續(xù)數(shù)據(jù)中減去平均值,這相當于將響應(yīng)曲面重新置于原點的中心該庫具有自動為我們執(zhí)行的校準功能,我們只需要在校準開始時將傳感器移動成 8 字形即可。

為 MPU9250 安裝 Arduino 庫

要與 MPU9250 模塊交互,我們可以使用原始實現(xiàn)或利用現(xiàn)有庫。該庫提供了一個與模塊通信接口,為我們節(jié)省了大量時間。另一個優(yōu)勢是多年來由社區(qū)測試和改進的健壯代碼庫。我們建議使用該庫并避免從頭開始實施所有內(nèi)容。它可以從我們的官方存儲庫下載。

要導(dǎo)入庫,請打開 Arduino IDE,轉(zhuǎn)到 Sketch > Include Library > Add.ZIP Library 并選擇從我們的 GitHub 存儲庫下載的庫文件。

poYBAGNOS6-AXK2tAABgOEnpXcY744.png
將外部庫包含到 Arduino IDE
?

然后你可以簡單地使用include語句:

#include "MPU9250.h"

它將包括具有預(yù)定義函數(shù)的庫,以與 MPU9250 交互。

Arduino代碼

下面的代碼很簡單,因為我們使用了一個庫,該庫提供了與 MPU9250 模塊交互的清晰接口。在設(shè)置函數(shù)中,我們配置和校準模塊并在循環(huán)中每隔INTERVAL_MS_PRINT毫秒打印一次輸出。

#include "MPU9250.h"

#define MPU9250_IMU_ADDRESS 0x68

#define MAGNETIC_DECLINATION 1.63 // To be defined by user
#define INTERVAL_MS_PRINT 1000

MPU9250 mpu;

unsigned long lastPrintMillis = 0;

void setup()
{
  Serial.begin(115200);
  Wire.begin();

  Serial.println("Starting...");

  MPU9250Setting setting;

  // Sample rate must be at least 2x DLPF rate
  setting.accel_fs_sel = ACCEL_FS_SEL::A16G;
  setting.gyro_fs_sel = GYRO_FS_SEL::G1000DPS;
  setting.mag_output_bits = MAG_OUTPUT_BITS::M16BITS;
  setting.fifo_sample_rate = FIFO_SAMPLE_RATE::SMPL_250HZ;
  setting.gyro_fchoice = 0x03;
  setting.gyro_dlpf_cfg = GYRO_DLPF_CFG::DLPF_20HZ;
  setting.accel_fchoice = 0x01;
  setting.accel_dlpf_cfg = ACCEL_DLPF_CFG::DLPF_45HZ;

  mpu.setup(MPU9250_IMU_ADDRESS, setting);

  mpu.setMagneticDeclination(MAGNETIC_DECLINATION);
  mpu.selectFilter(QuatFilterSel::MADGWICK);
  mpu.setFilterIterations(15);

  Serial.println("Calibration will start in 5sec.");
  Serial.println("Please leave the device still on the flat plane.");
  delay(5000);

  Serial.println("Calibrating...");
  mpu.calibrateAccelGyro();

  Serial.println("Magnetometer calibration will start in 5sec.");
  Serial.println("Please Wave device in a figure eight until done.");
  delay(5000);

  Serial.println("Calibrating...");
  mpu.calibrateMag();

  Serial.println("Ready!");
}

void loop()
{
  unsigned long currentMillis = millis();

  if (mpu.update() && currentMillis - lastPrintMillis > INTERVAL_MS_PRINT) {
    Serial.print("TEMP:\t");
    Serial.print(mpu.getTemperature(), 2);
    Serial.print("\xC2\xB0"); //Print degree symbol
    Serial.print("C");
    Serial.println();

    Serial.print("Pitch:\t");
    Serial.print(mpu.getPitch());
    Serial.print("\xC2\xB0"); //Print degree symbol
    Serial.println();

    Serial.print("Roll:\t");
    Serial.print(mpu.getRoll());
    Serial.print("\xC2\xB0"); //Print degree symbol
    Serial.println();

    Serial.print("Yaw:\t");
    Serial.print(mpu.getYaw());
    Serial.print("\xC2\xB0"); //Print degree symbol
    Serial.println();

    Serial.println();

    lastPrintMillis = currentMillis;
  }
}

測試

串行監(jiān)視器將每INTERVAL_MS_PRINT毫秒打印一次最后可用的傳感器數(shù)據(jù)(在上面的示例中,每秒一次),它應(yīng)該類似于:

pYYBAGPXadSAeInyAAAavl-bBHg264.png
測試輸出
?

通常方向繪制在物理模塊上,因此您可以輕松檢測俯仰和滾動。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊
  2. 0.40 MB   |  4次下載  |  2 積分
  3. 2光伏并網(wǎng)逆變器原理
  4. 7.31 MB   |  3次下載  |  2 積分
  5. 3T20電烙鐵原理圖資料
  6. 0.27 MB   |  2次下載  |  免費
  7. 4PL83081 雙路恒流同步降壓轉(zhuǎn)換器技術(shù)手冊
  8. 3.34 MB   |  1次下載  |  免費
  9. 5PL88052 4.8V至60V輸入,5A,同步降壓轉(zhuǎn)換器技術(shù)手冊
  10. 3.36 MB   |  1次下載  |  免費
  11. 6LX8201微孔霧化驅(qū)動芯片電路圖資料
  12. 0.15 MB   |  1次下載  |  免費
  13. 7PC6200_7V直流電機驅(qū)動器技術(shù)手冊
  14. 0.47 MB   |  次下載  |  免費
  15. 8恒溫晶體振蕩器(OCXO)FOC-2D:20.6×20.6mm在通信基站和測試設(shè)備中的應(yīng)用參數(shù)規(guī)格
  16. 485.75 KB  |  次下載  |  免費

本月

  1. 1如何看懂電子電路圖
  2. 12.88 MB   |  329次下載  |  免費
  3. 2RK3588數(shù)據(jù)手冊
  4. 2.24 MB   |  14次下載  |  免費
  5. 3PC5502負載均流控制電路數(shù)據(jù)手冊
  6. 1.63 MB   |  12次下載  |  免費
  7. 4STM32F10x參考手冊資料
  8. 13.64 MB   |  12次下載  |  1 積分
  9. 5OAH0428 V1.0英文規(guī)格書
  10. 5.86 MB   |  8次下載  |  免費
  11. 6NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊
  12. 0.40 MB   |  4次下載  |  2 積分
  13. 7PID控制算法學(xué)習(xí)筆記資料
  14. 3.43 MB   |  3次下載  |  2 積分
  15. 8光伏并網(wǎng)逆變器原理
  16. 7.31 MB   |  3次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935132次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191415次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183349次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81599次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73818次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65990次下載  |  10 積分