Für meine Neigungsmesseranwendung verwende ich einen integrierten 3D-Beschleunigungsmesserchip, der analoge Spannung ausgibt.
Bevor ich mein Gerät einsetze, reiche ich es ein und sammle eine Reihe von Proben mit unterschiedlichen Temperaturen und Winkeln zur Temperaturkompensation.
Das Problem, das ich habe, ist, dass die Spannungsausgänge für jede einzelne Achse nicht vollständig unabhängig sind. Wenn bei gleicher Temperatur eine Achse konstant gehalten wird und sich die andere ändert, gibt die erstere ebenfalls einige Änderungen aus.
Nehmen wir zum Beispiel an, ich messe "g" auf der Nickachse und die Ausgabe ist Null, wenn die Rollachse Null ist. Wenn ich den Beschleunigungsmesser zur Seite rolle, erhalte ich die entsprechende Rolle "g", aber die Tonhöhe ändert sich geringfügig (+/- 2 Grad), obwohl die Tonhöhe immer noch Null ist.
Irgendwelche Ideen, wie man daraus eine bessere Präzision erzielen kann?
quelle
Antworten:
Stellen wir ein einfaches mathematisches Modell eines Beschleunigungsmessers zusammen - daraus können wir einige Kalibrierungsoptionen erarbeiten.
Ohne Berücksichtigung von Nichtlinearität und anderen unangenehmen Effekten ist die Ausgangsmessung eines Beschleunigungsmessers gegeben durch:
wof^ ist die tatsächliche Messung, bein ist die Vorspannung des Beschleunigungsmessers, nein ist ein zufälliger Rauschvektor, f ist die wahre spezifische Kraft (dh Beschleunigung) und M. ist die Skalierungsfaktor / Fehlausrichtungsmatrix.
Die einzelnen Elemente der SFA-Matrix sind:
Jeder Skalierungsfaktor wird also durch ein dargestelltS. und jede Querachsenempfindlichkeit wird durch a dargestellt γ .
Wenn der Skalierungsfaktor 1 ist und keine Empfindlichkeit über die Achsenachse vorliegt, ist dies idealerweise die resultierende MatrixM = I. .
Wenn wir es so darstellen, können wir ein Vergütungsmodell entwickeln. Wenn wir es zufällig wissenM. und bein und annehmen nein Um klein zu sein (dh nahe Null), können wir die "wahre" Beschleunigung aus den Messungen gut abschätzen:
Der Trick ist natürlich, zu trainierenM. und bein .
Ich werde ein Verfahren beschreiben, das als Sechs-Positionen-Test bezeichnet wird und eine einfache und kostengünstige Möglichkeit darstellt, einen Beschleunigungsmesser zu kalibrieren. Schritt 1 ist die Montage des Beschleunigungsmessers in einer rechteckigen Box mit perfekt90∘ Seiten (oder so nah wie möglich). Stellen Sie dies auf eine perfekt ebene Fläche (oder wieder so nah wie möglich) - Sie wären überrascht, wie gut Sie dies tun können.
An diesem Punkt wissen wir, wie hoch der Wert sein sollte: Schwerkraft auf dem Z-Beschleunigungsmesser:
Das wird also:
Wenn wir die Box auf den Kopf stellen, wirkt die Kraft- g ::
Und wenn auf einer Seite platziert:
Und so weiter für die restlichen drei Seiten.
Schreiben wir nun eine der Gleichungen in Langschrift:
Und noch längere Hand (für die erste):
So können wir einen gestapelten Vektor der Unbekannten erstellen
Und
Die Entwurfsmatrix lautet (für einen Satz von Messungen):
Sobald dies eingerichtet ist, kann man nach lösenβ (und damit Empfindlichkeit und Vorspannung) über kleinste Quadrate .
Ein ähnliches Verfahren kann mit einem Roboterarm durchgeführt werden, wenn Sie die Winkel genau steuern können. Er antwortet lediglich mit der Kenntnis der genauen Schwerkraft in diesem Winkel, der, wenn Sie den Winkel kennen, leicht zu berechnen ist.
quelle
Wenn Sie sich das Datenblatt für den Chip ansehen, werden Sie feststellen, dass es eine Spezifikation für die Empfindlichkeit der Querachse gibt. Was Sie also sehen, ist nur ein Teil der Einschränkungen des Geräts.
Sie können es möglicherweise kalibrieren, wenn Sie die Bewegung nur auf eine Achse beschränken. Wenn Sie zulassen, dass es sich in einer beliebigen Achse bewegt, ist es meiner Meinung nach mit nur einem Beschleunigungsmesser nicht möglich, wenn sich die zweite Achse aufgrund der Empfindlichkeit der Querachse oder aufgrund einer Änderung des Winkels / der Beschleunigung auf dieser Achse ändert.
Wenn Sie einige andere Sensoren hinzugefügt haben - Gyroskope oder Magnetfelder -, können Sie möglicherweise alle Sensordaten kombinieren, um sie zu ermitteln.
quelle