Forum: Mikrocontroller und Digitale Elektronik Platzierung Gyro und Beschleunigungssensor


von Dieter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich möchte die Bewegung einer "Schuhschachtel" messen, verfolgen, 
tracken. Angenommen diese kann sich völlig frei im Raum bewegen. Hierzu 
wird darin eine Platine mit Drehratensensor (3Achsen) und 
Beschleunigungssensor (3Achsen) befestigt. Ich frage mich welchen 
Einfluss hat die Positionierung der Sensoren auf die Verwertbarkeit der 
Messergebnisse.

Angenommen die Schachtel dreht sich ausschliesslich um ihre Hochachse 
(Z) - so wie im Bild eingezeichnet. Der Gyro sitzt ausserhalb der 
Drehachse.

1.) Wird er mir trotzdem die korrekte Drehrate (°/s) messen? (Ich 
vermute: ja). Das ist mir die wichtigste Frage.

2.) Spielt es überhaupt eine Rolle, wo innerhalb der Schachtel der Gyro 
sitzt? Bekomme ich immer die gleichen Messwerte als säße er genau IN der 
Drehachse?

3.) Wird die Messgenauigkeit darunter leiden, dass jetzt zusätzlich noch 
eine Beschleunigung auf den Gyro wirkt? (Ich vermute: spielt keine 
praktische Rolle)

4.) Der Beschleunigungssensor (Acc) wird je nach Drehachse, bzw. seiner 
Entfernung davon, unterschiedliche Beschleunigungen messen. Richtig? 
Kann man sagen: Wäre die Drehachse nur halb so weit weg, hätte ich den 
halben Messwert? (Erdanziehung unberücksichtigt) Also linear die 
Beschleunigungen dazwischen interpolieren?

Nächster Fall:
Zusätzlich zur Drehung um Z kommt noch eine 
lineare/konstante/gleichförmige Bewegung in X-Richtung dazu.

5.) Den Gyro läßt das kalt, den Beschl.sensor ebenso. Ich kann diese 
konstante Bewegung nicht anhand der Momentanmesswerte erfassen. Richtig?

Wäre nett, wenn mir jemand meine Überlegungen bestätigen/widerlegen 
könnte. Eine konkrete Anwendung dazu habe ich (noch) nicht, sondern 
möchte mir das zunächst einmal theoretisch überlegen.
Danke.

von Purzel H. (hacky)


Lesenswert?

Der Gyro sitzt optimalerweise an der Drehachse. Sonst kommen noch andere 
terme hinzu. Der Beschleunigungssensor sollte im Schwerpunkt sitzen, 
sonst kommen auch noch andere Terme hinzu. Aber moeglicherweise macht's 
ja nicht aus. Probier's doch einfach - Falls berechnen nicht machbar 
ist.

von Lehrmann M. (ubimbo)


Lesenswert?

Dieter schrieb:
> 1.) Wird er mir trotzdem die korrekte Drehrate (°/s) messen? (Ich
> vermute: ja)

Nein. Das Gyroskop misst die Drehrate um die Messachse und nicht um eine 
beliebige Achse. Wie schlimm das ist kannst du ja ausrechnen. Ein wenig 
Physik schadet glaube ich niemandem. Das sollte man so und so 
beherrschen, wenn ich mein Modell von meiner Messaufgabe erstelle.

Dieter schrieb:
> Spielt es überhaupt eine Rolle, wo innerhalb der Schachtel der Gyro
> sitzt? Bekomme ich immer die gleichen Messwerte als säße er genau IN der
> Drehachse?

Inwiefern die Fehlpositionierung Einfluss auf dein Messergebnis haben 
wird das kannst du ebenfalls ausrechnen.

Dieter schrieb:
> Wird die Messgenauigkeit darunter leiden, dass jetzt zusätzlich noch
> eine Beschleunigung auf den Gyro wirkt? (Ich vermute: spielt keine
> praktische Rolle)

Hast du dich überhaupts schon mal mit Gyroskopen beschäftig? Ich glaube 
eher nicht. Du solltest dich mal mit der Funktionsweise eines solchen 
Gyros beschäftigen, dann kannst du dir deine Fragen selbst beantworten. 
Durch Faulheit ist noch niemand schlau geworden.

Dieter schrieb:
> 3.) Wird die Messgenauigkeit darunter leiden, dass jetzt zusätzlich noch
> eine Beschleunigung auf den Gyro wirkt? (Ich vermute: spielt keine
> praktische Rolle)

Das wird eher weniger Einfluss haben. Aber deine Wert werden rauschen 
wie die Sau, weil du keine hochwertigen Gyroskope haben wirst. Die wirst 
du dir (und jeder andere) auch nicht leisten können / wollen.

