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
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
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
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
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
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
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
GPS-Board
Serial-LCD
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
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