MPU-6050 mit raspberrypi verwenden

Gast #3979627
Lesenswert?

Hallo,

im Rahmen eines Komplexpraktikums wollen wir den Sensor MPU-6050 über 
einen Pi auslesen. Um genau zu sein, ist es ein gy-521 das nach 
folgender Anleitung an den rpi angeschlossen wurde:

http://blog.bitify.co.uk/2013/11/interfacing-raspberry-pi-and-mpu-6050.html

Mit i2cdetect wird der Sensor korrekt mit der Adresse 0x68 erkannt. Ein 
Auslesen mit
1
pi@raspberrypi ~ $ sudo i2cget -y 1 0x68 0x75
2
Error: Read failed

bringt jedoch keine Ergebnisse. Auf anderen Seiten wurde beschrieben, 
man muss den Sensor erst aus dem initialen Sleep-Mode wecken:
1
pi@raspberrypi ~ $ sudo i2cset -y 1 0x68 0x6b 0
2
Error: Write failed

"Write failed" tritt bei fast jeder Adresse auf. Gelegentlich lässt sich 
die Adresse 0x6c (2. Power-management-register) beschreiben, aber ohne 
weitere Erfolge:
1
pi@raspberrypi ~ $ sudo i2cdump -y 1 0x68
2
No size specified (using byte-data access)
3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
4
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
5
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
6
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
7
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
8
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
9
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
11
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
12
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
13
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
14
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
15
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
16
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
17
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
18
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
19
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20
pi@raspberrypi ~ $ sudo i2cset -y 1 0x68 0x6b 0
21
Error: Write failed
22
pi@raspberrypi ~ $ sudo i2cset -y 1 0x68 0x6c 0
23
pi@raspberrypi ~ $ sudo i2cdump -y 1 0x68
24
No size specified (using byte-data access)
25
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
26
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
27
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
28
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
29
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
31
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
32
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
33
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
34
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
35
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
36
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
37
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
38
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
39
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
41
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX

Momentan sind wir mit unserem Latein am Ende. Wisst ihr vielleicht, wie 
man den Sensor auslesen kann?
Gast #4002922
Lesenswert?

Wir haben das Problem mit einem Oszi und ein wenig I²C-Bus sniffen lösen 
können: Das Bussignal konnte man wunderbar sehen, jedoch gab es nach 
8bit ein Signal mit nur einer halb so hohen Amplitude wie die restlichen 
Signale. Genau bei diesem bit, sollte aber der Sensor antworten. Ergo 
lag die Vermutung nahe, dass der Widerstand, der in der Datenleitung auf 
dem Breakout-board eingelötet war, der Verursacher des Problems war. Die 
Überbrückung dieses Widerstandes war dann die Lösung :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren