Forum: Mikrocontroller und Digitale Elektronik Gyro mit gespeichertem Winkel


von Marc S. (_marc)


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

von Purzel H. (hacky)


Lesenswert?

Vergiss es. Ein Gyro wird nie vernuenftige Winkel bringen. Es misst nur 
Beschleunigungen.

von Marc S. (_marc)


Lesenswert?

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

von sven s. (Gast)


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

von Grrrr (Gast)


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.

von Purzel H. (hacky)


Lesenswert?

Um einen Winkel zu messen und zu halten nimmt man sinnvollerweise einen 
Kompass.

von Marc S. (_marc)


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/2008/08/img_0444.jpg

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.

von martin (Gast)


Lesenswert?

Ein Gyro misst keine winkelbeschleunigung sondern eine 
Winkelgeschwindigkeit.

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.