robert_s
27.07.2011, 16:12
Hallo zusammen,
ich versuche seit einigen Tagen einen ITG 3200 (3 Achsen Gyro) mit einem AVR ATMega 48 auszulesen, der ITG sitzt (neben einem ADXL345) auf einem
Sparkfun-Board (http://www.sparkfun.com/products/10121).
der ADXL lässt sich problemlos auslesen, beim ITG kann ich sämtliche Steuerregister beschreiben und auch wieder auslesen. I2C und die Datenausgabe funktionieren also einwandfrei.
Wenn ich allerdings versuche die Register 0x1b bis 0x22 (Drehraten und Temperatur) auszulesen, bekomme ich immer 0x00 zurück. Die Symptome sprechen dafür, dass der Gyro im Sleep-Modus ist, aber das ist habe ich durch setzen bzw löschen der "sleep" und "stby" Bits im Power-Management-Register bereits ausgeschlossen.
der ITG wird folgendermaßen Initialisiert:
Register : Registerbedeutung : Wert : Bedeutung
0x3e : Power Management : 0x80 : Reset
0x3e : Power Management : 0x03 : Clocksource Z-Achse
0x15 : Samplerate Divider : 0x07 : 125 Samples / s
0x16 : DLPF, Full Scale : 0x19 : 2 kDeg / s; TP: 188Hz; ISR: 1kHz
0x17 : Interrupt Control : 0x00 : Interrupts Ausgeschaltet
Danach beginnt eine Endlosschleife, die den Inhalt eines Registers
ausliest und ausgibt.
Bleibt die Frage:
Wie überrede ich den ITG dazu, mir die Daten zu liefern?
Oder sollte ich eher Watterott dazu überreden, mir nen neuen Sensor zu
liefern? ;-)
MfG, Robert S
ich versuche seit einigen Tagen einen ITG 3200 (3 Achsen Gyro) mit einem AVR ATMega 48 auszulesen, der ITG sitzt (neben einem ADXL345) auf einem
Sparkfun-Board (http://www.sparkfun.com/products/10121).
der ADXL lässt sich problemlos auslesen, beim ITG kann ich sämtliche Steuerregister beschreiben und auch wieder auslesen. I2C und die Datenausgabe funktionieren also einwandfrei.
Wenn ich allerdings versuche die Register 0x1b bis 0x22 (Drehraten und Temperatur) auszulesen, bekomme ich immer 0x00 zurück. Die Symptome sprechen dafür, dass der Gyro im Sleep-Modus ist, aber das ist habe ich durch setzen bzw löschen der "sleep" und "stby" Bits im Power-Management-Register bereits ausgeschlossen.
der ITG wird folgendermaßen Initialisiert:
Register : Registerbedeutung : Wert : Bedeutung
0x3e : Power Management : 0x80 : Reset
0x3e : Power Management : 0x03 : Clocksource Z-Achse
0x15 : Samplerate Divider : 0x07 : 125 Samples / s
0x16 : DLPF, Full Scale : 0x19 : 2 kDeg / s; TP: 188Hz; ISR: 1kHz
0x17 : Interrupt Control : 0x00 : Interrupts Ausgeschaltet
Danach beginnt eine Endlosschleife, die den Inhalt eines Registers
ausliest und ausgibt.
Bleibt die Frage:
Wie überrede ich den ITG dazu, mir die Daten zu liefern?
Oder sollte ich eher Watterott dazu überreden, mir nen neuen Sensor zu
liefern? ;-)
MfG, Robert S