Dieter schrieb:
> Der Beschleunigungssensor (Acc) wird je nach Drehachse, bzw. seiner
> Entfernung davon, unterschiedliche Beschleunigungen messen. Richtig?

Ein Beschleunigungssensor misst Beschleunigungen. Immer in Richtung der 
3 Achsen. Nicht mehr und nicht weniger. Die Erdbeschleunigung ist auch 
eine Beschleunigung. Sobald du den Beschleunigunssensor kippst, wirkt 
die Erdbeschleunigung von (definiert) 1g nicht mehr zu 100% auf die 
Achse, so nimmt auch der Ausgabewert am Sensor ab. In Ruhe (also nicht 
in Bewegung) kann man einen Beschleunigunssensor also als Wasserwaage 
verwenden. Sobald er jedoch bewegt wird, sind Erdbeschleunigung und 
Bewegungsbeschleunigung jedoch vermischt und nicht mehr zu trennen. 
(Außer in Kombination mit einem Gyroskop und eimem Kalmanfilter)

Dieter schrieb:
> Kann man sagen: Wäre die Drehachse nur halb so weit weg, hätte ich den
> halben Messwert? (Erdanziehung unberücksichtigt) Also linear die
> Beschleunigungen dazwischen interpolieren?

Wie kommst du da drauf? Wovon sol sie nur halb so weit weg sein? Nochmal 
neu formulieren. Denk mal ein wenig über Physik und beschleunigte 
Bewegungen nach. Schau dich mal im Internet ein wenig um - da findet 
sich einiges. Beschleunigte Drehbewegungen und beschleunigte 
Translationsbewegungen.

Dieter schrieb:
> Zusätzlich zur Drehung um Z kommt noch eine
> lineare/konstante/gleichförmige Bewegung in X-Richtung dazu.
>
> 5.) Den Gyro läßt das kalt, den Beschl.sensor ebenso. Ich kann diese
> konstante Bewegung nicht anhand der Momentanmesswerte erfassen.

Richtig.

Multi Oschi schrieb:
> Der Gyro sitzt optimalerweise an der Drehachse. Sonst kommen noch andere
> terme hinzu. Der Beschleunigungssensor sollte im Schwerpunkt sitzen,
> sonst kommen auch noch andere Terme hinzu.

Auch das ist richtig.



Also mal für dich so ein wenig Off-Topic.

Das was du da vor hast ist eine sehr anspruchsvolle Aufgabe. Die 
größeren deiner Probleme hast du noch garnicht bedacht.

1. Ein Beschleunigungssensor rauscht ziemlich stark. Da braucht man gute 
Filteralgorithmen.
2. Vergiss die Erdbeschleunigung nicht. Wenn du deinen 
Beschleunigunssensor kippst (in der betrachteten Achse), dann findest du 
Werte von 0g bis 1g vor. Und das auf allen 3 Achsen, jenachdem wie du 
kippst.
http://www.youtube.com/watch?v=3n0BZv3cCQg&feature=related
http://www.youtube.com/watch?v=gRbfKFE5fdc&feature=related
Vergiss aber nicht - sobald du den Zirkus zusätzlich zur 
Erdbeschleunigung bewegst hast du ein Problem.
3. Ein Gyroskop rauscht weniger nur driften sie allzugerne. Soll heißen 
dein wenn du dein Gyro z.B. permanent konstant mit 100°/s drehst, so 
wird sich dieser Wert über Minuten hin trotzdem verändern. Gerade bei 
schneller bewegten Systemen ist das ein massives Problem
4. Um das alles in den Griff zu bekommen gibt es eine tolle Sache: den 
Kalmanfilter. Der ist zwar ein mathematisches Meisterwerk und nicht ganz 
trivial aber er ist ein kleines "Wunder". 
http://en.wikipedia.org/wiki/Kalman_filter
Mit einiger Konfiguration und Erfahrung zaubert er sehr saubere Werte 
und zwar aus der Kombination von Gyroskop und Beschleunigungsmesser. Mal 
eine Laienerklärung: Seine Grundlage stellen die Werte des 
Bschleunigunssensors und des Gyroskops dar (normalerweise - die 
Gewichtung der einzelnen Werte also wie sehr man einem Sensor "traut" 
definiert man). Beschleunigungswerte sind durch die Erdbeschleunigung 
und Rauschen verfälscht. Also verwendet man nach der Aufbereitung dieser 
Werte noch aufbereitete  Gyroskopwerte dazu. Das ganze fusioniert man 
und knallt es nochmal durch Filter durch. Hinten raus kommt dann ein 
erstaunlich genauer Wert der die Winkel (also die Lage) im Raum 
zurückgibt. Das alles ist jetzt ziemlich fachlich falsch erklärt - lies 
dich einfach mal ein. Das ist mathematisch harte Kost. Dir sollte klar 
sein, dass das keine einfache Aufgabe ist. Das was du vorhast verwendet 
man für gewöhnlich Matlab in Kombination mit Simulink. Das hat einen 
Umfang von mehreren Diplomarbeiten / Masterarbeiten.
"Einfach die Werte zu verwenden" wie du es vor hast kann man sich leider 
abschminken. Rein physikalisch müsste ja z.B. eine Integration des 
Gyrowertes über die Zeit den Winkel geben. Probiert man das in der 
Praxis aus dann wirst du feststellen, dass dein Computer dir nach ein 
paar Minuten dir Überschläge prophezeit obwohl dein Gyro seelenruhig auf 
dem Tisch liegt.

