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?
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..
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
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.
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?
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.
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
> 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.