IMU MPU-9250/6500: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 16: Zeile 16:
= Technische Übersicht =
= Technische Übersicht =
{| class="wikitable"
{| class="wikitable"
|+ Tabelle 1: Eigenschaften des MPU-9250/6500
<!--|+ style = "text-align: left"| Tabelle 1: Eigenschaften des MPU-9250/6500 -->
! style="font-weight: bold;" | Eigenschaft
|-
! style="font-weight: bold;" | Daten
! Eigenschaft !! Daten
|-
|-
| Artikel || MPU-9250/6500
| Artikel || MPU-9250/6500
Zeile 42: Zeile 42:
! Pin !! MPU-9250  !! Signal !! Arduino Uno R3
! Pin !! MPU-9250  !! Signal !! Arduino Uno R3
|-
|-
| 1 || Betriebsspannung Vcc  ||   ||  
| 1 || Betriebsspannung Vcc  || VCC  || VCC, 3,3&thinsp;V
|-
|-
| 2 ||  Masse GND || 3-5&thinsp;V || VCC, 3,3&thinsp;V
| 2 ||  Masse GND || GND || GND
|-
|-
| 3 || SCL || Empfang von Daten || TX, D4
| 3 || SCL || I<sup>2</sup>C Taktleitung || SCL
|-
|-
| 4 || SDA  || Senden von Daten|| RX, D3
| 4 || SDA  || I<sup>2</sup>C Datenleitung|| SDA
|-
|-
| 5 || EDA || ||
| 5 || EDA || ||
Zeile 67: Zeile 67:
=Software=
=Software=
==Arduino==
==Arduino==
=== I²C-Scanner ===
Prüfen Sie welche Sensoren am I2C-Bus angeschlossen sind.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>DemoI2C_Scanner.ino  &thinsp;</strong>
|-
| <source line lang="C" style="font-size:medium">#include <Wire.h>
void setup()
{
  Serial.begin(115200);
  Wire.begin();
  Serial.println("I2C Scan");
  for(byte address=1; address<127; address++)
  {
    Wire.beginTransmission(address);
    if(Wire.endTransmission()==0)
    {
      Serial.print("Gefunden: 0x"); // 0x71 MPU9250 auf einem GY-6500/GY-9250-Board
      Serial.println(address, HEX);
    }
  }
}
void loop(){}
</source>
|}
URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoI2C_Scanner/DemoI2C_Scanner.ino
'''Erwartetes Ergebnis'''
I2C Scan
Gefunden: 0x68
<code>0x68</code> ist die I²C-Adresse des Sensors.
=== Prüfen welcher Chip verbaut wurde ===
=== Prüfen welcher Chip verbaut wurde ===
Bei diesen Modulen kommt es vor, dass ein Board als MPU-9250 verkauft wird, aber tatsächlich ein MPU6500 bestückt ist.
Bei diesen Modulen kommt es vor, dass ein Board als MPU-9250 verkauft wird, aber tatsächlich ein MPU6500 bestückt ist.


Lesen Sie das Register 0x75 per I²C aus.
Lesen Sie das Register <code>0x75</code> per I²C aus.
{| class="wikitable"
{| class="wikitable"
|+ Tabelle 1: Erwartete Antwort
|+ Tabelle 1: Erwartete Antwort
Zeile 112: Zeile 144:
|}
|}
  URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoWhoAmI/DemoWhoAmI.ino
  URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoWhoAmI/DemoWhoAmI.ino
=== I²C-Scanner ===
Prüfen Sie welche Sensoren am I2C-Bus angeschlossen sind.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>DemoWhoAmI.ino  &thinsp;</strong>
|-
| <source line lang="C" style="font-size:medium">#include <Wire.h>
void setup()
{
  Serial.begin(115200);
  Wire.begin();
  Serial.println("I2C Scan");
  for(byte address=1; address<127; address++)
  {
    Wire.beginTransmission(address);
    if(Wire.endTransmission()==0)
    {
      Serial.print("Gefunden: 0x"); // 0x71 MPU9250 auf einem GY-6500/GY-9250-Board
      Serial.println(address, HEX);
    }
  }
}
void loop(){}
</source>
|}
URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoI2C_Scanner/DemoI2C_Scanner.ino


