Projekt Autocopter, Oldenburg, Germany

Ziel des Projekt ist, einen autonom fliegenden Copter zu konstruieren.

 

Dokumentation der Entwicklung des
Quadrocopters mit MultiWii-Software (Version 1)

Dieser Copter existiert so nicht mehr und ist in der Version 2 als Hexacopter mit Ardupilot Software aufgegangen.

(Alle Fotos sind anklickbar / vergrößerbar. Alle Angaben ohne Gewähr)

Kontakt

Christoph und Stephan

multicopter [ät] keten.de

Wir freuen uns, wenn wir zwecks Erfahrungsaustausch andere Copter Freunde in der Region finden.

 

Übersicht

Quadrocopter (Version 1)

Hexacopter
Foto zum Vergößern bitte anklicken.

Flight Controler "Crius MWC 2.0" (ATMega 328P Microcontroller)

Sensoren integriert:
Gyroskope ITG3205
Gyroskope / Beschleunigungssensoren MPU6050
Barometer BMP085
Magnetometer HMC5883L

GPS über I²C

Software: MultiWii 2.1

Serielle PC-Verbindung über:
- FTDI (UART to USB)
- Bluetooth (UART to BT)

Vier Brushless Motoren E-Max CF2822 1200 kV
mit 30 A (max. 40 A) ESCs / 2A BECs

6 Kanal 35 MHz Fernsteuerungsanlage

3S Lipo Akku (11,1 V) mit 5000 mAh 30C

Holzrahmen mit 47 cm Spannweite
(Mitte der Motorachsen)

Raspberry Pi - Typ B
mit WLan und Stereo-Kamera Minoru

Gewicht abflugfertig (inkl. Akku) ca. 1380 g

 

Videos

Manueller Testflug in der TotalenVideo Quadrocopter Totale

Manueller Testflug in NahaufnahmeVideo Quadrocopter Nahaufnahme

 

 

 

Projekt-Dokumentation

(Alle Fotos sind anklickbar / vergrößerbar. Alle Angaben ohne Gewähr)

Oktober 2012

1. Stufe - Die Planung

Ziel ist es, einen autonom fliegenden Quadrocopter aufzubauen. Die Teile sollen auch bei Erweiterungen möglichst noch benutzt werden können. Die Software soll Open Source sein.

Wir haben zunächst sehr viele Webseiten, Foren und Videos durchstöbert und uns dann für das MultiWii Projekt entschieden.

Darauf aufbauend haben wir bei EBay den passenden Flightcontroller in Asien bestellt mit Motorreglern und Motoren. Während wir auf die Teile gewartet haben, haben wir uns an den Rahmen gemacht.

 

3.11.2012

2. Stufe - der Rahmen

RahmenDer Rahmen (Frame) wurde aufgebaut mit einer Pappelholz-Platte (Centerplate) mit 13 cm Kantenlänge (6 mm Stark, 5 verleimte Schichten). Pappelholz war das Leichteste.

Die Ausleger sind aus 10x10 mm Fichtenholz-Leisten.

Beides ist verschraubt aus einer 3 mm Gewindestange mit selbstsichernden Muttern und Unterlegscheiben. Die Löcher für die Gewindestangen haben 3,2 mm Durchmesser.

Wir haben die meisten dieser Teile bei Hornbach gekauft.

Die Spannweite beträgt ca. 55 cm, so dass der Rahmen als Schutz später noch über die Motoren hinausragt. Die Elektronik wird von einer 50er CD Spindel geschützt. Das Landegestell ist aus einer Ummantelung für Kaltwasserrohre gebastelt und auf dem Bild rechts nur provisorisch angebracht.

CenterplateLandegestell aus Rohrisolation

 

20.11.2012

3. Stufe - die Basis-Elektronik

Der Flight Controller, die Motoren, Motorregler, Propeller und Prop Saver wurden bei einem EBay Händler in Hong Kong gekauft. Lieferzeit ca. 4 Wochen.

Die Akkus zum Testen sind 2S Lipos (2 Zellen, 7,4 V) mit 1100 mAh und stammen aus einem "Fertig-Heli" Lama V4 von ESky. Später können wir auch 3S Lipos (3 Zellen, 11,1 V) benutzen.

