QXv2 - Quadrokopter

Aus Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: {{ProjectFeatures}} ==Einleitung== Ein Quadrokopter ist ein Fluggerät, dessen Flugrichtung und Geschwindigkeit lediglich über 4 (von der Drehzahl oder Neigung) steuer...)
Zeile 16: Zeile 16:
So gingen eins oder zwei Jahr(e) ins Land, bevor ich mich dazu entschloss das Projekt anzugehen. Bereits an den Mikrokopter-Bausatz Preisen, die um die 1000€ liegen, konnte ich schon abschätzen, dass es wenigstens gleichteuer, wenn nicht sogar teurer werden wird.
So gingen eins oder zwei Jahr(e) ins Land, bevor ich mich dazu entschloss das Projekt anzugehen. Bereits an den Mikrokopter-Bausatz Preisen, die um die 1000€ liegen, konnte ich schon abschätzen, dass es wenigstens gleichteuer, wenn nicht sogar teurer werden wird.
Allerdings ging die Entwicklung bis zu dem jetzigen Zeitpunkt über fast ein ganzes Jahr, sodass sich die monatliche Belastung noch in Grenzen hielt.
Allerdings ging die Entwicklung bis zu dem jetzigen Zeitpunkt über fast ein ganzes Jahr, sodass sich die monatliche Belastung noch in Grenzen hielt.
 +
 +
==Die Anfänge==
 +
Wir schreiben den Anfang des Jahres 2009. Ich fing an die Elektronik zu planen. Dabei wollte ich unbedingt die Motorsteuerung der Brushless Motoren nicht auf 4 einzelne Mikrocontroller verteilen, sondern in einem unterbringen. Das klingt nach einem haarigen Unterfangen. Für die Ansteuerung von Brushless Motoren benötigt man immerhin eine Menge Ein- und Ausgänge, die unter anderem für die Nulldurchgangserkennung der BEMF-Spannung (Komparator) und das Ansteuern der MOSFETs (PWM) benutzt werden. Trotzdem, ich habe mal ernsthaft mit mir geredet und ich ließ mich nicht davon abbringen ;-).
 +
Nach ein paar Monaten und (gefühlte) hunderte Stunden vor dem Eagle-CAD stand dann die erste Version. Sie bestand aus einem (derzeit brandneuen) ATxmega128A1 von Atmel, der dabei alle 4 Brushless Motoren steuerte und zudem noch die Lage des Quadrokopters geschätzt hat und die Reglerwerte für die Position berechnet hat.
 +
Die diversen analogen Eingänge wurden über einen 16fach A/D Wandler von Maxim-IC realisiert.
 +
 +
Schon bald darauf, fing ich aber an eine neue Version zu bauen, da ich nicht ganz zufrieden war mit der bisherigen. Sie war mir immer noch zu groß und außerdem nun fast schon "zu einheitlich". Also zwei einzelne Platinen hätten es doch sein dürfen ;-). Die Linearregler, die die Batteriespannung der LiFePo Akkus auf 3,3V für den Prozessor und dessen Peripherie regelten, wurden außerdem sehr warm, was mich später dazu bewegt hat hier einen Schaltregler einzusetzen.
 +
Die neue Version habe ich QXv2 genannt. Wie schon gesagt, besteht sie nun aus zwei Einzelplatinen. Der Steuerteil (obere Platine) ist hier mit einem ATxmega32A4 realisiert, der gewissermaßen der "kleine Bruder" des ATxmega128A1 ist. Auf dem darunterliegenden Motor-Controller ist nach wie vor ein ATxmega128A1 verbaut, der weiterhin für die Bespaßung aller 4 Brushless Motoren sorgt. Die PWM-Stellwerte werden über einen I2C Bus übertragen.
 +
 +
Eine neuere Version gibt es noch nicht.
 +
 +
==Jetzt wirds handwerklich==
 +
