PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CMPS via I2c Abfragen ...



Ritchie
08.10.2007, 20:58
Hi,

ich habe irgendwie Ärger mit meinem Kompass-modul.

Zeitweise bekomme ich falsche Werte gemeldet, was eine korrekte Auswertung unmöglich macht.

So scheint mir zeitweise der Kompass keine Antwort zu senden .

Hat jemand ähnlich Erfahrung gemacht.

Kalibriert habe ich den Kompass bereits X-mal. Per I2C Kommandos und zuletzt auch über die Schaltervariante.
Das hat die Störung nicht beseitigt.
Ebenso habe ich das Signal für 50Hz Wechselspannung angelegt. (Ist eigentlich nicht wirklich notwendig.


Auch habe ich schon eine Delayzeit mit 1 Sekunde zwischen Register setzen und Wert auslesen gesetzt. Ohne Erfolg.

Gruss Ritchie

roboterheld
08.10.2007, 21:21
das ist so, manchmal fängt er mitten drin an zu hudeln. ich nehme 2 messwerte oder 3 und vergleiche die. weichen die zu stark ab, werden neue messwerte genommen. dieses mache ich als dauerzustand sonst hat die ganze richtungsspielerei keinen sinn.

mfg

Ritchie
08.10.2007, 21:38
Ups,
ich habe sowas schon geahnt. Mir scheint da aber dann ein dicker Bug in der Software zu sein.

Gibt es ein Software Update hierfür ?

Gruss Ritchie

roboterheld
08.10.2007, 22:05
ne, gibt es nicht. was willst du von solch billigen sensoren verlangen für unseren hobbybereich. für das was wir damit machen wollen reicht es vollkommen.

Ritchie
08.10.2007, 22:24
Na ja,
zumindestens einen stabilen Wert. So stimmt die Genauigkeitsangabe ja vorne und hinten nicht.

Bei der Werteprüfung habe ich teilweise festgestellt, das auch zwei Werte hintereinander falsch sind. Da würde mein Robie in die falsche Richtung fahren oder ein Hindernis falsch in die Karte einzeichnen. Selbst bei der Kontrolle der Werte auf Abweichung. Hier würde der richtige Wert als falsch eingestuft werden.

Das gefällt mit garnicht :- (

Gruss Ritchie

P.S.: Das sollte auch im Hobbybereich gehen. So billig war der nun auch nicht. (40 Euronen)

Jon
09.10.2007, 07:29
Bei mir macht der CMPS keine Probleme.
Wie sieht es bei dir mit der Abschirmung aus?
Man sollte den auf jeden Fall 20cm von den Motoren weg einbauen, oder mit einer Eisenplatte die Motoren abschirmen. Sonst kann es zu den von dir geschilderten Problemen kommen.
Auch Kabel in der Nähe vom CMPS, durch die mehr als 1A laufen sind problematisch und müssen abgeschirmt werden.

jon

Ritchie
09.10.2007, 08:07
Hi,

ich habe das Problem bereits, wenn ich noch keine Motoren an habe.

Ebenso ist das Problem vorhanden, ob WLAN an oder aus ist.

Gruss Ritchie

Ritchie
09.10.2007, 08:10
Ach ja,

irgendwie habe ich auch ein Problem. Eine Eisenplatte einzubauen. Hierdurch wird der Kompass doch noch mehr abgelenkt.

Gruss Ritchie

Jon
09.10.2007, 08:10
In den Motoren ist schon ein Magnet eingebaut, der immer "strahlt". Wenn du die Motoren aus deinem Bot ausbaust, wird es sehr wahrscheinlich gehen.

jon

Ritchie
09.10.2007, 19:11
Hi Jon,
generell zeigt der Sensor ja die richtigen Daten an.

Hier scheint ein Software-Fehler im Kompass Modul vorhanden zu sein.

Wohl mit ein Grund warum in der aktuellen Version Rev 14 des Kompass
die Updaterate herunter gefahren wurde (Filterung der Daten).
Siehe Link: http://www.robot-electronics.co.uk/forums/viewtopic.php?t=74

Problem:
Der Kompass zeigt nach 20-30 gelesenen Wert plötzlich einen oder zwei Werte an, welche komplett falsch sind.

Derzeit scheint mit nur ein gestutzer Mittelwert von 10 bis 15 Werte eine mögliche Lösung.

Innerhalb des Roboters zeigt ein realer Kompass in zum gleichen Zeitpunkt korrekte Daten an. (Er ist aber auch träger, da aber die Motoren noch nicht laufen, ist mit einem gleichenbleibenem Magnetfeld.

Dies kann der Sensor auch durch eine Kalibrierung entsprechend verarbeitet.

Zum Abschirmen würde ich wenn nur "Mu" Blech nehmen, das ist mir aber zu teuer, da bevorzuge ich doch die Softwarelösung.

Siehe auch http://de.wikipedia.org/wiki/MU-Metall

Gruss Ritchie

DirkP
10.10.2007, 21:52
Hallo Ritchie!

Ich habe gerade ein Gadget mit Kompass gebaut und musste auch feststellen, dass der Kompass extrem empfindlich auf alle möglichen Metalle reagiert. Ich betreibe ihn gerade auf meinem Wohnzimmertisch (Kompass mit 15cm Abstand zum Tisch nach oben) und kann trotzdem die Schrauben im Tisch ausmachen. Je nach Position auf dem Tisch findet er Norden mit bis zu 90 Grad Abweichung!!! Ist halt so.

Gruß Dirk

Ritchie
11.10.2007, 20:48
Hallo,

ich habe jetzt einen Software-Filter (Merdian Filter, 20 Werte) eingebaut. Hierdurch habe ich die Fehleranzahl deutlich verringert.

Die Optimierung ist aber noch nicht fertig. Ich muss auch noch prüfen,
ob ich zu schnell den Wert abfrage.

Zwischen Register setzten und Wert auslesen dürfen nicht weniger als 50 yS sein. Das kann der Kompass nicht ab.

Gruss Ritchie

Ritchie
13.10.2007, 20:40
Hallo Zusammen,

ich konnte den Fehler finden.

Wenn man sich die Daten als Binarywert anzeigen laesst, konnte ich feststellen, das der Fehler immer auftritt, wenn der Low Wert auf den Wert =0xFFHex springt.

Wiederholt man den Lesevorgang bei diesem Fall, wird der Wert immer korrekt ermittelt.

Gruss Ritchie :D

df5zx
06.11.2007, 23:50
Moin,

ich habe auch ein Problem: neuer, ungebrauchter CPMS03, Rev.11 mit den BASCOM-Demo-Programm von hier betrieben.
Der Kompass zeigt nur Werte von ca. 155-210 Grad an. Eine Kalibierung scheint nicht zu gehen, insbesonders ist immer die Richtung, bei der man zuletzt Pin 6 mit Masse verbunden hat, diejenige, bei der als Richtung 180 Grad angezeigt wird.
Ein parallel geführter "normaler" Kompass zeigt keine Abweichungen an ...

Irgendeine Idee?

Werte kleiner ca.155 Grad kommen nur raus, wenn ich den CMPS03 kippe, so dass er nicht mehr parallel zur Erdoberfläche ist ...

Danke im Voraus für Tips oder Ideen,

Jürgen