Der Quadrocopter

Einleitung

In diesem Projekt geht es um die Planung, das Design, die Konstruktion, etc. eines Quadrocopters. Ich hatte schon öfters den Plan, so ein Fluggerät zu bauen, jedoch schreckten mich immer die recht hohen Baukosten ab, welche, je nach Modell deutlich über 300€ lagen. Das schreckt schon ordentlich ab, zumal man dann noch nicht mal alle wünschenswerten Features dabei hat.

Wie ich nun genau auf das später beschriebene Modell gekommen bin, weiß ich nicht mehr, jedoch wars ein glücklicher Zufall. Bei der Version handelte es sich ursprünglich um ein sog. Tricopter, also ein Teil mit drei Rotoren. Inzwischen gibts Konfigurationen für Quadrocopter in X und + Version, einer Version mit zwei Rotoren (kennt man vlt. von den kleinen Hubschrauber aus Avatar), einer Y6-Version, ein Tricopter mit jeweils 2 Rotoren je ausleger (sehr schnell und redundantes Flugverhalten), einer typischen Hexa-Version und zu guter Letzt noch eine "Wing"-Version, welche eigentlich ein normaler Segelflieger ist. Das besondere an diesem Projekt ist, dass Bauteile der Wii verwendet werden, wodurch die Kosten für Sensoren auf ein Minimum reduziert wird. Ein Rechenbeispiel: Ein Satz Gyrosskope (3 Stk.) kostet etwa 3*20€ = 60€ Ein WiiMotionPlus aus China etwa 10$ = 8€ Beide Bauteile haben in etwa die gleiche Leistung, wobei die Wii-Version leichter zu "verarbeiten" ist. Dazu kommt noch ein Beschleunigungssensor aus dem Nunchuck, welcher auch nicht mehr als 10€ kosten sollte. Wie man sich sicher denken kann, wird das ganze Flugobjekt nun nicht mehr als 100€ kosten, sofern man die nötige Geduld aufbringt und die restlichen Bauteile (Motoren, Fernsteuerung, etc.) aus China bestellt.

Darum geht es in diesem Projekt: Den Bau eines flugfähigen Objektes, welches genug Reserven hat, um Last, z.B. eine Digitalkamera zu tragen, oder eben Navigation per GPS zulässt. Ich möchte hier nicht als Erfinder des Rades gelten, weswegen ich auf die Seite des "Erfinder" verweise, auf welcher ständig neue Erweiterungen für die Software vorgestellt werden. Des Weiteren gibt es noch eine, inzwischen 700 seitigen Foren-Beitrag auf Rcgroups.com. Sehr informativ, aber auch mühsam sich alles durchzulesen.

Technische Daten

Wichtig: bis jetzt sind dies nur theoretische, bzw noch nicht bestätigte Daten, da sich das Projekt noch in der Planung/Bau befindet

  • Maße: 38cm im Durchmesser
  • Gewicht: ~700g (angestrebter Wert)
  • Motoren: Turnigy 2730 1500kv
  • ESC: HobbyKing 12A BlueSeries
  • Propeller: 7x3.5 (17,8cm)
  • Akku: 2200mAh 3S (11,4V)
  • Gyros: WiiMotionPlus
  • Acc: Wii Nunchuk
  • GPS-Modul: Gms‐u1LP mit MT3329 Chip

Gehäuse

23.02.2011

_images/copter_case1.jpg

Bis jetzt sieht das Gehäuse noch recht unfertig aus, jedoch würde es in dieser Version schon ausreichen, alle Komponente sicher in die Luft zu heben. Die Ausleger bestehen aus einfachen 20x10mm U-Profilen aus dem Baumarkt. Vielleicht wären 10x10mm besser gewesen, jedoch wird sich dies am Ende zeigen. Das momentante Gewicht beträgt etwa 150 bis 180g. Dies ist nicht gerade wenig, sollte jedoch für erste Versuche reichen. Die Maße betragen 360mm im Durchmesser. Momentan sind noch nicht alle Bauteile angekommen, bis auf einem Set aus Motor und Treiber. Der Rest sollte Mitte März kommen, schöner Käse, aber immerhin 70% der Kosten gespart.

Vorstellbar wäre auch eine Version aus leichtem GFK (Glasfaserkunststoff) oder Balsaholz. Ersteres wäre durch Modelierung am PC und anschließendem Basteln aus Papier, deutlich flexibler. Wenn die Fräse bis dahin fertig wird, wären aus komplexere Formen aus Holz denkbar, es sei denn man findet jemanden, der Langeweile und ne Laubsäge hat.


28.02.2011

_images/copter_haube.jpg

