PX4 PIXHAWK Autopilot / Flight Management Unit

PIXHAWK Seite 2

schnelle und moderne Hardware ergänzt die AutoPilot Multiplatform

plischka.at  hexakopter.de  hexrotor.de
MIT UNSEREN MIKROKOPTERN KANN IHRE KAMERA FLIEGEN

Der lang erwartete Nachfolger des PX4 Boards kommt.

Wieder mit einer 168 MHz / 252 MIPS Cortex-M4F CPU

Der PIXHAWK Autopilot macht vieles besser als sein

Vorgänger.

Im Juli 2012 wurden die ersten PX4 Autopilot Systeme an Entwickler ausgeliefert. Fast genau ein Jahr später gibt es die überarbeitete Version, den PIXHAWK Autopilot. Das PX4 Board ist aus dem PIXHAWK Projekt der  ETH Zürich entstanden. Es ist ein Open Source und gleichzeitig auch ein Forschungsprojekt der ETH in Zürich mit der Zielsetzung durch Bildverarbeitung einen automatischen Flugablauf eines Copters zu realisieren. Das alte PX4 besteht aus zwei Platinen, der PX4FMU und dem IO Modul. Alle externen Komponenten wie Empfänger, Regler, Roll, Nick Pan Servos, Kameraauslöser, Leds, Sonar, OptFlow.. müssen umständlich über DF-13 Stecker verbunden werden. Man kann nicht eben mal ein Servo aufstecken sondern muss sich erst die Belegung der DF-13 Buchsen raus suchen, dann ein passendes Kabel finden und an den Kabelenden eine 2,54 mm Buchse anlöten. Jetzt erst kann man das Servo aufstecken. Das ist äußert unbefriedigend. Die Kontaktierung über 2,54 mm Stift und Buchsenleisten ist ein absolutes Muss für einen DIY Copter. Der PIXHAWK Autopilot verwendet wenigstens für die PWM Ausgänge, für den PPM-Sum Eingang, den S-Bus Ausgang und die AUX PWM Ausgänge 2,54 mm Stiftleisten. Alles andere muss wieder über DF-13 Stecker verbunden werden.
Pixhawk Systemeigenschaften Der Pixhawk Flight Controller ist eine Weiterentwicklung des PX4 Flight Controller Systems. Pixhawk besteht aus einem PX4-FMU Controller und einem IO-PX4, integriert auf einer einzigen Platine mit zusätzlichen IO, Speicher und sonstigen Funktionen. Das ist jetzt die dritte Generation der Flugsteuerung (APM -> PX4 -> Pixhawk). Pixhawk ist hoch optimiert, und bietet Steuerungs und Automatisierungstechnik für unseren Flug Navigationssoftware. Die vorhandene Leistung und Kapazität, sollte für die nächsten Jahre ausreichen. Das NuttX Echtzeit-Betriebssystem verspricht hohe Leistung, Flexibilität und Zuverlässigkeit für die Steuerung jedes autonomen Fahrzeugs. Eine Unix / Linux-like Programmierumgebung, integriertes Multithreading und Autopilot-Funktionen wie Lua Scripting von Missionen und Flugverhalten bieten leistungsfähige Entwicklungskapazitäten. Ein benutzerdefinierter PX4 Driver Layer sorgt für feste Zeitrahmen über alle Prozesse hinweg. Mit dem Pixhawk können die aktuelle APM und PX4 Betreiber einen nahtlosen Übergang zu diesem System finden. Dadurch senkt es die Eintrittsbarriere für neue Benutzer. Neue Peripherie Optionen sind der digitale Fluggeschwindigkeit Sensor, Unterstützung für eine externe Multi-Color-LED-Anzeige und ein externes Magnetometer. Alle Peripheriegeräte werden automatisch erkannt und konfiguriert.
Das Pixhawk Flight Controller System besteht aus: Ein sehr leistungsfähige 32 Bit-Prozessor mit einem zusätzlichen ausfallsicheren Backup-Controller und umfangreichen Speicher STM32F427 32-Bit- Mikrocontroller Primär : 168 MHz, 252 MIPS, Cortex M4 Kern mit einer Floating Point Unit. Zwei Megabyte Flash-Programmspeicher und 256 Kilobyte RAM. STM32F103 Backup ausfallsicherer 32 Bit Co-Prozessor sorgt für manuelle Wiederherstellung und hat eine eigene Stromversorgung. Sockel für eine einsteckbare Micro SD Speicherkarte für Datenaufzeichnung und andere Verwendungen. Alle geeigneten und erforderlichen Sensoren 3 Achsen 16 Bit ST Micro L3GD20H Kreisel zur Bestimmung Orientierung. 3-Achsen Beschleunigungssensor und 14-Bit Magnetometer. Rückstellung für externe Magnetometer mit automatischer Umschaltung, falls gewünscht. MEAS MS5611 Luftdruck Sensor zur Bestimmung Höhe. Eingebaute Spannungs und Strommessung für Batteriezustand Kontrolle. Anschluss für ein extern montierbares UBLOX LEA GPS zur Bestimmung der absolute Position. Eine umfangreiche Auswahl an I / O-Schnittstellen mit speziellen Steckern Vierzehn PWM Servo oder ESC Drehzahlregelungs Ausgänge. Fünf UART ( serielle Ports ), einer High-Power fähig, 2x mit HW Flusskontrolle. Zwei CAN I/O -Ports (einer mit internen 3,3V Transceiver , eine auf auf dem Expansion Anschluss) Spektrum DSM / DSM2 / DSM -X ® Satellite Receiver kompatibler Eingang : Ermöglicht den Einsatz von Spektrum RC Sender. Futaba S.BUS ®-kompatiblen Eingang und Ausgang. PPM Summensignal Eingang. RSSI (PWM oder Spannung) Eingang. I2C und SPI serielle Schnittstellen. Zwei 3,3 Volt und 6,6 Volt ein Analog Eingänge. Interner microUSB Port und externer microUSB Port Anschluss. Enthält einen eigenen on board Mikrocontroller und Stacks mit der FMU. Ein aufwendiges Power System mit Redundanz und umfassenden Schutz Der Pixhawk ist mit einer eigenen Spannungsversorgung mit Spannungs und Stromsensoren ausgerüstet. Ein “Ideal Diode Controller” mit redundantem Netzteil Eingänge und automatisches Fail-over. Servo Rail Leistung ( max. 10V) und High Strom ( 10A + ) bereit. Alle Ausgänge sind gegen Überstrom geschützt und alle Eingänge ESD geschützt. Zusätzliche Funktionen Der mitgelieferte externe Sicherheitsschalter ermöglicht eine sichere Motor Aktivierung / Deaktivierung. LED Statusanzeigen und Treiber für eine externe multicolored LED um dem Flugstatus anzuzeigen. High-Power, Multi Ton Piezo Audio Indikator informiert auch über den aktuellen Flugstatus. Ein hochleistungs UBLOX GPS plus einem externen Magnetometer in einer Schutzhülle ist erhältlich. Vergleich PX4-FMU-IO mit dem neuen Pixhawk Das neue PX4 Pixhawk Modul ist eine Weiterentwicklung des bestehenden FMU und IO-Modules und ist vollständig kompatibel. Der Hauptunterschied ist die Zielgruppe Die PX4 FMU und IO-Stack ist sehr klein (die Größe eines 8-Kanal RC-Empfängers) und sehr dicht gepackt, Pixhawk hat mehr Speicher, mehr serielle Ports und PWM-Ausgänge. Es gibt zwei Gruppen von Servo-Anschlüssen, eine Hauptgruppe mit 8 Ausgängen durch den Backup-Prozessor verdrahtet, und einer zusätzlichen Gruppe von 6 Ausgängen direkt mit dem Hauptprozessor verdrahtet. Der Anschluss mit der Bezeichnung "RC" kann normale PPM Summe oder Futaba S.Bus Eingänge lesen. Der Port mit der Bezeichnung "SB" kann RSSI lesen oder stellt einen S.Bus Ausgang für Servos zur Verfügung. Ein Spektrum Satelliten kompatibler Anschluss ist auf der Oberseite (beschriftet SPKT / DSM). Die wichtigsten Unterschiede zwischen alt und neu sind: 14 PWM-Ausgänge vs 12 PWM (alt) Alle PWM-Ausgänge auf Servo Anschlüsse (alt: 8 am Servo, 4 auf DF13) 5 serielle Schnittstellen vs 4 (mit einigen doppelten Funktionalitäten) 256 KB RAM und 2 MB Flash vs 192 KB RAM und 1 MB Flash (alt) Modernisierte Sensor Suite (neueste Generation) High-Power Summer Treiber (alt: VBAT driven, nicht so laut) High-Power LED multicolor (alt: nur externe BlinkM Unterstützung) Unterstützung für USB Einbaubuchse (alt: nicht vorhanden) Überarbeitete, verbesserte Power-Architektur Besserer Schutz auf allen Input / Output-Pins gegen Kurzschlüsse und Überspannung Bessere Überwachung von Stromanschlüssen (intern und extern, zB Servo Spannung) Unterstützung für Spektrum Satelliten Paarung Keine Solid State Relais auf der v2 (wurde nicht wirklich verwendet) Steckverbinder leichter zu trennen, da der umgebenden Kunststoff des Gehäuses hilft, die Finger richtig zu platzieren Die neue Einheit ist nicht wesentlich größer, hat die gleiche Höhe, bietet aber in der Regel mehr Komfort in der Handhabung Externe Stromversorgung ähnlich dem bestehenden 3DR Netzteil (jedes Gerät kommt mit einem freien Modul). Beide Generationen bieten die gleiche Backup / Override-Prozessor Technik, Failover ermöglicht die manuelle Übernahme wenn der Autopilot ausfällt Für Software-Entwickler sind die Unterschiede abstrahiert in der PX4 Middleware und können zur Laufzeit konfiguriert werden
07.10.2013 3DR liefert das Developer Release eines Ready to Fly Multicopters aus. Die IRIS ist ein kleiner Quadro mit der modernsten Flugsteuerung auf dem Markt, dem PIXHAWK. Das PIXHAWK hat einen Cortex M4 Processor der mit 168 MHz Takt läuft. Ich hatte sie ohne Empfänger bestellt, also Jeti Empfänger rein, Akku drauf und los geht es. Hier die ersten Fotos von der IRIS im Flugbetrieb.
Ein Blick ins innere der IRIS. Rechts neben dem PIXHAWK befindet sich der PPM Encoder, er wird bei Empfängern mit Summensignal nicht benötigt.
Der erste kleine Umbau: Die Toshiba Led ist sehr unglücklich am Boden der Akkuklappe montiert. Wenn die IRIS auf dem Boden steht kann man den GPS Status nicht erkennen. Zusätzlich habe ich eine HighPowerLed zur Lageerkennung auf größere Entfernungen montiert. Sie wird über die Dreifachledplatine angesteuert.
Die Motore des Quadros werden über diese 4-1 ESC angesteuert. Die 4-fach ESC Platine kann vier Motore mit je 20 A Dauerstrom bei 4S versorgen. Auf dieser Platine ist auch das 5V Powermodul mit Spannungs und Stromsensor verbaut.
Die PX4 External Led oder Toshiba Led wird über einen speziellen I²C Treiber inc. Ledtreiber angesprochen. Sie zeigt Statusinformationen durch verschiede Farben in Dauerlicht, Fading oder Blinken an.
Der I²C Splitter versorgt alle Geräte, die über den I²C Bus angesteuert werden müssen
Dieses kleine Modul stellt eine Micro USB Buchse zur Verfügung
Optional: Der Airspeed Sensor
24.11.2013 3DR IRIS Test Review der 3D Robotics Developer Edition mit PIXHAWK FC Ein Flugroboter für jedermann oder RTF Avantgarde ? Ein Bericht von Kai aka gervais
03.12.2013 Mit der IRIS wird seit längerer Zeit das PIXHAWK in der Version 2.3 ausgeliefert. Vor einigen Wochen stellte es sich heraus, dass die Hardware fehlerhaft ist. Im Forum findet man folgende Aussage von Craig: LSM303d Pixhawk Accelerometer sensor failing in flight.. Small Ic on the board to reset chip… is not working as the voltage is not dropping below 0.7v Putting a resistor may help this… but might have other issues… Some boards are not powering on correctly…. But the concern is the inflight failure, and we do not know why… so having a way to re-boot the chip in flight would be good. Seit letzte Woche gibt es die Hardware Version 2.4. Auf diesem Board ist zusätzlich zum LSM303D accelerometer noch ein alter Bekannter, der MPU6000 Chip eingebaut. Laut 3DR werden alle bisher gelieferten PIXHAWK V2.3 gegen die V2.4 ausgetauscht. Das APM Problem mit dem TPS79133DBVR Spannungsregler wird es hier nicht geben. Im PIXHAWK ist ein MIC5332 dual low quiescent current LDO Spannungsregler mit 2x 3,3 Volt und je 300 mA eingebaut.
06.01.2014 Neues PIXHAWK in der Version 2.4 stellt sich nach 6 Flügen tot Am Freitag brachte der Paketdienst mein erstes PIXHAWK in der Version 2.4. Ich hatte es vor ca. 4 Monaten bei 3DRobotics bestellt. Es war für einen F650 geplant der bis dahin mit einem AMP 2.52 flog. Der Lieferumfang ist umfangreich aber nicht vollständig. Die Multicolor Led fehlt und wird sich in der EU schlecht besorgen lassen. Der Umbau ist nicht problematisch. Für die 5 Volt Spannungsversorgung über das vorhandene BEC und die Spannungs und Strommessung musste ich ein Adapterkabel machen (von den 3 pol. 2,54 mm APM Buchsenleisten auf den 6 pol. DF-13 Stecker). Für die seriellen Eingänge (GPS und Telemetrie..) werden im PIXHAWK auch 6 pol. DF13 Stecker benutzt. Also hab ich die Stifte aus den vorhandenen kleinen DF-13 Steckern in 6 pol. Steckergehäuse umgesteckt. Das war schon alles. Neue Firmware laden, Radio, Accel und Compass kalibrieren und schon geht es raus. Die ersten Flüge hab ich mit den default Pids gemacht, später habe ich Rate Roll/Pitch auf P = 0.1200, I = 0.0800 und D = 0,0035 reduziert. Mit dem APM war der F650 mit seinen 600 Watt Motoren bei 6S Akkus ein wenig hyperaktiv :). Mit dem PIXHAWK liegt er wesentlich besser in der Luft und lässt sich sehr direkt steuern. Nach 6 erfolgreichen Flügen wollte das PIXHAWK am nächsten Tag nicht mehr booten. Die Multicolor Led war aus und die Mavlink Verbindung mit dem MP funktionierte nicht mehr. 3DRobotics hat ja schon in der Vergangenheit mehrfach gezeigt, dass sie mit ihrem Hardwaredesign kein glückliches Händchen haben. Beim APM 2.5 defekte 3,3 Volt Spannungsregler, Ein und Ausgänge beim Level Shifter vertauscht,  ACC Referenzspannung - fehlendendes Lowpassfilter Power Module - Ausgangsspannung unstabil, nur 4S tauglich PIXHAWK V2.3 Ausfall von Sensoren im Betrieb Also hatte ich kein gutes Gefühl. Dann erinnerte ich mich an den folgenden Beitrag von chris aus den drones-discuss Gruppen: The current way Pixhawk/PX4 writes to the SD card is fragile, since it datalogs constantly to the card and depends on the SD card being able to close the files and clean up the FAT itself on powerdown. Good SD cards can do this, but poor-quality ones tend to fail with corrupted FATs etc.  We're not quite sure why -- it could have to do with the built-in capacitance of those cards, where the better ones can power themselves long enough to complete a write and close the file, or it could be due to the firmware within the SD cards -- but it's a failure mode that we'd like to eliminate. In einfachen Worten: Wenn während des Schreibvorgangs auf die SD-Karte der Akku abgezogen wird, ist höchstwahrscheinlich die FAT beschädigt und kann nicht wiederhergestellt werden. Anschließend bootet das PIXHAWK nicht mehr weil es seine Parameter von der SD-Karte nicht lesen kann. Das war auch bei mir der Fall. Nach dem formatieren der 2 GB SD-Karte auf dem Notebook startete das PIXHAWK mit seinen default Parametern. Ohne SD-Karte wollte es übrigens auch nicht booten. Fazit: Zum Fliegen immer genügend SD-Karten oder ein Notebook mitnehmen. :) Nachtrag: Am 31.12 wurde die Auslieferung des PIXHAWK wieder gestoppt. Es gibt Probleme mit den SD-Karten eines Zulieferers. Die Parameter werden in der nächsten Version in dem 128 Kb großen F-RAM gespeichert und das Loggen der Daten nach der Landung ausgeschaltet.
ein Blick in das geöffnete Gehäuse des PIXHAWK
links die Schaumstoffabdeckung für den Drucksensor
die Unterseite des PIXHAWK
Der F650 mit dem PIXHAWK V2.4
12.01.2014 ublox NEO-7M und NEO-7P GPS Modul für das PIXHAWK Das Wochenende war trocken, der Himmel war klar. Ein guter Tag das neue ublox-7 GPS ausgiebig zu testen. Ich hatte mir ein paar NEO-7M Module besorgt, Nos hatte ein NEO-7P. Das 7M ist die LowCost Version, das 7P die hochwertigere Version. Beide sind Pin und Befehlscompatible zum alten NEO-6 Modul. Zunächst wurde das Modul an die u-center Software auf dem PC angeschlossen und konfiguriert. Der erste Eindruck war sehr gut. Die Positionsabweichung lag nach 10 Minuten unter einem Meter. HDOP bewegte sich bei 9 Sats um 1,5. Das sind sehr gute Voraussetzungen. Das 7M wurde auf einem eigenen Turm gesetzt und mit dem PIXHAWK über den 6 pol. DF-13 Stecker mit dem GPS Port verbunden. Bei 8 bis 9 Sats und einem HDOP von 1,45 sollte der F650 wie angenagelt auf der Stelle stehen. So die Theorie. Die Praxis sah sehr schlecht aus. AltHold mit PositionHold, also Loitern funktionierte nicht annähernd. Der F650 versuchte immer wieder zu “flüchten”. Nos hatte unabhängig von mir das gleiche Problem. Dann habe ich alle Parameter verglichen, sie stimmten. Alles war in Ordnung, aber es klappte nicht. Zum Ende des Tages habe ich wieder das 3DR GPS Modul angeschlossen. Als Compass verwende ich aber den temperaturkompensierten Honeywell  HMC5983. Diese Kombination funktioniert perfekt. Ich halte nicht so viel von dem eingebauten Compass in dem 3DR GPS/Compass Modul. Das Weißblechgehäuse des GPS Moduls und die vier Schrauben aus Eisen direkt neben dem Compass wecken nicht mein Vertrauen. Als Compass bleibt erst mal der HMC5983.
So sieht der F650 mit den beiden GPS Türmen aus. Links das 3DR GPS/Compass Modul, rechts das neue NEO-7M Unten: das ublox NEO-7M GPS Modul
20.01.2014 Das PIXHAWK - ein würdiger Nachfolger für das APM 2.5 Mittlerweile bieten sehr viele deutsche Händler das PIXHAWK sogar Versandkostenfrei an. Man kann sich also die extremen Versandkosten die 3DR verlangt (ab 50$) sparen. In den letzten Tage habe ich ein großen Teil meiner Copter mit dem PIXHAWK V 2.4 ausgestattet. Der Umbau eines APM Copters auf das neue PIXHAWK geht recht schnell und ist einfach. Bei mir ist das APM mit 4 Kunststoffschrauben auf einer Forexplatte montiert, darüber sitzt das GPS Modul. Die Forexplatte sitzt  auf 6 sehr weichen Ohrstöpseln. Das Pixhawk wird mit Doppelklebeband auf die Forexplatte geklebt und ist damit vibrationsfrei befestigt. Die sechs 3 pol. Pfostenstecker von den Reglern können sofort in die “MAIN OUT” Buchsen gesteckt werden. Das Summensignal des Empfängers geht nach “RC IN”. Der 4 pol. DF-13 Stecker vom externen Compass kommt in die “I²C” Buchse. Das 3DR GPS/Compassmodul wird auf einem 50 mm hohen Mast montiert. Ich nutze den HMC5883L Compass des Kombimoduls nicht. Die Offsets sind nach der Calibrierung sehr hoch. Das kommt vielleicht von dem Weißblechgeäuse des GPS Moduls und den vier Eisenschrauben des Kombimoduls. Ich nutze einen Honeywell  HMC5983. Mehr passt nicht 1:1 bei mir. Wer das 3DR Powermodul nutzt (leider nur bis 4S) kann das 6 pol. Kabel sofort in die  “POWER” Buchse stecken und hat damit die 5 Volt Versorgung und den Strom und Spannungsmesseingang verkabelt. Ich habe mir ein Adapterkabel vom 3 pol. BEC und dem 2 pol. Attopilot gebastelt. Fehlt noch das GPS und das Telemetriemodul. GPS und Telemetrie haben bei mir einen 5 pol. DF-13 Stecker. Man kann die Stifte aber schnell in einen 6 pol. DF-13 Stecker umpflanzen. Das war dann schon der Umbau. Noch die aktuelle Software laden, ein paar persönliche Einstellungen machen, dann geht es schon raus. Die default Einstellungen für das Flugverhalten des PIXHAWK passen fast zu 100 Prozent. Ich brauchte nur Rate Roll/Pitch D auf 0,0060 erhöhen. Mit der der AC Version 3.2 bekommen wir einen Dual Sensor Support. Das Pixhawk hat ja zwei Gyros, zwei Accelerometer und wenn der externe Compass montiert ist auch zwei Compassmodule. In der neuen Version wird die Funktion jedes Sensors beobachtet. Wenn ein Sensor im Betrieb ausfällt, kann sofort auf den anderen Sensor umgeschaltet werden. Zusätzlich werden beide Sensordaten auf die SD-Karte geschrieben und stehen über MAVLINK zur Verfügung. Vielleicht wird diese Version auch einen Dual GPS Support bekommen. Der zweite GPS Port steht schon zur Verfügung und wird momentan mitgeloggt.
Seite 1/3