PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CMPS10 defekt?



avlbger
16.07.2012, 12:57
Hallo zusammen.

Hier haben sich sicher schon einige mit dem Kompassmodul CMPS10 beschäftigt oder es im Einsatz.

Ich habe ein seltsames Verhalten meines CMPS10 festgestellt und wollte mal nachfragen ob jemand dazu eine Idee hat oder dasselbe gesehen hat.

Ich spreche das Modul über I2C an und lese die Neigungsinformation sowie die 16bit information der magnetischen Richtung aus. Bisher hat das auch anstandslos geklappt, nur seit kurzem steht im 16Bit-Register für die Richtungsinformation nur noch 6553 egal in welche Richtung das Ding zeigt. Die Neigungsinformationen stimmen nach wie vor. Es wurde nichts am Code oder der Schaltung geändert.

Kann es möglich sein dass sich da nur der Kompass-Teil verabschiedet und nun einen fixen unsinnigen Wert ausgibt? Tausche ich den CMPS10 funktioniert es wieder... es liegt also definitiv an diesem einen CMPS10.. aber so ein Teil raucht doch entweder komplett ab oder gar nicht??

Alles kein Problem nur der Ersatz CMPS10 scheint auch nicht ganz korrekt zu funktionieren... es sieht aus als würde die Neigungskompensation bei diesem nicht funktionieren... das hatte beim anderen als der noch ging erstaunlich gut geklappt..

Irgendwie steh ich da vor einem Rätsel.. hatte jemand schon solche Erfahrungen mit einem CMPS10?

Viele Grüße,
avlbger

Chypsylon
24.07.2012, 22:06
Ich habe leider nur den Vorgänger cmps03 verwendet und auch die haben hin und wieder "gesponnen" aber normalerweise hat da eine neu-kalibrierung immer geholfen.

Beim cmps10 geht das leider ein bisschen schwerer aber ein Versuch schadet sicher nicht (mehr) und kostet auch nichts:


Calibration the CMPS10
I would recommend evaluating the CMPS10 performance first before implementing this function. Its purpose is to remove offsets caused by constant magnetic sources around the CMPS10. First of all you need to determine North and align the CMPS10 with it, then enter the calibration mode by writing 0xF0 to the command register (22). To calibrate the first point write 0xF5 to the command register, this should also light the LED, then move the object through 90° and write 0xF5 to the command register. Repeat this twice more so four points are calibrated and the LED should also turn off to confirm calibration completion. Please make sure that the CMPS10 is not located near to ferrous objects as this will distort the magnetic field and induce errors in the reading.

Restoring Factory Calibration
Should you need to revert to the factory calibration then write the following to the command register in 3 separate transactions with 100ms between each transaction: 0x20,0x2A,0x60. These commands must be sent in the correct sequence to restore the calibration, additionally, No other command may be issued in the middle of the sequence. The sequence must be sent to the command register at location 22, which means 3 separate write transactions on the I2C bus. (A write transaction is [start sequence] [I2C address] [register address] [command byte] [stop sequence] then a 100mS delay).

Sonst könntest du auch noch direkt den Hersteller (http://www.robot-electronics.co.uk/acatalog/Contact.html) kontaktierenvielleicht machen die ja aus Kulanz was ;)

avlbger
24.07.2012, 22:29
Danke für deine Antwort,

Habe den Hersteller bereits kontaktiert und die haben echt schnell geantwortet, ein Lob nochmal in diese Richtung ;)
Der Hersteller meinte es könnte sein dass irgendwie die Werte für die Kompensation verhunzt seien und ich erstmal versuchen sollte einen Factory-Reset durchzuführen.

Das habe ich gemacht und siehe da... alles klappt wie es soll ;)
Weiß zwar nicht wie das gehen konnte dass das zerschossen wurde, da ich ja nur Daten auslese und in diesem Teil nichts beschreibe aber solange es sich so einfach lösen lässt kann ich damit leben... das Teil ist ja einfach super für diesen Preis..
Bisher läufts ohne Probleme..

Ahja.. bezüglich des Problems dass ich das Gefühl hatte dass die Neigungskompensation nicht richtig funktioniert... einfach mal den Chip anders halten.. bin mir jetzt nicht mehr sicher da ich das Ding eingeschrumpft habe, aber ich glaube es funktioniert deutlich besser wenn die Platinenseite mit den Chips nach oben zeigt.

Viele Grüße,
avlbger