www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit Beschleunigungssensoren winkelbeschleunigung errechnen?


Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich will mir einen Flug-Roboter bauen. Als Basis für die 
Steuerung/Regelung ist es sicherlich nicht schlecht wenn man Die 
Position,Geschwindigkeit und Beschleunigung von X,Y und Z-Achse besitzt.

Da ich in Mathe nicht völlig schlecht war, traue ich mir zu diese Werte 
mit den Ausgangswerten von diesem Chip(LIS3L02AS4 3-Achsen 
beschleunigung) auszurechnen.

Mich würden aber auch noch die Drehposition,geschwindigkeit und 
Beschleunigung von jeder Position interessieren.

Viele sachen die ich durchgelesen habe verwenden da "Gyros" und greifen 
nicht auf die Werte von bereits vorhandenen Beschleunigungswerten 
zurück. Aber wenn man noch ein paar Beschleunigungssensoren verwendet, 
müsste man doch auch die Winkel ausrechnen können?

Gibts da ein paar Tipps? Ist der LIS3L02AS4 eigenltich gut? Gibts da ein 
paar Empfehlungen?

Eine weitere Überlegung von mir war diese Idee?
Man nimmt 3 zwei-Achsige Beschlunigungssensoren und ordnet die irgendwie 
so an das von den 6 ausgegebenen Beschleunigungs Werten immer 2 Achsen 
parallel im Raum sind und sich so durch die Beschleunigungsunterschiede 
sich die Drehrate errechnen läßt. Hat das schonmal jemand so gemacht?

Wieoft muss man pro Sekunde integrieren damit richtige Werterauskommen?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mit einem MMA7260 versucht die Geschwindigkeit zu messen. Aber 
das ist meiner Meinung nach ziemlich unmöglich, da das IC einen 
ziemlichen Offset Fehler hat. Zusätzlich hat man noch die 
Erdanziehungskraft, die je nach Neigungswinkel auch auf die anderen 
beiden Achsen wirkt. Dadurch ist eine Geschwindigkeits und erst recht 
eine Positionsbestimmung ziemlich unmöglich.
Ich lasse mich aber gerne vom Gegenteil überzeugen..

Autor: Jan B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem Beschleunigungssensor pro Achse gehts auf keinen Fall, denn 
wenn die Drehachse genau durch den Sensor verläuft wird dieser keine 
Beschleunigung erfahren und auch keine messen. Wenn die Drehachse nicht 
durch den Sensor verläuft, und der Abstand Sensor-Achse bekannt ist, 
dann sehe ich Chancen, vorausgesetzt die transversale Beschleunigung ist 
bekannt, so das sie herausgerechnet werden kann. Diese kann natürlich 
nicht mit dem selben Sensor gemessen werden, so das sich auch hier 
mindestens zwei räumlich getrennte Sensoren pro Achse ergeben.

Gruß Jan

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwende Gyros; alles andere führt zu Rätselraten.

Die Winkelgeschwindigkeit ist an jedem Punkt des starren Körpers immer 
identisch.
Wenn du also diese Winkelgeschwindigkeit messen willst, kommst du um 
einen Gyro nicht herum.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher dass es nicht geht? Wenn folgendes funktionieren würde dann würde 
es auch mit 3 Achsen gehen?

Wenn ich 2 Beschleunigungssensoren 10cm auseinander so anordne das die 
Achsen parallel sind.
Dann könnte ich mit einem Operationsverstärker den  Mittelwert(Die 
Beschleunigung in der Achse) und mit einem anderen Operationsverstärker 
die Differenz(Die Achse dreht sich) erfassen.

Oder geht das aus gründen der Erdbeschleunigung auch nicht?

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast ein Dreiachsiges Koordinatensystem.

Die Beschleumigungssensoren erfassen die Beschleunigung entlang einer 
dieser Achsen. Jedoch nicht die Drehgeschwindigkeit an dieser Achse.

Die Drehgeschwindigkeit um die X - Achse setzt sich aus einer Bewegung 
in Richtung der Y- und der Z- Achse zusammen.

Wenn du also 2 unterschiedliche Beschleunigungen der Y- Achse hast, 
brauchst du das gleiche auf der Z-Achse.
Dann musst du den realen Drehpunkt wissen, um die Anteile der beiden 
Achsen in Bezug auf dem Drehpunkt zu setzen.
Mit diesen Werten kannst du dann die Änderung der Drehgeschwindigkeit um 
die X-Achse berechnen.

Wenn du dann noch das Signalrauschen mit einrechnest, das die 
Beschleunigungsensoren aufweißen, dann bleibt für die berechnete 
Drehgeschwindigkeit eine Genauigkeit übrig, die ungefähr dem Blick in 
eine Kristallkugel gleichkommt.

Wenn du die Drehgeschwindigkeit, oder Winkelbeschleunigung in deine 
Regelungen einbeziehene willst, dann du dir einen Gefallen und 
investiere ein paar Euros in Gyros.
Die Gyros sind bei der geplanten Anwendung garantiert der falsche Platz 
zum Sparen.

Autor: Michael K. (mmike)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulrich,
ich arbeite seit knapp 3 Jahren an einem geregelten Hubschrauber und die 
Flugmechanik und auch die Flugregelung stimmen überein, daß ein 
Fluggerät mit nur Beschleunigungssensoren nicht geregelt werden kann. 
Nimm Gyros wie schon von Ralph vorgeschlagen. Dabei ist nur das Problem, 
daß sie relative Messungen machen und somit Dir eine Anfangslösung 
fehlt. Hierfür kannst Du dann die Beschleunigungsmesser nehmen um Deine 
Lagewinkel zu bestimmen (Phi, Theta, Psi). Wenn Du dann alles mit der 
Position (GPS) verwurschteln willst, dann biete sich ein Kalman-filter 
an (normal oder extended), aber das ist ne richtig heftige Sache! Wenn 
man da nicht weiß was man tut, dann wird nix ... ich sprech da aus 
Erfahrung ....
Grüße,
Michael

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Man nimmt 3 zwei-Achsige Beschlunigungssensoren und ordnet die
> irgendwie so an das von den 6 ausgegebenen Beschleunigungs Werten
> immer 2 Achsen parallel im Raum sind und sich so durch die
> Beschleunigungsunterschiede sich die Drehrate errechnen läßt. Hat
> das schonmal jemand so gemacht?

Damit kann man, wenn ich das richtig sehe, immerhin den Betrag der
Rotationsgeschwindigkeit bestimmen, und das unabhängig von der
Gesamtbewegung des Flugzeugs und der Erdanziehung.

Aber:

Für die Richtung des Rotationsvektors gibt es bei dieser Methode i.
Allg. acht Lösungen, die symmetrisch zu den drei Koordinatenebenen des
Sensorsystems liegen. Um Eindeutigkeit herzustellen, muss man wissen,
in welchem Oktanten die gesuchte Lösung liegt.

Lass also deinen Flieger ständig in allen drei Achsen in dieselbe
Richtung drehen, dann funktioniert deine Lösung :). Zusätzlich ist
natürlich noch wichtig, dass die jeweils parallel liegenden Sensoren
in ihren Messeigenschaften sehr gut gepaart sind.

Gyros arbeiten mit anderen Messprinzipien: Vibrationsgyros nutzen den
Coriolis-, faseroptische und Lasergyros den Sagnac-Effekt. Damit kann
man die vorzeichenbehaftete Rotationsgeschwindigkeit um eine
definierte Achse bestimmen. Für Rotationen im Raum braucht man drei
davon.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.