Start Person Technik Reisen Fotos
Kapitel 4 English Kapitel 6

5 Hardware

[Alle Bilder]

5.1 Flieger

Zum Fliegen braucht man erstmal ein Flugzeug. 1999 hatte ich schon mal einen Prototyp angefangen und im Sommer 2004 fertiggestellt. Leider hatte er den Jungfernflug nicht überlebt. Die Tatsache, dass die Ursache wahrscheinlich ein Pilotenfehler war, ermutigte mich, einen neuen Prototyp zu entwickeln. Wie der erste sollte er über Rückstrahlantrieb verfügen und durch einen 6 ccm Verbrennermotor getrieben werden. Im Rückstrahlantrieb sehe ich den Vorteil, dass Abgase und Treibstoffrückstände sich nicht am Rumpf festsetzen können und somit nicht die dort angebrachten Sensoren beeinflussen können. Als Tragflächen wollte ich die meines ersten Elektroseglers (Graupner Thermik Sport) verwenden - sie haben 2.5 m Spannweite und sind durch V-Form und Flügelohren einfach zu fliegen.

Diesmal verwendete ich ein CAD-Programm zur Konstruktion. Die Zeit, die zur Einarbeitung aufgewendet werden musste, zahlte sich später aus. So konnte ich verschiedene Lösungsvarianten durchspielen und das Modell aus allen Ansichten betrachten und Fehler beseitigen, bevor es gebaut wurde.


Abbildung 15: Konstruktionszeichnung
Download:Flobo1 DXF 225kB

Der Rumpf des Flugzeuges besteht aus 6mm Sperrholz, das einen sehr stabilen Kastenrahmen bildet. Zusätzliche Verstrebungen dienen als Motorträger, Aufnahme des Tanks oder Verbindung zum V-Leitwerk. Durch den relativ schweren Motor (700g mit Auspuffanlage) liegt der Schwerpunkt des Modells ziemlich weit hinten. Aus diesem Grund lohnt es nicht, durch allzu große Aussägungen Gewicht sparen zu wollen. Der Rumpf ist mit Balsaholz beplankt und mit Folie bespannt. Zwei Kohlefaserrohre verbinden den Rumpf mit dem Leitwerk, welches aus Balsa besteht. Ein 300 ml Tank befindet sich unterhalb der Tragflächen. Weil der Tank einige Zentimeter unterhalb des Vergasers liegt, kam es zu Problemen mit der Treibstoffzufuhr. Aus diesem Grund wurde später der Motor nach unten gedreht.

Schwerpunkt und andere dynamische Eigenschaften konnten nicht am Computer berechnet werden. Nachdem das Modell fertiggestellt wurde, mussten noch 350g Blei an der Front angebracht werden, um den Schwerpunkt herzustellen. Erste Rollversuche waren erfolgreich. Es zeigt sich jedoch, dass das Modell mit knapp 4 kg insgesamt zu schwer ist. Nach dem Einbau eines lenkbaren Bugrades und erneuter Trimmung ging es zum erstem Mal in die Luft. Leider wurde das Flugzeug nach kurzer Zeit unkontrollierbar und begann sich um die Längsachse zu drehen. Die Ursache könnte in er Aufhängung des Leitwerks liegen, welche vermutlich starken Strömungskräften ausgesetzt war. Der Absturz war hart, aber der Schaden relativ gering. Ich überlege nun, ob ich es nicht besser mit einem gekauften Modell versuchen sollte...


Abbildung 16: Fertiges Flobo-Flugzeug

5.2 Controller

Als Controller habe ich mich zunächst für das Gumstix-Controllerboard entschieden. Dabei handelt es sich um einen extrem kleinen Rechner auf ARM-Basis, auf dem ein Embedded-Linux mit 2.6er Kernel läuft. Nähere Info zum Board finden sich auf der Gumstix-Homepage. Das Board verfügt über einen Intel XScale-PXA255-Prozessor mit 200MHz Systemtakt. Es bietet 3 serielle, eine I2C-Schnittstelle und einen Slot für SD / MMC-Karten. Zusätzlich gibt es eine Reihe von IO-Pins, die allerdings alle über einen winzigen Connector angeschlossen werden müssen. Für Einsteiger empfiehlt es sich, ein sogenanntes Breakout-Board mit zu bestellen. Über dieses sind die wichtigsten Schnittstellen, wie auch I2C herausgeführt. Allerdings gibt es keine AD-Converter. Diese müssen bei Bedarf extern realisiert und über die Schnittstellen angebunden werden.


Abbildung 17: Gumstix Controller-Board