Der Rahmen, auf dem die erste Version lief, war ein bewährtes Alu-Kreuz, auf dem 4 5€ - Brushless Motore montiert waren, deren Lager in regelmäßigen Abständen von ein paar Wochen ständig anfingen zu rappeln. Das Alu Kreuz hat in seinem Leben nicht viel Luft geschnuppert. Ein Video davon kann man [http://www.youtube.com/watch?v=FURmfaM5uX0|hier] sehen. Der Bau des Rahmens ging auch schnell von der Bühne, da ich hauptsächlich auf das Testen der Elektronik aus war. Der Achsabstand betrug 45cm, wenn ich mich nicht irre.
 +
 +
Der zweite Rahmen hingegen sollte zusammen mit der QXv2 kleiner, stabiler, schöner und leichter werden. Er ist aus 2mm Pappelsperrholz hergestellt. Zwei 2mm Platten wurden dabei deckungsgleich übereinandergelegt und in X-Form ausgesägt bzw. geschliffen. Der neue Rahmen wurde mit AHM Motoren bestückt und hatte eine Spannweite von ca. 25cm. Die Motorträger waren aus 4mm Sperrholz realisiert. Am Ende wurde schließlich alles auf Spanten geleimt. In die mittlere Öffnung passt dabei ein 1100mAh LiFePo Akku. Eine Bilderreihe zum Aufbau lässt sich oben rechts unter "Bilder" einsehen.
 +
 +
==Die Software==

Version vom 20:09, 5. Sep. 2010

Features

Inhaltsverzeichnis

Einleitung

Ein Quadrokopter ist ein Fluggerät, dessen Flugrichtung und Geschwindigkeit lediglich über 4 (von der Drehzahl oder Neigung) steuerbare Motoren definiert wird. Der Reiz der Quadrokopter liegt darin, dass man ihn ohne mechanisch aufwendige Teile und damit in einem kleinem Maßstab aufbauen kann. In der Regel werden Quadrokopter im "Modellbauformat" gebaut. Die Spannweite der Rotoren beträgt dabei meistens etwa 30cm bis 60cm.

In letzter Zeit sind vermehrt immer mehr Quadrokopter Projekte aufgetaucht. Der Mikrokopter ist dabei gewissermaßen der Vorreiter gewesen. Er benutzt einen 8 Bit AVR Mikrocontroller zum Regeln der Lage und 4 weitere dieser Controller auf den 4 Motorsteller-Modulen. Siehe [1]

Ein anderes Beispiel für einen Quadrokopter ist der ARM-O-Kopter. Wie der Name schon sagt, wird dort für die Steuereinheit ein 32-Bit ARM Prozessor benutzt, der eine weitaus höhere Performance bietet. Hier lassen sich kompliziertere Schätz- und Regelalgorithmen anwenden. Zum Beispiel der Extended Kalman Filter. Siehe [2]

Aus kommerzieller Sicht ist der Quadrokopter sehr zum Aufnehmen von Luftbildern geeignet, da er (bei großer Rotorspanne) sehr stabil in der Luft liegt und wenig Vibrationen erzeugt. Es sind in letzter Zeit immer mehr kleine Unternehmen aufgetaucht, die sich auf derartige Luftbilder spezialisiert haben. Auch im militärischen Bereich hat sich das Konzept bereits herumgesprochen.

Wie auch immer, seitdem ich das erste Video eines fliegenden, per RC-Fernbedienung gesteuerten Quadrokopters gesehen habe, wollte ich unbedingt mal einen nachbauen. Es gibt Quadrokopter Bausätze, die unter anderem auf der Mikrokopter-Homepage zu erwerben sind. Allerdings bleibt da der ganze Programmierspaß auf der Strecke. Außerdem findet man doch immer noch Sachen, die man verbessern oder verkleinern kann. So gingen eins oder zwei Jahr(e) ins Land, bevor ich mich dazu entschloss das Projekt anzugehen. Bereits an den Mikrokopter-Bausatz Preisen, die um die 1000€ liegen, konnte ich schon abschätzen, dass es wenigstens gleichteuer, wenn nicht sogar teurer werden wird. Allerdings ging die Entwicklung bis zu dem jetzigen Zeitpunkt über fast ein ganzes Jahr, sodass sich die monatliche Belastung noch in Grenzen hielt.

Die Anfänge

Wir schreiben den Anfang des Jahres 2009. Ich fing an die Elektronik zu planen. Dabei wollte ich unbedingt die Motorsteuerung der Brushless Motoren nicht auf 4 einzelne Mikrocontroller verteilen, sondern in einem unterbringen. Das klingt nach einem haarigen Unterfangen. Für die Ansteuerung von Brushless Motoren benötigt man immerhin eine Menge Ein- und Ausgänge, die unter anderem für die Nulldurchgangserkennung der BEMF-Spannung (Komparator) und das Ansteuern der MOSFETs (PWM) benutzt werden. Trotzdem, ich habe mal ernsthaft mit mir geredet und ich ließ mich nicht davon abbringen ;-). Nach ein paar Monaten und (gefühlte) hunderte Stunden vor dem Eagle-CAD stand dann die erste Version. Sie bestand aus einem (derzeit brandneuen) ATxmega128A1 von Atmel, der dabei alle 4 Brushless Motoren steuerte und zudem noch die Lage des Quadrokopters geschätzt hat und die Reglerwerte für die Position berechnet hat. Die diversen analogen Eingänge wurden über einen 16fach A/D Wandler von Maxim-IC realisiert.

