Dass du (bei einem Byte) ausgerechnet die I2C-Adresse des CMPS03 zurück bekommst, (0xC0 = 192) erfüllt mich mit tiefem Misstrauen.
Ich würde nochmal einen scharfen Blick auf deine Routinen werfen.
Hallo zusammen,
ich versuche seit Gestern einen CMPS03 Kompass in Betrieb zu nehmen. Dabei stoße ich allerdings auf ein (aus meiner sicht) kurioses Problem : Der Sensor liefert mir immer den gleichen Wert zurück. Je nach Darstellungsart ist das entweder 192 (byte) oder 2360 (word).
Wenn ich eine Kalibrierung durchführe, dann liefert der Sensor die gleichen Werte, allerdings zwischendurch kurze Ausreisser ... z.B. alle 10 - 20 Messungen mal einen (scheinbar zufälligen) anderen Wert. Nach einem Reset bekomme ich dann wieder dauerhaft die Werte von oben.
Ich steuere den Sensor über I2C an, und kann die Kommunikation auch relativ sicher als Fehlerkriterium ausschließen. Der Sensor wird genauso angesteuert wie mein SRF02 Ultraschallsensor (sogar die gleichen Register) und dort funktioniert die Kommunikation einwandfrei.
Für mich sieht das so aus, als wäre der Sensor defekt ... zumindest kann ich mir keinen anderen Reim darauf machen. Hat jemand vielleicht eine Idee?
Dass du (bei einem Byte) ausgerechnet die I2C-Adresse des CMPS03 zurück bekommst, (0xC0 = 192) erfüllt mich mit tiefem Misstrauen.
Ich würde nochmal einen scharfen Blick auf deine Routinen werfen.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ich habe die I2C Kommunikation gestern mit einem Logik Analyzer untersucht, und da sieht alles normal aus ... nur halt mit dem Problemchen, dass ich beim auslesen des Registers 1 immer die 192 bekomme.
Gerade habe ich den PWM Pin mal ans Oszi angehängt, und bekomme dort einen Puls von ca. 27,xx ms.
Wenn die die 192 mal in Grad umrechne, komme ich auf ca. 271, was ja den 27,xx ms der PWM entspricht.
Ich hab auch garnicht die eigentlich Kommunikation in Verdacht, sondern dass du mit den Empfangsdaten (definitionen) irgendeinen Durcheinander hast
(niedergeschrieben, überschrieben, falsch adressiert, etc)
Wenn ich von einem Gerät mit der adresse hex"C0" immer ausgerechnet den Wert hex"C0" zurückbekomme, glaub' ich lieber an den Osterhasen.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
...Der Sensor liefert mir immer den gleichen Wert zurück....
Wenn du die Richtung des Cmps03 nicht änders, kommt immer der gleiche Winkel raus..ho..ho.
Setzt mal den Code hier rein, meine Glaskugel ist kaputt.
Das ganze hat sich mittlerweile erledigt ... auch wenn ich das ganze immer noch für sehr kurios erachte.
Der Sensor gibt immer den gleichen Wert raus wenn ich ihn mit der im Datenblatt angegebenen Spannung von 5 Volt betreibe. Drehe ich die Spannung hoch auf ca. 6 Volt, dann funktioniert er einwandfrei.
Verstehen muss ich das aber, als Software-Mensch, zum Glück nicht
Hallo,
also dass ist wirklich sehr ungewöhnlich, da kann eigentlich etwas nicht stimmern, ich habe ihn auch an stabilen 5V und da funktioniert er bisher ohne Probleme. Das er deutlich mehr als die durchschnittlich angegebenen 15mA, also Spitzen über 100mA, benötigt hast Du bei der Spannungsversorgung bedacht?
Gruß André
Lesezeichen