www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gyro mit gespeichertem Winkel


Autor: Marc S. (_marc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

nach längerem hin und her lesen in diesem Forum,
bin ich dann doch zur Entscheidung gelangt, mich hier
anzumelden, da es hier doch wirklich sehr guten
professionellen Rat gibt.

Vor ein paar Wochen habe ich mir ein Arduino besorgt inkl.
einem Beschleunigungssensor (3Achsen), um mich in die
Materie endlich mal einzufinden - wollte das ja schon länger
mal machen, aber da Zeitmangel nicht dazu gekommen.

Mein erstes Ziel, das auch gut klappt: Den Beschleunigungssensor
an ein Objekt und dann auslesen, wie die aktuelle Winkel zum
Erdmittelpunkt ist.
Allerdings möchte ich nun auch herausfinden, in welcher Richtung
sich das Objekt dreht bzw. wieviel Grad es sich vom "Nullpunkt"
gedreht hat (Wie ein Kompass). Dazu habe ich von einem Heli den Gyro 
ausgebaut (esky gyro ek2-0704b) und den Gyro ausgelötet und 
angesprochen. Das Problem ist nur, dass der Gyro nur die Beschleunigung 
misst, sprich, ich muss in jeder Loop die aktuelle Beschleunigung messen 
und dann selbst
den aktuellen Winkel errechnen. Bei dem Beschleunigungsensor speichert
es den Winkel automatisch (Vermutlich weil sich immer die vorhandene
Erdanziehungskraft auf den Sensor ausübt?)
Die Berechnung des Gyro-winkels funktioniert soweit, als dass es nach 
10-20 hin und her bewegen total verfälschte Ergebnisse anzeigt - 
Vermutlich
weil ich in der loop()-Funktion auch Rechnungen ausführe, die einige 
µSekunden brauchen und ich in dieser Zeit keine neuen 
Beschleunigungskräfte aus dem Gyro auslesen kann.

Nun könnte ich mir zwei Lösungen Vorstellen:

1. Threading: Die Setup()-Funktion startet ein Thread, der so schnell es 
geht, die Werte aus dem Gyro ausliest und ich so einigermaßen genaue 
Ergebnisse bekomme - wenn auch sicher irgendwann die Werte dann auch 
verfälscht sind, denn dieses design pattern ist freilich das unschönere 
und etwas geht hier immer bei verloren.

Die Zweite und meiner Meinung nach bessere Variante wäre eine art Gyro,
das die Beschleunigung speichert, bis ich Sie auslese oder noch besser: 
Die Abweichung des Winkel speichert in der der Gyro gestartet ist.
Nun bin ich noch recht frisch in der Materie und weiß nicht, wie man 
solch Zustände nennt und ob es solch Gyros überhaupt gibt - oder ob ich 
mit Gyros überhaupt richtig bedient bin, um den aktuellen Winkel eines 
Objekts rauszulesen.

Von elektronischen Kompasse habe ich bereits gehört, allerdings soll 
hier die Genauigkeit nicht so recht gut sein (Für einen normalen 
Geldbeutel).
Wäre sehr nett, wenn sich jemand meiner Problematik annimmt und mir 
guten Rat geben könnte.

Grüße,
  Marc

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vergiss es. Ein Gyro wird nie vernuenftige Winkel bringen. Es misst nur 
Beschleunigungen.

Autor: Marc S. (_marc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, ok. Hast Du eine Idee, welche Alternativen ich für den Einsatzzweck 
habe ?

Autor: sven s. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hey noch Was
ach ja??

schau mal unter
http://thomaspfeifer.net/quadrocopter_selbstbau_avr.htm

kommt der sache doch schon recht nahe was.

gruss sven

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Klarstellung: Mit Gyro meinst Du einen Sensor der 
Drehbeschleunigungen messen kann, nicht wahr?

Ist das ein Solid-State Sensor oder dreht sich da wirklich ein Kreisel?

Im ersteren Fall, hat bei solchen Sensoren die Temperatur oft einen 
grossen Enfluss. Also einen Temperatursensor dicht am "Gyro" hinzufügen.

Das Problem mit der Tatsache, das Du immer nur zu gewissen Zeitpunkten 
messen kannst, muss mit einer externen Integratorschaltung angegangen 
werden. Du hast das im Prinzip schon erkannt, wenn Du eine "Speicherung" 
einbauen willst. Ein Integrator ist nichts anderes.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um einen Winkel zu messen und zu halten nimmt man sinnvollerweise einen 
Kompass.

Autor: Marc S. (_marc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sven,

danke für den Link - ist schon um einiges genauere als mein Gyro - 
allerdings gerieht das bei ihm auch paaar Grad ausm dem Ruder, nicht 
wahr ?

@Grrrr,
Ne, das ist kein so richtiger Kreisel, sondern so einer bzw. der der 
darin eingebaut ist:
http://heliblog.villa-bockum.de/wp-content/uploads...

Seh' ich das also richtig, dass es kein Sensor gibt, der mir ohne 
größere Arbeit als der Beschleunigungssensor den richtigen Winkel 
ausgibt ?

Ist als Kompass folgender zu gebrauchen, also von der Genauigkeit her?
Contrad BestelltNr: 182826
Leider habe ich noch kein Gefühl für die dortige Empfindlichkeits, 
Offset und Messbereich angaben von 16 (mV/v/kA/m), ±1 mV  und ±0,2 kA m.
Falls jemand ein passenden Link zum schließen der Wissenslücke hat, als 
her damit.

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Gyro misst keine winkelbeschleunigung sondern eine 
Winkelgeschwindigkeit.

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.