von sebastian (Gast)


Lesenswert?

Lehrmann Michael schrieb:
>> 1.) Wird er mir trotzdem die korrekte Drehrate (°/s) messen? (Ich
>> vermute: ja)
>
> Nein. Das Gyroskop misst die Drehrate um die Messachse und nicht um eine
> beliebige Achse. Wie schlimm das ist kannst du ja ausrechnen. Ein wenig
> Physik schadet glaube ich niemandem. Das sollte man so und so
> beherrschen, wenn ich mein Modell von meiner Messaufgabe erstelle.

Das stimmt doch nicht. Wenn der Gyro wirklich nur die Drehung misst, 
dann ist es völlig egal wo man ihn plaziert. Das Objekt kann sich nicht 
an verschiedenen Stellen unterschiedlich schnell drehen.

von Ralph (Gast)


Lesenswert?

sebastian schrieb:
> Lehrmann Michael schrieb:
>>> 1.) Wird er mir trotzdem die korrekte Drehrate (°/s) messen? (Ich
>>> vermute: ja)
>>
>> Nein. Das Gyroskop misst die Drehrate um die Messachse und nicht um eine
>> beliebige Achse. Wie schlimm das ist kannst du ja ausrechnen. Ein wenig
>> Physik schadet glaube ich niemandem. Das sollte man so und so
>> beherrschen, wenn ich mein Modell von meiner Messaufgabe erstelle.
>
> Das stimmt doch nicht. Wenn der Gyro wirklich nur die Drehung misst,
> dann ist es völlig egal wo man ihn plaziert. Das Objekt kann sich nicht
> an verschiedenen Stellen unterschiedlich schnell drehen.
>

Solange sich der Körper, sprich Schuhkarton, während der Drehung nicht 
verrformt, ist es vollkommen egal wo der Gyro ist. Die Drehrate ist dann 
im kompletten Körper identisch.

Für die Beschleunigungssensoren ist das so nicht übertragbar.
Sitz der Beschleunigungssensoren nicht im Drehpunkt des Körpers treten 
bei Kippbewegungen verfälschte Messergebnisse auf.
Die Drehung erzeugt in dem Fall ebenfalls eine Beschleunigung des 
Sensors
Kennt man den Abstand zwischen Drehpunkt und Sensor lässt sich das 
jedoch mittels Mathematik Korrektur rechnen.

Wichtig dabei ist jedoch, das Gyro und Beschleunigungssensor einer Achse 
auch wirklich zu 100 % auf der gleichen Achse sitzen, sonst wird es 
wirklich sehr aufwändig mit der Korrektur Berechnung.


zu 1) JA solange der Körper Formstabil bleibt
zu 2) völlig egal solange der Körper Formstabil bleibt
zu 3) Falls ja such dir einen vernünftigen Gyro aus

> 4.) Der Beschleunigungssensor (Acc) wird je nach Drehachse, bzw. seiner
> Entfernung davon, unterschiedliche Beschleunigungen messen. Richtig?

JA

> Kann man sagen: Wäre die Drehachse nur halb so weit weg, hätte ich den
> halben Messwert? (Erdanziehung unberücksichtigt) Also linear die
> Beschleunigungen dazwischen interpolieren?
NEIN , so einfach ist es nicht, Die Drehrate spielt dabei auch gewaltig 
mit
Interpolieren ja, nur nicht Linear sondern in Abhängigkeit der Drehrate

zu 5) So sollte es sein, wenn nicht bessere Sensoren verwenden.


Dazu kommt natürlich noch jede Menge Signalaufbereitung, Filterung, 
Offsetkorrektur ,....... aber ansonsten geht das schon .

Sonst würde in keinem Auto das ESP funktionieren.

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.