Aufzeichnen des Kurses mit einem Magnetometer, das sich innerhalb eines sich drehenden Objekts befindet

Ich frage mich, ob es möglich ist, den Kurs eines Objekts (nennen wir es einen Ball) aufzuzeichnen, in dem sich ein 3-Achsen-Magnetometer befindet. Natürlich wäre es einfach, wenn der Ball still wäre, aber da sich der Ball dreht, wird es viel schwieriger.

Ich versuche, die Richtung des Objekts zu ermitteln, damit ich weiß, in welche Richtung es sich bewegt und ob es aufgrund von Wind oder anderen äußeren Bedingungen (z. B. der Drehrichtung) driftet.

Antworten (1)

Nö. Nur mit dem 3-Achsen-Magnetometer können Sie die Bewegungsrichtung einer Kugel nicht erkennen. Das Magnetometer "sieht" die Translationskomponente nicht.

Nehmen wir einen Ball, der eine Translationsbewegung in jede beliebige Richtung ausführen kann und sich überhaupt nicht drehen kann. Das Magnetometer im Inneren des Balls gibt Ihnen immer den gleichen Messwert, unabhängig davon, in welche Richtung sich der Ball bewegt. Es kann also nicht zur Erkennung der Bewegungsrichtung verwendet werden.

[Demütigend, nicht wahr?]

Mit einem kombinierten Magnetometer und Beschleunigungsmesser können Sie jedoch sowohl die Lage als auch die Translation (Beschleunigung) messen. Es gibt jedoch Herausforderungen .... aufgrund der Änderungsrate (Radian / S) der Signale, die Sie beispielsweise nicht verwenden könnten eine I2C-Schnittstelle ( sparkfun.com/datasheets/Sensors/Magneto/LSM303%20Datasheet.pdf ) Sie ' d müssen eine direkte A/D-(Parallel-)Wandlung mit möglicherweise sehr hohen Datenraten haben. Diese Art von IMU-Implementierung hat auch eine Fehlerrate (Drift), die es unmöglich machen kann, das Gerät länger als einige 10 Sekunden zu verfolgen.
... dies ist ein Beispiel für eine Kamera, die einen Beschleunigungsmesser verwendet, um herauszufinden, wann sie sich am oberen Ende ihres Bogens befindet (eine Änderung von der Aufwärts- zur Abwärtsbeschleunigung), und ein Bild aufzunehmen: bbc.com/news/technology-25926300
@JackCreasey könntest du ein bisschen mehr erklären, warum I2C nicht funktionieren würde? Ich habe 2x stand alone accel ausgewählt. und Magneto-Einheiten, um hohe Datenraten (bis zu 800 Hz) zu erreichen. Ich vermute, es könnte etwas mit der Datenübertragungsgeschwindigkeit zu tun haben?
Die erfolgreiche Verwendung von I2C hängt von der Geschwindigkeit ab, mit der sich Ihr Gerät dreht, der Auflösung Ihrer Sensoren (Bits für Magnetometer und Beschleunigungsmesser) und der Geschwindigkeit, mit der Sie Daten übertragen können (Bits/Sekunde). Während I2C bis zu 3+ MHz arbeiten kann, können für viele (basierend auf Mikroprozessorhardware und Softwareschleifenzeiten) Einschränkungen von entweder 100 kHz oder 400 kHz bestehen. Dies begrenzt die Anzahl der Messwerte pro Sekunde, die Sie erfassen und verarbeiten können. Beispielsweise konvertiert der MPC3021 A / D in 9 US, aber Sie können nur bei etwa 11 ksps lesen ww1.microchip.com/downloads/en/DeviceDoc/21805a.pdf
Bei kombinierten Sensoren wie dem LSM303 wird es komplizierter, wenn Sie mehrere Adressen lesen/schreiben müssen, um Ihre Messwerte zu erfassen. Dieser Artikel von Adafruit könnte Ihnen helfen: cdn-learn.adafruit.com/downloads/pdf/…