Auf die Schnelle nochmal eben ein kleines Update: Die breiten Alu-Profile wurden durch 10x10mm ersetzt, was das Ganze doch etwas leichter macht. Außerdem befindet sich nun hinterhalb des Gehäuses ein Schacht für Batterien, welcher für 2 LiPos ausgelegt ist - wie gesagt, ich plane vor :D Da weiße Ding oben drauf wird vorerst der Deckel oder Haube des Copters, welche bis jetzt nur aus Papier besteht, später aber noch mit GFK überzogen und dadurch stabiler gemacht wird. Das Gesamtgewicht beträgt bis jetzt gute 175g, also noch gut unterhalb des errechneten Gewichts von etwa 200g fürs Gehäuse!


13.03.2011

_images/copter_gehaeuse_1.jpg _images/copter_gehaeuse_2.jpg

Mal wieder etwas Neues ^^. Die vorletzte Bestellung ist angekommen, leider kann ich damit noch nichts anfangen, da es sich nur um die Motor-Treiber handelt. Die Motoren werden wohl anfang der nächten Woche kommen - hoffentlich. Jetzt sieht das "Ding" schon eher nach einem Flugaparat aus. Der Schacht unten für die Akkus ist für einen weiteren LiPo ausgelegt, sollte ich doch nicht mit der Flugzeit zufrieden sein ;-) Alles in Allem wiegt der Copter bis jetzt 530g, wenn die anderen Motoren noch hinzu kommen, sollte es nicht wesentlich mehr als 600g werden. Wie ja schon gesagt, ein Motor sollte theoretisch 450g alleine heben können, wird noch sehr lustig werden.


30.05.2011

_images/copter_sn853051.jpg _images/copter_sn853052.jpg _images/copter_sn853050.jpg

Damits hier mal etwas weiter geht, kommt nun eine kleine Zusammenfassung der Dinge, die auch schon im Blog standen, bzw. auch noch Neues... Ich habe leider KEINEN Design-Kurs mit angeschlossenem Handarbeits-Kurs belegt, das Gehäuse kommt aus China ;-) Sieht für den Preis von knapp 20€ aber schon ganz ordentlich aus und scheint auch ne ganze Menge auszuhalten, auch wenn das reine Gehäuse nicht mehr als 200g wiegt. Das ganze Gehäuse ist allerdings auch wesentlich größer als das selbstgebaute. Die Motoren, falls man die erkennt, habe ich ebenfalls neu bekommen. Diese sind nicht nur etwas größer, sondern liefern auch mehr Schub bei etwas mehr Strom. Leider, wie man das ja fast schon gewohnt ist von Sachen aus China, lief einer der Motoren etwas träger als die anderen. Auch Schmiermittel brachte nichts. Aus diesem Grund werden wahrscheinlich morgen neue Motoren eintreffen, diesmal aus Deutschland zu einem sehr günstigen Preis :D Im Übrigen werde ich wahrscheinlich noch ein neues Gehäuse bauen müssen, um zum Einen beide Akkus unter zu bringen, zum anderen aber, weils schicker aussehen sollte.

Module

Bei den Modulen handelt es sich um mehr oder weniger unabhängige Komponenten, welche nach dem Baukasten-Prinzip, ähnlich dem des Arduino-Boards, übereinander gesteckt werden. Dabei haben die einzelnen Platinen eine maximale Größe von 65x45mm, was vollkommen ausreichend für einen Atmel mit Peripherie ist. Im Orginal des MultiWii-Copters wird ein Arduino Pro Mini verwendet. Dieser ist jedoch im Vergleich zu einem "normalen" Atmel im DIP-28 Gehäuse relativ teuer mit ~20€. Zum Vergleich: Ein Mega8 bzw. Mega368 kostet etwa 3, bzw. 6€. Abgesehen davon ist der Gewichts-, bzw. der Größenunterschied fast gleich Null, obwohl beim Pro Mini auf SMD-Technik zurückgegriffen wird.

Main-Board

Version 0.2

_images/copter_main_v2.jpg _images/copter_main-board_v2.png

Eine leicht verbesserte Version des alten Mainboards. Der Grund dafür liegt auf der Hand. Das Modul ist mit angeschlossenen Servo-Steckern bzw. Motor-Treiber etc. knapp 3cm hoch, was etwas zu viel des Guten ist. Auf dem 3D-Bild des neuen Mainboards stehen die Anschlüsse allerdings alle senkrecht zur Platine... was falsch ist, eigentlich sollten diese gewinkelt sein (habe entsprechende Symbole nicht in der Bib gefunden). Des Weiteren fällt der Anschluss für das Barometer weg - das kommt später einfach mit den anderen Sensoren oben drauf, spart Platz und sieht schick aus, genauso wie (Namen eines beliegen Teeny-Stars einsetzen).... Der Spannunsregler für 5V wurde ebenfalls überflüssig, da die Motor-Treiber die nötige Spannung liefern, und zwar alle ^^

