Muss nicht unbedingt in Bascom sein, C ist
natürlich auch in Ordnung
Hallo Leute,
ich habe im Sinn, in der nächsten Zeit einen
Quadrocopter zu bauen. Diesen will ich dann
allerdings komplett selber bauen, also keine
fertigen Controllerboards etc. Einen MicroC
habe ich schon fertig (ATmega8). Nun will
ich erst mal versuchen ein Gyroskop anzu-
schließen/anzusteuern/auszulesen, denn
ohne "Gleichgewichtssinn" ist der Quadro-
copter bei Wind wohl ziemlich am ***** :D
Es wäre nett, wenn ihr mir mal alles darüber
sagen könntet, also wie ich den anschließe,
mit Bascom auslese und die Daten letztendlich
auswerte :) Erklärt das bitte so, dass das ein
14 jähriger Junge verstehen kann (Ich bin in
einer Technik-AG also habe ich schon gewisse
Vorkenntnisse)
Ihr könnt mir auch gerne Gyroskope empfehlen,
da ich nicht weiß wo ich die kaufen soll und worauf
ich beim Kauf achten muss.
Liebe Grüße und schon mal Danke im Voraus :))
Geändert von CsMTEch (03.05.2013 um 16:53 Uhr)
Muss nicht unbedingt in Bascom sein, C ist
natürlich auch in Ordnung
Hallo!
Um erst einmal deine Frage zu beantworten:
"Alles" über Gyroskope kann ich dir nicht erkären, aber hier erst einmal die Grundlagen: Das Gyroskop misst die Winkelgeschwindigkeit, also die Drehgeschwindigkeit deines Quadrokopters (z.B. 2°/s um die Längsachse). Diesen Wert muss dein Mikrocontroller dann regelmäßig auslesen und mit der Zeit multiplizieren, die seit der letzten Messung vergangen ist. Den Wert addierst du dann zu deinem letzten Lagewinkel und erhältst somit den aktuellen Winkel.
Ich verwende dazu z.B. einen MPU6050- der lässt sich über den i²c-Bus auslesen und ist fertig aufgebaut als Board relativ günstig zu erhalten (s. ebay).
Jetzt kommt das ABER:
Mit Gyroskopen alleine kommst du nicht weit, da sie (wie alle Sensoren) eine gewisse Messungenauigkeit haben. Dadurch dass du die Messwerte immer weiter addierst wird auch der Fehler immer größer. Ein Beispiel: Mein Sensor liefert mir wenn er ruhig daliegt einen Wert von ca. 0,2°/s. Da die Werte immer weiter addiert werden habe ich dann nach 60 Sekunden schon einen Winkel von 12°- obwohl sich der Sensor in Wirklichkeit gar nicht bewegt hat (Das nennt man dann "Drift"). Solche Messwerte kann man komplett vergessen. Man braucht deshalb noch mindestens einen anderen Sensor (z.B. einen Beschleunigungssensor) und muss diese Daten dann miteinander verrechnen- deshalb haben Sensoren wie der MPU6050 auch gleich Beschleunigungssensoren integriert.
Bevor du anfängst, einen Quadrokopter von Grund auf zu entwickeln sollte dir klar sein, was da alles dahintersteckt:
- Alleine die Messungen können sehr anspruchsvoll sein. Mathematische Grundlagen wie Trigonometrie, Vektorrechnung und Messdatenfilterung werden auf jeden Fall benötigt
- Für die Ansteuerung der Motoren solltest du grundlegende Ahnung von digitaler Regelungstechnik haben- Angaben wie "alle Motoren auf 50%" reichen hier leider nicht aus
- Dann musst du dich natürlich auch noch um Dinge wie die Funkverbindung kümmern, eine Fernsteuerung bauen, usw.
Ich will dich hier nicht entmutigen, aber da ich gerade selbst einen Quadrokopter baue weiß ich, dass das alles nicht so einfach ist
- - - Aktualisiert - - -
Um noch deine Frage zum Auslesen zu beantworten: Der Sensor speichert seine Messwerte in 8-Bit Registern, wobei immer zwei Register zusammen einen 16-Bit-Messwert bilden. Über I²C (dafür gibt es fertige Librarys) liest du diese Messwerte aus und verrechnest sie zu einem 16-Bit-Wert (Wert1*256+Wert2).
Der Wertebereich den du dann erhältst ist -32767 .. 32767 und entspricht, je nach eingestelltem Modus, z.B. -250..+250°/s.
Dann gilt Drehgeschwindigkeit = Messwert/32767*250.
Wie du siehst ist das Auslesen der Messwerte also nicht das größte Problem...
Ich glaube dir, dass das nicht einfach ist
und sehe ein, dass ich mit meiner 8te Klasse
Mathematik da wohl nicht ganz hinkomme.
In Sachen Regelungstechnik kenne ich mich
zu mindestens einiger Masen aus. Ich hab
schon einen MicroC alleine gebaut und hab
auch Freunde, die sich damit auskennen.
Ich werde mal gucken was ich so mit den
Gyroskopen hinbekomme, ansonsten ent-
wickle ich erst mal einen für Indoor-Betrieb.
Mein Freund hat ne große Scheune, da könnte
man zu Not auch noch fliegen
Gibt es vielleicht fertige Boards, die dir einen
genauen Winkel geben?
Ansonsten hatte ich das so geplant, dass ich
an jedem "Arm" des Quadrocopters ein Gyros-
kop anbringe und die Daten mit einander
vergleiche...
Lesezeichen