Forum: Mikrocontroller und Digitale Elektronik hmc5883l - Winkel berechnen?!


von Jan H. (janiiix3)


Angehängte Dateien:

Lesenswert?

Hallo,

gibt es eine Möglichkeit aus den gemessenen Achsen, die Winkel zu 
bestimmen / berechnen?

Habe jetzt die Messdaten von den 3 Achsen vorliegen ( X , Z , Y ).
Wollte versuchen sowas wie eine "Digitale Wasserwaage" zu basteln.. Muss 
nicht wirklich genau sein.. Einfach nur um den Sensor mal zu testen.

Dafür bräuchte ich am besten den berechneten Winkel von der 'X' Achse.

Da ich kein Mathe-Prof. bin bräuchte ich mal euer Wissen.

Das Datenblatt liegt mit bei.

von A.. P. (arnonym)


Lesenswert?

Ermittle doch einfach den Wertebereich deines Sensors, indem du ihn um 
jede Achse einmal bis zum negativen/positiven Vollausschlag neigst. 
Danach kannst du zu jedem Wert einfach den gewünschten Winkel im Bereich 
[-90°; 90°] errechnen. Dafür muss man auch kein Matheprofessor sein.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ein Problem ist, dass der Sensor seinen Standort nicht kennt. Die 
Z-Komponente des Erdmagnetfelds hängt vor allem vom Breitengrad ab, dazu 
kommen lokale Störungen und die Missweisung die jeder Kompass hat.

Aber der obige Vorschlag nach dem Motto "Versuch macht kluch" ist gut.

von StefG (Gast)


Lesenswert?

Eigentlich braucht man für eine "digitale Wasserwaage" einen 3D 
Beschleunigungssensor. Das Magnetfeld zeigt ja bloss etwa nach 
"Nord-Unten".

von RP6conrad (Gast)


Lesenswert?

Dafur nutzt du eine Math function : Winkel = atan2(X,Y). Einfach die X 
und Y achse nutzen, Z-achse soll dan die senkrechte sein. Erst muss das 
kompass kalibriert werden : die Offsets von jeden Achse vermessen und 
das verrechnen. Die offsets vermessen kannst du machen durch erst min 
und max Werte ueber eine ganse Umdrehung zu vermessen. Bei Offset 0 soll 
max= -min. Offset ist (max-min)/2. Suche auch nach "hard iron" 
kalibration.
Wichtig, atan2 gibt die Ergebnis in radialen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.