ArduMower: Inertialnavigation: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:




Autoren: [[Benutzer:Hanno_Kerber| Hanno Kerber]]
 
'''Zusatzaufgabe''' von: [[Benutzer:Hanno_Kerber| Hanno Kerber]]


Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]],[[Benutzer:Mirekgoebel| Prof. Dr.-Ing. Mirek Göbel]]
Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]],[[Benutzer:Mirekgoebel| Prof. Dr.-Ing. Mirek Göbel]]
Zeile 57: Zeile 58:




Um die Register lesen zu können muss der Sensor zunächst initialisiert werden um aus dem Standby Modus in den Messmodus zu wechseln. Dazu wird
Um die Register lesen zu können muss der Sensor zunächst initialisiert werden, um aus dem Standby Modus in den Messmodus zu wechseln. Dazu wird
in dem Power Control Register
in dem Power Control Register



Version vom 3. Juli 2017, 11:00 Uhr


Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom Fachpraktikum Elektrotechnik im 6. Semester Mechatronik absolviert wurde. Ziel des Beitrags ist es, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.


Zusatzaufgabe von: Hanno Kerber

Betreuer: Prof. Dr.-Ing. Schneider, Prof. Dr.-Ing. Mirek Göbel


Der Artikel beschäftigt sich mit der Inbetriebnahme der IMU(Inertial Measurement Unit) GY-85 , die eine Kombination aus drei verschiedenen Sensoren auf einer Platine darstellt. Es sind dabei ein Magnetsensor (Kompass), ein Beschleunigungssensor und ein Gierratensensor vorhanden. Die Einbindung der Inertialnavigation bietet eine Grundlage zum autonomen Verfahren des Roboters. Aufbauend auf den Ergebnissen in Inertialnavigation wird inbesondere die Inbetriebnahme des Sensors in Matlab Simulink als Modul der Ardumower Hauptsoftware erläutert.


Aufgabe

Integration der IMU GY-85 in Matlab Simulink

Erwartungen an die Projektlösung

  • Lagebestimmung des Ardumower
  • Schnittstelle zur Hauptsoftware, insbesondere für die Module Fahrtregler und Kartierung

Herangehensweise

Die Kommunikation des Sensors mit dem Arduino erfolgt über den I2C Bus. Das Simulink Support Package für Arduino bietet einen I2C Block für eine vereinfachte Kommunikation zwischen Busteilnehmern. Dazu sind die Adressen der einzelnen Sensoren und die auszulesenen Register aus dem Datenblatt des Sensorboards zu ermitteln. Für den GY-85 lauten diese:


Gierrratensensor ITG3200

Slave Adresse: 0x68

Register:

  • ITG3200_XOUT_H 0x1D
  • ITG3200_XOUT_L 0x1E
  • ITG3200_YOUT_H 0x1F
  • ITG3200_YOUT_L 0x20
  • ITG3200_ZOUT_H 0x21
  • ITG3200_ZOUT_L 0x22


Beschleunigungssensor ADXL345

Slave Adresse: 0x53

Register:

  • ADXL345_XOUT_H 0x32
  • ADXL345_XOUT_L 0x33
  • ADXL345_YOUT_H 0x34
  • ADXL345_YOUT_L 0x35
  • ADXL345_ZOUT_H 0x36
  • ADXL345_ZOUT_L 0x37


Um die Register lesen zu können muss der Sensor zunächst initialisiert werden, um aus dem Standby Modus in den Messmodus zu wechseln. Dazu wird in dem Power Control Register

  • ADXL345_RA_POWER_CTL 0x2D

das Bit 3 gesetzt und die kontinuerliche Messung eingeschaltet.


Kompasssensor HMC5883L

Slave Adresse: 0x53

Register:

  • ADXL345_XOUT_H 0x32
  • ADXL345_XOUT_L 0x33
  • ADXL345_YOUT_H 0x34
  • ADXL345_YOUT_L 0x35
  • ADXL345_ZOUT_H 0x36
  • ADXL345_ZOUT_L 0x37


Schnittstellen

Benötige Hardware

  • IMU GY-85