Schon bald darauf, fing ich aber an eine neue Version zu bauen, da ich nicht ganz zufrieden war mit der bisherigen. Sie war mir immer noch zu groß und außerdem nun fast schon "zu einheitlich". Also zwei einzelne Platinen hätten es doch sein dürfen ;-). Die Linearregler, die die Batteriespannung der LiFePo Akkus auf 3,3V für den Prozessor und dessen Peripherie regelten, wurden außerdem sehr warm, was mich später dazu bewegt hat hier einen Schaltregler einzusetzen. Die neue Version habe ich QXv2 genannt. Wie schon gesagt, besteht sie nun aus zwei Einzelplatinen. Der Steuerteil (obere Platine) ist hier mit einem ATxmega32A4 realisiert, der gewissermaßen der "kleine Bruder" des ATxmega128A1 ist. Auf dem darunterliegenden Motor-Controller ist nach wie vor ein ATxmega128A1 verbaut, der weiterhin für die Bespaßung aller 4 Brushless Motoren sorgt. Die PWM-Stellwerte werden über einen I2C Bus übertragen.

Eine neuere Version gibt es noch nicht.

Jetzt wirds handwerklich

Der Rahmen, auf dem die erste Version lief, war ein bewährtes Alu-Kreuz, auf dem 4 5€ - Brushless Motore montiert waren, deren Lager in regelmäßigen Abständen von ein paar Wochen ständig anfingen zu rappeln. Das Alu Kreuz hat in seinem Leben nicht viel Luft geschnuppert. Ein Video davon kann man [3] sehen. Der Bau des Rahmens ging auch schnell von der Bühne, da ich hauptsächlich auf das Testen der Elektronik aus war. Der Achsabstand betrug 45cm, wenn ich mich nicht irre.

Der zweite Rahmen hingegen sollte zusammen mit der QXv2 kleiner, stabiler, schöner und leichter werden. Er ist aus 2mm Pappelsperrholz hergestellt. Zwei 2mm Platten wurden dabei deckungsgleich übereinandergelegt und in X-Form ausgesägt bzw. geschliffen. Der neue Rahmen wurde mit AHM Motoren bestückt und hatte eine Spannweite von ca. 25cm. Die Motorträger waren aus 4mm Sperrholz realisiert. Am Ende wurde schließlich alles auf Spanten geleimt. In die mittlere Öffnung passt dabei ein 1100mAh LiFePo Akku. Eine Bilderreihe zum Aufbau lässt sich oben rechts unter "Bilder" einsehen.

Die Software

Persönliche Werkzeuge