ArduMower: Inertialnavigation: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 31: | Zeile 31: | ||
===== Gierrratensensor ITG3200 ===== | ===== 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 ===== | ===== 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 ===== | ===== 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 == | == Schnittstellen == |
Version vom 3. Juli 2017, 11:58 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.
Autoren: 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