Ebenso verwenden wir die 35 MHz 4 Kanal Fernbedienung und den Empfänger aus dem "Fertig-Heli". Das reicht um den Copter zu fliegen (Throttle, Yaw, Nick, Roll), aber nicht um irgendwelche Umschaltungen zu machen. Z.B. stable / unstable Mode oder manueller / autonomer Flug etc. Der Empfänger ist links vor dem FC zu sehen an den vielen Kabeln. Das orange weiße Fähnchen gehört zum 35 MHz Empfängerquarz.

Qaudrocopter mit Elektronik

Später soll noch ein Raspberry Pi mit WLan dazukommen. Da WLan auf 2,4, GHz funkt, bleiben wir mit der Fernsteuerung auf 35 MHz, statt auf die auch bei Fernsteuerungen inzwischen üblichen 2,4 GHz zu gehen.

 

Flight ControllerAls Flightcontroller (FC) haben wir uns für einen Crius MWC SE 2.0 entschieden:

  • Arduino ATMEGA 328P Prozessor

  • Sensoren:
    ITG3205 three-axis digital gyroscope (Gyroskope)
    BMA180 triaxial accelerometer (Beschleunigungssensoren)
    BMP085 pressure sensor (Barometer)
    HMC5883L axis magnetoresistive sensor (Magnetometer / Elektronischer Kompass)


  • Maße 50 mm x 50 mm
    Gewicht: 13.9g

  • Servo Output für Kamera Pitch und Roll

 

Der Flightcontroller wird mittels einer kleinen FTDI Aussteckplatine (UART to USB) an den Computer angeschlossen. (Nicht im Bild)

 

Brushless MotorDie vier brushless Motoren (BLM) sind von EMAX CF2822 1200KV:

Kompatibel mit 2 und 3 Zellen Li-Poly Akkus

1200 RMP/V (Umdrehungen pro Volt)

Größe: 22mm x 10mm

Achsendurchmesser: 3mm

Gewicht: 39g / Stück

Die Motorwelle ist sehr lang (der Stab der oben rausguckt), so dass die Welle noch zur Hälfe sichtbar ist, wenn der Propsaver drauf ist. Um Vibrationen zu minimieren, werden wir deshalb die Welle noch um gut die Hälfte kürzen. Dann sitzt der Propeller direkt auf dem Motor.

 

Die vier Motorregler (Electronik Speed Control / ESC) haben eine Leistung von 30A (Kurzzeitig bis zu 10 Sek. 40A)
Eingangsspannung: 2 oder 3 Zellen Lipos oder 5-9 Zellen NiCd/NIMh Akkus
BEC: 1A / 5V (Linear mode).
Max Speed: 210,000 rpm for 2 Poles BLM, 70,000rpm for 6 poles BLM,  35,000rpm for 12 poles BLM.
Maße: 45mm (L) x 24mm (W) x 11mm (H).
Gewicht: 25g / Stück

Motorregler / ESC

 

 

PropellerDie Propeller haben einen Durchmesser von 10" (= 25,4 cm) mit einer Steigung von 4,5" (Typbezeichnung 1045) ...

 

...mit passenden Propeller Adaptern (Prop Saver) zum Schrauben.

Prop Saver

 

23.11.2012

4. Stufe - Software und Kalibrierung