Version 0.1

_images/copter_main.jpg _images/main_erklaerung.png _images/copter_main_real.jpg

Der Kern des Copters. (...Pause für erfürchtiges Staunen....) Dieses Bauteil übernimmt den Großteil der Steuerung, bzw. sorgt für ein ruhiges Flugverhalten. Ohne Prozessor wäre ein solches Flugobjekt gar nicht erst in der Lage zu fliegen. Wer lustig ist kann mal nach "Fly-by-Wire" suchen... Im Moment befindet sich ein Atmel ATMega368 mit 16Mhz auf der Platine, der noch reichlich Reserven für weitere Aufgaben hat. Außerdem ist ein kleine Piezo-Lautsprecher drauf,um zusätzlich eine niedrige Akku-Spannung zu signaisieren. Des Weiteren ist auch schon ein Anschluss für ein digitales Barometer vorhanden, welches später noch eingebaut werden kann - man plant ja gern vorraus. Auf den Board ist außerdem noch ein Spannungswandler für 5V und 3,3V - letzteren für GPS, Barometer und Wii-Komponenten.

Andere Anschlüsse auf dem Board:
  • Ausgänge für Motor-Treiber:
    • Left
    • Right
    • Rear
    • Front
  • Eingänge vom Funk-Empfänger:
    • Yaw
    • Pitch
    • Roll
    • Throttle
  • Zusatz-Buchsen:
    • Mode (Wahl des Flugverhaltens)
    • LCD (Ausgabe von Parametern
    • Program (für Serial-Bootloader
    • Add-Ons (noch unbelegt, frei)

Wii-Board

_images/copter_nun-board.jpg

GPS-Board

_images/copter_gps-addon.jpg _images/copter_gps-modul.jpg

Serial-LCD

_images/copter_serlcd.jpg

Zubehör

Oder wie sollte ich das sonst nennen? "Klein-Scheiß, der eigentlich nicht gebraucht wird, aber man doch recht froh ist, wenn man ihn hat"...

Drehzahl-Messer

_images/copter_sn853054.jpg

Dieses Teil ist aus alten Platinen entstanden. Die Technik ist nicht wirklich schwer: Auf der einen Seite wird eine IR-LED angeschaltet, dauerhaft. Auf der anderen Seite sitzt eine baugleiche LED, welche nun eine kleine Spannung liefert, wenn Licht der gleichen Wellenlänge auf sie trifft. Von der Software her ist dies ebenfalls nicht sehr anspruchsvoll. Erkennt der Controler innerhalb von einer bestimmten Zeit einen Abfall der Spannung an einem Port, wird dies gezählt und anschließend, mit ein wenig Rechnerei, ausgegegeben. Wirklich nicht schwer, aber da muss man erstmal drauf kommen.

Software

Zur Steuerung soll eine digitale Steuerung verwendet werden. Hierzu wird ein Bluetooth-Modul verwendet. Die nötige Software...

require "rubygems"
require "rjoystick"

#=begin
# example 1
#
#
# ARGV[0] => /dev/input/jsX
k = Rjoystick::Device.new(ARGV[0])
puts k.axes
puts k.buttons
puts k.name
puts k.version
puts k.axes_maps

while true
    e = k.event
    if e.type == Rjoystick::Event::JSBUTTON

        puts "X#{e.number.to_s(16)}1#{e.value}"
    end
    if e.type == Rjoystick::Event::JSAXIS
        old_val = e.value.to_s(2)
        while old_val.length <= 15
            old_val.insert(0,'0')
        end
        first_val = old_val[0,7].to_i(2)
        sec_val = old_val[8,15].to_i(2)
        if(first_val > 255)
            first_val = 255
        end
        if(first_val < 0)
            first_val = 0
        end
        if(sec_val > 255)
            sec_val = 255
        end
        if(sec_val < 0)
            sec_val = 0
        end
        puts "X#{e.number.to_s(16)}2#{first_val.chr}#{sec_val.chr}"

    end
end
k.close

Um die Copter-GUI mit dem BT-Modul zu verbindung, muss ein kleiner Hack vorgenommen werden:

sudo rm /dev/ttyS0
sudo ln -s /dev/rfcomm0 ttyS0

Da die Ausgabe der Ruby-Software noch nicht direkt ans BT-Modul geht, muss diese mit einer "Queue" direkt an der Modul gesendet werden:

sudo ./example.rb /dev/input/js0 > /dev/ttyS0