GY80-Modul I2C Device Adressen

rainer_r

Moderator
I2C Device-Adressen-Problem

Beim Anschluss des GY80 Modul mit den Sensoren 3G4200D, ADXL345, HMC5883L, BMP085 an den I2C Bus des Mega (nicht an einen Nano zur Vorverarbeitung) ergibt sich bei mir ein Adr.-Konflikt mit dem (bei mir eingebauten) RTC Modul DS1307 und dem Gyro L3G4200 auf dem GY80.

Im Detail haben meine Recherchen folg. zu den IMU GY80 I2C Device-Adr. ergeben:

- Compass HMC 5883 ........ Adr. 1E Hex
- Barometr.+Temp. BMP 085 .. Adr. 77 H
- Gyro L3G3200 ............. Adr. 69 H
- Accelerom. ADXL345 ....... Adr. 53 H

dazu kommt am I2C Bus noch

- LCD 2004 ................. Adr. 3F
- RTC DS1307 ............... Adr. 68 + 50

Bei meinen I2C Scan-Tests sehe ich bei dem Gyro L3G4200 die Dev-Adresse bei 68 (Hex), die dann mit dem RTC kollidiert. Eigentlich müsste die Dev-Adr. des Gyro bei 69 liegen. Dazu habe ich folgende Info gefunden:

In I²C mode, the gyro’s 7-bit slave address has its least significant bit (LSb) determined by the voltage on the SDO pin. The carrier board pulls SDO to VDD through a 10 kΩ resistor, making the LSb 1 and setting the slave address to 1101001b by default. If the gyro’s selected slave address happens to conflict with some other device on your I²C bus, you can drive SDO low to set the LSb to 0.

Wobei die 1101001 = 69 (Hex) ist wenn SD0 am Chip auf VCC (3,3V) liegt. Liegt SD0 auf 0V d.h. LSb=0 dann ist die Dev-Adr. bei 68 (Hex). Dach dem Schalbild liegt SD0 auf High-Level - also müsste die Dev-Adr. 69 Hex sein.
GY-80_Schematic_klein.jpg


Wer hat hierzu Erfahrung und kann helfen?
..
 
Hallo Rainer,

folgende Adressen ergeben sich bei mir:
L3G4200D Gyro b1101001 69hex
DS1307 RTC 1101000 68hex

Evtl. ist die Leitung defekt, hast Du mal nachgemessen?

Gruss,
Alexander
 
Hallo Alexander,

ja genau - sollte eigentlich 69 Hex sein - ich scanne aber bei meinem Modul die 68 Hex.
Leitungen checken auf dem Winzling ist praktisch unmöglich. Ich werde einmal ein anderes Modul testen.
 
@Rainer: man könnte evl. abfotografieren (und dann am Rechner vergrößert betrachten) oder vielleicht sieht man mit der Lupe etwas (z.B. Haarriß) - ist in der Tat schwierig...
 
Ich habe schon alles versucht etwas zu erkennen - geht definitiv nicht. Dann müsste man auch noch den Chip entfernen, denn ich sehe praktisch keine Leitungen. Dann habe ich versucht das Board-Layout zu googeln - meines aber nicht gefunden.
 
Auf dem von mir getesteten Modul, es ist wohl kein "original" GY80-Modul, liegt der Gyro L3G4200D i.d.Tat auf 68 Hex.
Ein anderes GY-80 Modul dagegen (gerade getestet) hat den Gyro auf 69Hex liegen.
Evt. hilft einem ja diese Info bei einem ähnlichen Problem.

Hier ist noch ein modifizierter I2C Scanner für die meisten IC2-Devices (mit dem jeweiligen Device-Name) die beim ArduMower oder MR2P verwendet werden. Er ist leicht zu erweitern und anzupassen.

MR2P_I2C_Scanner.zip

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/930/MR2P_I2C_Scanner.zip/
 
Zuletzt bearbeitet von einem Moderator:
Problem ist schon mal aufgetreten:

"But something still isn’t going as it should. The Configurator gui still gives errors and gyro is still not working. After further researcher, digging to death, i found that there is a parameter about the address of the L3G4200D that possibly conflicts. So to fix this let’s modify the Multiwii source, the file called “sensors.ino” you can access it by the tabs on the top of the arduino gui right after opening multiwii.ino.
This address has to be changed from 0×69 to 0×68. Just like this

Code.jpg


This will make the gyro works properly otherwise you will have a non-working gyro and messy values from other sensors."

Quelle: siehe hier

Gruß
Roger
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/974/Code.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Zum Thema IMU GY80 und vergleichbare bzw. verwendbare "Derivate" noch folgende Infos. Es werden auch IMU-Module angeboten die nicht 4 Sensoren

•L3G4200D (3-Axis Angular Rate Sensor)
•ADXL345 (3-Axis Digital Accelerometer)
•HMC5883L (3-Axis Digital Compass)
•BMP085 (Barometric Pressure Sensor)

sondern nur 3 Sensoren auf der LP haben. Es fehlt z.B. der BMP085 Barometric (+ Temperatur) Sensor.
Es kann aber auch jeweils ein anderer Sensor fehlen. Die I2C-Device-Adresse z.B. des L3G4200 kann jedoch statt auf 69Hex auf 68Hex liegen. Falls eine Alternative zum GY80 verwendet wird, sollte vorher der I2C-Bus zur Ermittlung der richtigen Device-Adressen gescannt werden.

Hier ein IMU 10DOF Modul (GY80):
10DOF-IMU-GY80.jpg


Hier ein IMU 9DOF Modul:
9DOF-IMU-GY80.jpg

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/930/10DOF-IMU-GY80.jpg/
 
Zuletzt bearbeitet von einem Moderator:
...nicht zu vergessen: auf dem abgebildeten IMU 9DOF Modul befindet sich ein "ITG-3205" (I2C Adresse meist 0x69) - der Code zum Auslesen ist geringfügig anders als beim L3G4200D...
 
Oben