Alles an Software bekommt man über die MultiWii Seite und auf der dazugehörigen Downloadseite (http://code.google.com/p/multiwii/)

Wir haben auf dem FC schon die Software Version 2.0 vorinstalliert. Es gibt (Stand Nov 2012) auch schon die Version 2.1.

Wir testen erstmal die 2.0 und sammeln Erfahrungen, bevor wir den FC auf 2.1 flashen.

MultiWii GuiDie standard MultiWii GUI (Grafik User Interface) ist übersichtlich. Auf einem Desktop Rechner mit Windows 7 - 64 Bit funktionierte die Software und stellt eine Verbindung zu dem FC her.

Es sei hier auch die sehr gute MultiWii Win-GUI (http://code.google.com/p/mw-wingui/) erwähnt, die man alternativ statt der MultiWii GUI benutzen kann.

Auf zwei Notebooks mit Windows Vista funktionierte keine der beiden GUIs, da keine Verbindung hergestellt werden konnte. Es ist unklar warum. Es kann sein, dass man die Wartezeit der Com Schnittstelle von standartmäßig 16ms runtersetzen muss auf z.B. 1ms.(Gerätemanager -> Com & LPT -> Eigenschaften der Com Schnittstelle). Dies hat auf einem Notebook mit Windows 7 geholfen.

Auf einem Linux Netbook ging es nicht, weil die entsprechenden seriellen Treiber (UART) nicht gleich richtig gefunden wurden.

 

24.11.2012

5. Stufe - Manuelle Testflüge

Indoor-Testflug im unstable Modus

Der erste Testflug verlief noch etwas wackelig, aber erfolgreich:

Video 1

Video 2

Bei diesem Flug waren nur die Gyros eingeschaltet (unstable modus).

Es fehlen noch das Einschalten der Beschleunigungssensoren, des Barometers und des Kompasses.

Qaudrocopter vor dem 1. Testflug

 

30.11.2012

Outdoorflug mit eingeschalteten Beschleunigungssensoren (Stable Modus)

Sehr gute Flugeigenschaften. Leider lößt sich ein Propsaver von der Welle. Der Quad stürtz ab und zwei Propeller gehen kaputt.

 

2.12.2012

2. Outdoorflug an der Weser Ems Halle (WEH) auch mit Barometer und Kompass.

Barometer reagiert richtig. Magnetometer nicht so gut: Der Headsfree Modus ging schlecht. Das kann vielleicht an den Hochspannungsleitungen gelegen haben, die über die Wiese gehen...?!?

Das Landegestell mit der Rohrisolation ist nicht für Outdoor geeignet und ist sofort kaputt gegangen.

 

3.12.2012

Quadrocopter mit neuem LandegestellNeues Landegestell aus Schläuchen angebaut.

Das weiß-schwarze Isolierband ist dazu da vorne zu markieren.

 

Neues Landegestell aus Schläuchen

4.12.2012

Stufe 6 - Elektronik für höhere Funktionen

Raspberry Pi - Typ B

(512 MB, 2x USB) für die Anbindung von WLan und einer Kamera.

Raspberry Pi

 

9.12.2012

Das WLan Modul läuft jetzt am Raspberry Pi.

Raspberry Pi WLan

 

12.12.2012

Minorou 3D Webcam3D Kameras

Das ist die eine von Minorou. Die erste konsumer 3D Webcam auf dem Markt. Ist schon ein Paar Jahre alt aber es gibt gute Linux Unterstützung.

Der Abstand der Kameras ist 60 mm und entspricht fast dem durchschnittlichen Augenabstand von 65 mm (Mann) und 62 mm (Frau).

 

 

 

Die zweite Kamera "Somikon WEC-400.3D" ist von Pearl und deutlich kleiner. Der Kameraabstand ist nur 40 mm. Ob man hier brauchbare 3D Bilder bekommt muss sich erst noch zeigen.

Pearl 3D Webcam

Zu Testen ist, ob die Linux Integration funktioniert und wie die Qualität der Kamerasensoren in Bezug auf Lichtempfindlichkeit, Rauschen, Auflösung und Bildwiederholrate ist.

 

14.12.2012

Bluetooth Modul

(UART to BT) zur drahtlosen Verbindung von Flight Controller (FC) und PC und Übertragung von telemetrischen Daten während des Fluges.

Bluetooth Modul

Bevor das BT Modul an den FC angeschlossen werden kann, muss geprüft werden, ob es auch auf 115200 Baud eingestellt ist. Manche Module sind dies andere nicht. Schaut in die Beschreibung des Verkäufers, denn die GUI 2.0 / 2.1 funktioniert nur mit 115200 Baud.

Dazu kann man das FTDI Modul verwenden: Verbindet das FTDI mit dem BT Modul. Achtet dabei auf die richtige Pinbelegung: GND an GND, VCC an VCC, RX an TX, TX an RX (Also die beiden seriellen Ausgänge vertauscht.)
Dann das FTDI Modul über USB mit dem PC verbinden.

Jetzt konnt ihr mit einem Terminal Programm (z.B. Putty) eine serielle Verbindung zum BT Modul aufbauen: Richtigen COM-Port auswählen, Speed (BAUD) einstellen, Connection Type: Serial. Links unter "Serial" kann man noch die Options prüfen, die aber wahrscheilich schon richtig eingestellt sind: Data Bits: 8, Stop Bits: 1, Parity: None, Flow Control: None (ich glaube Xon/Xoff geht auch)
Gängige Baudraten sind: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1382400
Wenn Du keine weiteren Infos zum BT Modul hast, probiere zuerst 115200 und 9600. Falls das nicht geht, die anderen Baudraten auch.

Wenn die Verbindung aufgebaut wurde, kannst Du mit AT Komandos die Einstellungen des BT Moduls setzten:

Test der Verbindung:

Kommando: AT (Wichtig: groß geschrieben!, Das AT erscheint nicht in der Konsole, wenn Echo ausgeschaltet ist.)
Antwort: OK

Die folgenden Befehle kann man nicht mehr eintippen, sondern nur in das Terminal kopieren. Also die Kommandos in eine Textdatei schreiben und dann copy/paste in das Terminal.

Bevor man die Baudrate anpasst, sollte man alle anderen Kommandos geben, denn nach dem Verändern der Baudrate muss man erst eine neue Verbindung mit dem Terminalprogramm aufbauen.

Optional kann man jetzt den Namen des Bluetooth Modul ändern mit:

Kommando: AT+NAME<name> (z.B. AT+NAMEMultiWiiCopter)
Antwort: OKsetname

Und nun kann man auch den Pin ändern mit:

Kommando AT+PIN<pin> (z.B. AT+PIN1234 oder AT+PIN0000)
Antwort: <pin>

Und jetzt das entscheidende Kommando:

Kommando: AT+BAUD<nummerderbaudrate> (z.B. AT+BAUD8 für 115200 Baud)
Die <nummerderbaudrate> ist:
1: 1200
2: 2400
3: 4800
4: 9600
5: 19200
6: 38400
7: 57600
8: 115200
9: 230400
A: 460800
B: 921600
C: 1382400

Antwort: OK<baudrate>

Diese Seite ist eine sehr gute Info, falls es Probleme dabei gibt: http://lazyzero.de/modellbau/multiwii/bluetooth

 

Jetzt ist das BT Modul bereit zum Anschluss an den Flight Controler:

Das Modul wird neben dem Anschluss für den FTDI angeschlossen. ACHTUNG: Die Pinbelegung genau beachten! Denn die sind auf dem FC meist nicht im der selben Reihenfolge wie auf dem BT Modul.

GND (Masse) auf GND
VCC (+5V) auf VCC
RX (Serieller Eingang / Receive) auf TX !
TX (Serieller Ausgang / Transmit) auf RX !

Dabei muss also der RX vom FC mit dem TX vom BT Modul verbunden werden. Es kann aber nichts kaputt gehen, wenn man die beiden seriellen Kanäle vertauscht. Es funktioniert dann einfach nur nicht.

Bluetooth am (Windows-) PC einschalten und jetzt sollte der MultiWiiCopter in BT Menue auftauchen. Dort jetzt noch in den Einstellungen ebenfalls die richtigen Werte setzten (115200 Baud, 8 Datenbits, 1 Stopbit, kein Parity) und dann sollte man mit der GUI die Sensoren des FC auslesen können.

Auf Linux (Ubuntu) haben wir es bisher nicht geschafft die serielle Schnittstelle über Bluetooth so einzurichten, dass dort die GUI funktioniert.

 

17.12.2012

Leider passt der Raspberry Pi mit dem FC nicht zusammen unter die CD Spindel. Außerdem muss die WLan Antenne, die Stereo-Kamera und das BT-Modul angebracht werden. Zeit für eine Überarbeitung des Copter-Frames:

DomeZunächst haben wir diese Acrylkugel mit 16 cm Durchmesser als Dome in einem Bastelladen gekauft (ca. 4,- €). Die Kugeln gibt es auch mit 18 und 20 cm Durchmesser.

Die linke Kugelhälfte wurde von innen mit einem 400er Schmirgelpapier bearbeitet, so dass sie etwas undurchsichtiger wird, aber die LEDs der Elektronik noch durchscheinen können.

 

19.12.2012

Jetzt muss auch die Centerplate neu: Rund und mit der FC und dem Raspberry Pi. Da noch etwas schwarze und weiße Farbe da war, haben wir alle Teile gleich lackiert.

Das neue Frame mit runder Centerplate. Die vorderen Ausleger sind jetzt weiß.

Das 2. Frame

Anordnung der Elektronik auf der neuen Centerplate noch ohne Verkabelung.:

FC und Parsperry Pi auf neuer Centerplate

 

21.12.2012

Ganzer Copter mit Dome mattiert:

Quadrocopter mit Dome

Es wurden auch die Stereo Kamera (vorne) und der WLan Stick (Rückseite) montiert.

Die Wellen der vier Motoren wurden gekürzt, so dass die Propsaver jetzt ganz auf dem Motor aufsetzten. Dies vermindert Vibrationen.

 

27.12.2012

29C3Besuch des 29C3 des CCC im CCH (29. Chaos Communication Congress des Chaos Computer Clubs im Congress Centrum Hamburg) :-)

29C3

 

28.12.2012

6-Kanal Fernsteuerung angeschafft, so dass jetzt zu den 4 Steuerkanälen auch noch ein Kanal zur Verfügung steht, um zwischen autonomen und manuellem Flug umschalten zu können.

RC 6 Channel

Die Fernsteuerung ist eine "Carson LCD 6". Baugleich zur "Art-Tech E-Sky 100 C".

Der 6. Kanal ist leider nicht separat nutzbar, da er beim Umschalten (von Normal auf 3D Flug) auch den Thottle-Kanal umprogrammiert.

 

30.12.2012

FC mit MultiWii Version 2.1 geflasht. Zum flashen wird die Arduino Software (Ver. 1.0.3) verwendet:
http://arduino.cc/en/Main/Software
Das flashen ist nur über FTDI möglich und NICHT über Bluetooth.

Vor dem flashen muss die config.h dem Quadrocopter angepasst werden.

Jetzt kann das neue serielle Protokoll verwendet werden, das hier dokumentiert ist:
http://www.multiwii.com/forum/viewtopic.php?f=8&t=1516

 

3.1.2013

Progamm in Phyton geschrieben, um die serielle Schnittstelle des FC anzusprechen und erste Daten auszulesen.

 

5.1.2013

Serielle Schnittstelle zwischen FC (Arduino) und Raspberry Pi

Die seriellen Schnittstellen können nicht so einfach verbunden werden, da beim Arduino 5V anliegen und beim Raspberry Pi nur 3,3V. Dies könnte zu einer Zerstörung der Raspberry Pis führen. Es gibt Leute, die die beiden Schnittstellen trotzdem direkt verbunden haben und es scheint zumindest kurzfristig zu funktionieren, aber wielange das gut geht steht in den Sternen...

Wir wollen eine vernünftige Lösung und löten ein kleines Board, dass die unterschiedlichen Spannungen anpasst - einen sogenannten Logic Level Converter. Im Kern benutzen wir das IC Max3232CPE.

Die Verschaltung und auch Informationen zur seriellen Schnittstelle des Raspberry Pi finden sich hier:
Logic Level Converter: http://codeandlife.com/2012/07/01/raspberry-pi-serial-console-with-max3232cpe/
Raspberry Pi Serielle Schnittstelle 1: http://lavalink.com/2012/03/raspberry-pi-serial-interfacing/
Raspberry Pi Serielle Schnittstelle 2: http://lavalink.com/2012/04/more-on-raspberry-pi-serial-ports/

 

10.1.2013

Bestellungen:
- FC MWC SE 2.0, bei dem die Pins für den I²C Anschluss nach außen gelegt sind.
- GPS Modul für den Anschluss an I²C.
- 2 LiPo Akkus mit 3 Zellen (3S) und je 5000 mAh.
- Servo bestellt, um die Kamera in der Waagerechten zu halten.

 

24.1.2013

Der neue Flight Controller MWC SE 2.0

FC Multiwii MWC SE 2.0

Die 4 Pins an der Oberseite sind das I²C Interface für GPS
Links werden nur noch die Signalleitungen des Empfängers angeschlossen.

Alle Daten:
- 6 input channels for standard receiver and PPM SUM receiver
- Up to 8-axis motor output
- 2 servos output for PITCH and ROLL gimbal system
- A servos output to trigger a camera button
- A FTDI/UART TTL socket for debug, upload firmware or LCD display
- I2C socket for extend sensor,I2C LCD/OLED display or CRIUS I2c-GPS  NAV board
- Separate 3.3V and 5V LDO voltage regulator
- ATMega 328P Microcontroller
- ITG3205 3-axis MEMS gyro
- MPU6050 6 axis gyro/accel with Motion Processing Unit
- HMC5883L 3-axis digital magnetometer
- BMP085 digital pressure sensor
- On board logic level converter

- Maße: 40 mm x 40 mm
- Höhe: 11,6 mm
- Gewicht: 9,6 g
- Loch-Abstand: 35 mm
- Loch-Durchmesser: 3 mm

 

28.1.2013

Neuer FC mit GPSDer neue Flight Controller auf dem Mainframe.

Die GPS Antenne ist unten im Bild. Rechts über den Raspberry Pi ist die Wandlerplatine für I²C über den die GPS Signale laufen..

Links ist der 6-Kanal Empfänger.

Wenn wir ein neues Mainframe für den Hexacopter anfertigen, wird das alles noch etwas schöner untergebracht.

29.1.2013

Der neue Akku LiPo 3S 5000 mAh 30C

LiPo Akku 3S 5000 mAh 30C

(Zum Vergleich liegt unten der 2S LiPo mit 1100 mAh 15C)

LiPo = Lithium Polymer
3S = 3 Zellen. Eine Zelle hat 3,7 V. 3S entspricht also 11,1 V.
5000 mAh = Kapazität des Akkus (= 5 Ah) Dies sind bei 11,1 V = 55,5 Wh.
30C bedeutet, dass der Akku maximal das 30 fache seiner Kapazität an Strom abgeben kann also 30 x 5000 mA = 150.000 mA = 150 A (bei 11,1 V). Dies sind 1665 Watt.

Oder anders gesagt: Man könnte in nur 2 Minuten die ganzen 5000 mAh aus dem Akku ziehen! Dies ist die große Stärke von LiPo Akkus.

Der Akku wiegt 373 g.

 

31.1.2013

GPS über I²C

CN -06 GPS receiver 2.0
U-blox NEO-6M GPS module
Build in 18X18mm active GPS antenna
UART TTL socket
Rechargeable battery for Backup
Dimension: 22mm x 30mm
Height: 13mm
Weight:12g / 14.4g (include cable)
Hole diameter: 3mm

I2C-GPS NAV Module 
All  GPS data available via the I2C bus to connect to 328P Multiwii FC
A  LED on board show GPS 3D Fix status
ATMega  328P Microcontroller
2  Molex 1.25mm 4Pin socket for GPS receiver and FC
2  port for ISP and FTDI
Dimension:  20mmX30mm
Height:  5mm
Weight:2.4g/5g(include  cable)
Hole  diameter: 3mm

 

1.2.2013

Videos: Testflug mit neuer Konfiguration

Video: Indoor - in der Totalen
Video Quadrocopter Totale

Video: Indoor - in Nahaufnahme
Video Quadrocopter Nahaufnahme

 

Die Flugzeit beträgt mit den neuen 3S 5000 mAh Akkus ca. 15 Minuten.

Damit ergibt sich ein durchschnittlicher Strom von ca. 20 A und eine Leistung von ca. 220 W.

 

Mitte 2013

2013 wurde der Copter mit sechs Motoren aufgerüstet was große Probleme mit der MultiWii Software gab, denn die Anforderungen mit sechs Motoren, GPS-Funktionalität und den anderen Funktionen, die wir gebraucht haben, führte dazu, dass der Sourcecode so groß wurde, dass er nicht mehr in die 256 kB Speicher des vorhandenen MultiWii Flugcontrollers gepasst hat.

Außerdem hat sich im Oldenburger Hackspace (Mainframe / Kreativität trifft Technik e.V.) eine Coptergruppe gegründet, der wir uns angeschlossen haben. Dort benutzen die meisten die Ardupilot Software, die einen noch ausgereifteren Eindruck gemacht hat, und wir uns entschieden haben, auf diese Software umzusteigen. Was auch dazu geführt hat, dass wir einen neuen Flugcontroller benötigt haben.

All diese Veränderungen führten dazu, dass wir hier jetzt nun einen Schnitt machen und den neuen Copter separat dokumentieren: Hier sind die weiteren Infos zu dem neuen Hexacopter (Version 2).