Forum: Mikrocontroller und Digitale Elektronik Einbaulage eines 3D-Sensors korrigieren


von Zonaar (Gast)


Lesenswert?

Ich habe hier einen 3D-Beschleunigungssensor, der in Ruhestellung und 
bei exakter Einbaulage einen Wert von ca. -9,81 für die Z-Richtung 
zurückliefern würde, X, und Y wären 0 (entsprechend der Gravitation in 
Z-Richtung, also von oben nach unten).

Allerdings kann es sein, dass der Sensor eben nicht exakt waagerecht 
eingebaut ist, sondern irgend wie schräg (allerdings keinesfalls um mehr 
als 180 Grad in irgend eine Richtung verdreht). Im Ergebnis misst dieser 
schief eingebaute Sensor in Ruhestellung dann irgend welche Werte für X, 
Y und Z, welche zusammen die nach unten gerichtete Gravitation bei 
dieser "schiefen" Einbaulage repräsentieren.

Diese Werte würde ich jetzt gerne verwenden, um daraus einen 
Korrekturwert zu errechnen, welcher mir aussagt, wie ich den Sensor in 
welche Richtung drehen müsste, um wieder eine exakt parallele und 
waagerechte Einbaulage zu erhalten. D.h. ich habe einen Sollvektor mit 
X=0, Y=0 und Z=-9,81 und einen Ist-Vektor mit X, Y und Z !=0 und müsste 
jetzt die Rotation ermitteln, die nötig ist um vom Istvektor auf den 
Sollvektor zu kommen. Nur: wie berechne ich das?

von Miška (Gast)


Lesenswert?

Stichwort Skalarprodukt?

von Zonaar (Gast)


Lesenswert?

Ähm...ja? Wo/wie liefert mir das die Winkel?

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Hi, Zonaar,

> Ähm...ja? Wo/wie liefert mir das die Winkel?
Schau mal nach dem CORDIC-Prozess. Der ist bei der Rotation von 
Koordinaten besonders effizient, jedenfalls in Festkomma-Arithmetik.

Ciao
Wolfgang Horn

von Miška (Gast)


Lesenswert?

Zonaar schrieb:
> Ähm...ja? Wo/wie liefert mir das die Winkel?
Mit Hilfe des Skalarproduktes läßt sich der von zwei Vektoren 
eingeschlossene Winkel bestimmen:

Damit könnte man z.B. die Winkel der drei Ebenen (X,Y,Z) bestimmen, und 
anzeigen, in welche Richtung die Apparatur gedreht/-kippt werden muß, 
damit sie völlig waagerecht steht.

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.