Mittlerweile habe ich das Board auch schon zum Leben erweckt. Dazu musste ich allerdings noch ein zweites Board bauen, das Stromversorgung und RS232-Treiber bereitstellt. Nach dem Einschalten startet zunächst der uboot-Bootloader und anschließend das eigentliche Linux. Über eine serielle Leitung mit 115200 Bit/s kann man den Bootvorgang mitverfolgen und sich anschliessend auch einloggen. Anfängliche Problem mit der Übertragungsqualität habe ich inzwischen behoben. Die Ursache waren falsch gepolte Elkos am MAX3232 Pegelwandler. Mit dem entsprechenden Breakout-Board lässt sich der Gumstix auch über USB mit dem PC verbinden. Im Gumstix-Wiki ist beschrieben, wie im PC eine Brücke zum LAN hergestellt und der Gumstix schliesslich an das LAN angeschlossen wird. Nachdem dieser sich per DHCP eine IP-Adresse besorgt hat, ist es möglich, ihn per HTTP oder SSH anzusprechen. Das Programmieren und Übertragen von Programmen ist nun leicht möglich.


Abbildung 18: Gumstix-Console auf dem Palm

5.3 GPS

Nachdem ich mehrere Produkte verglichen hatte, habe ich mich für ein U-Blox Modul entschieden. Speziell das SAM-LS scheint für meine Zwecke gut geeignet zu sein. Es hat eine integrierte Antenne, also erspart man sich zusätzliche Antennenkabel. Besonders vorteilhaft ist die Position-Update-Rate von 4Hz. Die Positionsdaten werden also maximal 4 mal pro Sekunde über zwei serielle Schnittstellen entweder im NMEA-Format oder in anderen Binärformaten ausgegeben. Dazu gibt es von der Webseite des Herstellers gute Dokumentation und Software zur Evaluation und Konfiguration des Moduls.

Nachteilig ist allerdings der Anschluß des Moduls. Dazu benötigt man ein sogenanntes FFC-Kabel mit 20 Adern im Raster von 0.5 mm. Modul und Kabel können als Sample direkt bei U-Blox in der Schweiz bestellt werden. Dies kostet ca. 120 Euro plus Steuer und Versand. Wesentlich günstiger habe ich es beim deutschen Vertrieb Pointis bekommen. Dort kostet das Modul 59 Euro plus MWSt und Versand. Leider war das Kabel nicht vorrätig. Und es ist ein echtes Problem, ein solches Kabel mit Stecker zu bekommen. Letzlich habe ich mir Kabel verschiedener Länge und entsprechende Buchsen bei Digikey bestellt, was auch nicht ganz billig war.


Abbildung 19: U-Blox SAM-LS Modul ohne Anschlusskabel

Wenige Augenblicke nach dem Anschluss des Moduls an mein Testboard erschienen schon Satelliten- und Positionsdaten über die Schnittstelle. Allerdings tauchen echte Probleme auf, wenn GPS und Gumstix in unmittelbarer Nähe zueinander betrieben werden. Das Gumstix-Board scheint so viel elektromagnetische Störungen zu erzeugen, dass der Satellitenempfang völlig ausfällt. Die beiden Komponenten sollen aber in Zukunft sehr nahe beienander plaziert werden. Also besteht die nächste Aufgabe in der Abschirmung des Gumstix-Boards.

5.4 IMU

Das Projekt Do it yourself UAV entwickelt einen Autopilot für Modellhubschrauber. Die zugehörige Hardware besteht aus 2 Beschleunigungssensoren, 3 Gyro-Sensoren und einem ATMega-Controller. Es ist in der Lage, selbständig Servos anzusteuern, jedoch sind diese Features schlecht bzw. gar nicht dokumentiert. Zum Projekt gehört die Firma Rotomotion, welche komplette Module oder Bausätze vetreibt. Für rund 300 Dollar plus Versand und Zoll habe ich mir das 6DOF IMU Kit bestellt und aufgebaut. Mit der zugehörigen Software lassen sich Beschleunigungen und Drehbewegungen erfassen und verarbeiten. Im unbewegten Zustand kann also die Lage bezüglich der Raumachsen gemessen werden.

Das Modul wurde bisher nur auf dem Schreibtisch getestet. Von daher können noch keine Aussagen zur Drift und Temperaturabhängigkeit gemacht werden. Auch inwiefern intern schon ein Kalman-Filter realisiert ist, ist nicht dokumentiert und nur anhand des Quellcodes herauszufinden. Sobald das Flugzeug einige erfolgreiche Testflüge absolviert hat, werde ich Controller, GPS und IMU einbauen und Messungen durchführen.


Abbildung 20: Rotomotion 6DOF-IMU

5.5 Sonar