=== Arduino-Bibliothek installieren===
=== Arduino-Bibliothek installieren===

Aktuelle Version vom 22. Juli 2026, 06:07 Uhr

Abbildung 1: IMU MPU-9250/6500

Autor: Prof. Schneider


Einleitung

Die Inertiale Messeinheit (Engl. intertial measurement unit, IMU) ist ein 9-Achsen-Positionserkennungsmodul, das die folgenden Sensoren kombiniert:

  • 3-Achsen-Gyroskop
  • 3-Achsen-Beschleunigungssensor
  • 3-Achsen-Magnetfeldsensor (Erdmagnetfeld/Kompass)

Ein Digital Motion Processor (DMP) ist zudem in einer winzigen Gehäusegröße von nur 3x3x1 mm verbaut. Das Modul kann über einen I2C-Bus angesprochen werden. Der MPU-9250 ist ein Multi-Chip-Modul welches die MPU-6500 (Geschleunigung und Gyro) via I2C mit dem AKM-8963 (Magnetometer) verbindet.

Technische Übersicht

Eigenschaft Daten
Artikel MPU-9250/6500
ADU 3x 16-Bit Analog-Digital Konverter für Gyro, Beschleunigung und Magnetfeld
Schnittstelle I2C und SPI Schnittstelle
Spannungsversorgung 3 V bis 5 V
Messbereich Gyroskop einstellbar: ±250, ±500, ±1000 and ±2000 °/s
Messbereich Beschleunigung einstellbar: ±2g, ±4g, ±8g and ±16g
Messbereich Magnetometer ±4800 µT
Hersteller InvenSense, TDK

Pinbelegung

Pin MPU-9250 Signal Arduino Uno R3
1 Betriebsspannung Vcc VCC VCC, 3,3 V
2 Masse GND GND GND
3 SCL I2C Taktleitung SCL
4 SDA I2C Datenleitung SDA
5 EDA
6 ECL
7 ADO/SDO
8 INT
9 NCS
10 FSYNC

Messverfahren

Software

Arduino

I²C-Scanner

Prüfen Sie welche Sensoren am I2C-Bus angeschlossen sind.

URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoI2C_Scanner/DemoI2C_Scanner.ino

Erwartetes Ergebnis

I2C Scan
Gefunden: 0x68

0x68 ist die I²C-Adresse des Sensors.

Prüfen welcher Chip verbaut wurde

Bei diesen Modulen kommt es vor, dass ein Board als MPU-9250 verkauft wird, aber tatsächlich ein MPU6500 bestückt ist.

Lesen Sie das Register 0x75 per I²C aus.

Tabelle 1: Erwartete Antwort
Chip WHO_AM_I
MPU-6500 0x70
MPU-9250 0x71
URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoWhoAmI/DemoWhoAmI.ino

Arduino-Bibliothek installieren

MPU9250_asukiaaa

Tabelle 1: Übersicht der Demos
Demo Funktion
DemoUnoR4Wifi.ino Demo zum Senden von Sensordaten via Wifi für die Arduino IDE
DemoUnoR4Wifi.m Demo zum Empfangen von Sensordaten via Wifi mit MATLAB®
GetDate.ino Demo zum Auslesen der IMU-Daten des Sensors MPU 9250
E15_RadInkrementalgeberFahrt.ino Demo zum Ansteuern der Motoren und auslesen der Odometrie des AlphaBot

Weitere AlphaBot und Arduino Demos finden Sie im SVN-Repositorium

https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/

MATLAB®

Simulink

Messung

Video

How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino

Datenblätter


→ zurück zum Hauptartikel: Sensor-Baukasten | HSHL-Mechatronik-Baukasten