Zur Abstandsmessung zu Boden soll das Polaroid Ultrasonic Ranging System eingesetzt werden. Mein Kumpel Frank hat mir freundlicherweise ein OEM-Kit mit zwei Modulen der 6500er Serie zur Verfügung gestellt. Das Modul liefert Entferungsmessungen im Bereich von 1 bis 10 Metern und wird mit einem kleinen ATMega gesteuert.

Im Versuchsaufbau konnten bereits Entfernungsmessungen vorgenommen und die Messdaten auf den PC übertragen werden. Der Messbereich lag dabei zwischen 0,5 und 6 Metern. Allerdings wurden auch Störungen und Abweichungen festgestellt. Hier muss also weiter an der Kalibrierung gearbeitet werden. Ebenso sind exakte Messungen im Freien mit verschiedenem Untergrund durchzuführen.


Abbildung 21: Polaroid Sonar im Versuchsaufbau

5.6 Weitere Sensoren

Die Messung der Geschwindigkeit in der Luft (Airspeed) soll durch ein Windrad vorgenommen werden. Auf diese Idee brachte mich die Datenlogger-Seite von Dietrich Meissner. Das Windrad wurde aus einem Prozessorlüfter für Notebooks gebaut. Es kann mit minimaler Beschaltung an einen AD-Converter eines ATMega angeschlossen werden.

Die Drehzahl des Motors wird mit Hilfe einer Reflexlichtschranke (SFH 9201) gemessen. Dazu wurde die Nabe der Propellerbefestigung entsprechend schwarz lackiert, so dass die Lichtschranke pro Umdrehung einen Impuls sendet. Die Impulse sollen später ebenfalls mit dem ATMega erfasst und in Umdrehungen pro Minute umgewandelt werden. Die Daten sollen schließlich per I2C an den Hauptcontroller gesendet werden.

 
Abbildung 22: Sensoren für Airspeed und Motordrehzahl

5.7 Adapter-Board

Das Adapter-Board dient zur Stromversorgung des Gumstix-Controllers, sowie zu dessen mechanischer Befestigung und natürlich zur Anbindung sämtlicher Sensoren und Module. Der Hirose-60-Connector ist auf der Rückseite des Boards angebracht. Fast alle anderen elektronischen Bauteile befinden sich auf der Vorderseite. Die Leiterplatte wurde so entworfen, dass der Gumstix von einer Abschirmung umgeben werden kann. Wie oben bereits erwähnt, bereitet die Störstrahlung des Gumstix Probleme beim Satellitenempfang, also muss er von einer möglichst dichten Schirmung umgeben werden.


Abbildung 23: Fertiges Adapter-Modul im Gehäuse

Die mittlerweile zweite Version des Adapterboards hat folgende Merkmale:

  • Spannungsregelung von 3.3V und 5V für die Versorgung mit 4- oder 5-Zellen RC-Akkus
  • Anbindung des GPS-Moduls über serielle Schnittstelle sowie Speicherpufferung mit Knopfzelle
  • Anbindung von Sonar, Drehzahlmesser, Airspeed-Sensor, Temperatursensor und zwei Schaltkanälen
  • ein ATMega8 mit I2C-Schnittstelle zum Gumstix zuständig für das Sammeln der Sensordaten
  • nach aussen werden zwei RS232-Schnittstellen angeboten, über die Gumstix-Console, beide GPS-Schnittstellen sowie der ATMega8 verfügbar sind
  • I2C Levelshifter zum Umsetzen der I2C-Leitungen zwischen 3.3V und der Spannung des RC-Empfängers (5V)
  • Messen der Akku-Spannung beider Stromkreise über entspr. Spannungsteiler und AD-Konverter
  • Statusanzeige über 4 externe LEDs, die per Kabel angesteckt werden können

Abbildung 24: Schaltplan Gumstix-Adapter
Download:gum_adaptor3.schgum_adaptor3.brd

Die Leiterplatte habe ich fertigen lassen. Das Löten der meisten SMD-Bauteile gestaltet sich einfach mit Ausnahme des Hirose-Connectors. Dieser hatte mir bei der ersten Version des Boards enorme Probleme mit Lötbrücken bereitet, die das Board schliesslich auch unbrauchbar gemacht haben. Deshalb habe ich mich diesmal dazu entschieden, den Connector im Reflow-Verfahren von einer Firma einlöten zu lassen. Für die Schirmung wurde Weissblech von Getränkedosen verwendet - Jever passt hier farblich gut. Das Blech ist allerdings so dünn, dass es bei der Bearbeitung mit einem Profil für höhere Steifigkeit versehen werden sollte. Fertig bestückt und in ein Gehäuse verpackt wiegt das gesamte Modul etwas weniger als 60 Gramm.

Kapitel 4
21.11.2005, Achim Walther, Mail
Kapitel 6