Von ProCopterX, einem Greifarm und weiteren projectDemon-Aufgaben

Januar 11, 2013 in Allgemein

Gestern war nach einiger Zeit der Weihnachtsferien wieder ein projectDemon-Treffen und wir haben keine Zeit verschenkt und direkt angefangen weiterzuarbeiten. Hier ist es im Wesentlichen so, dass derzeit Christian sich um ProCopterX kümmert, eine weitere Erklärung dazu folgt, Lennart gestern konkrete Pläne für einen Greifarm des Quadrocopter ausgearbeitet und die nötigen Bauteile bestellt hat und Simon an der Funkverbindung vom Quadrocopter zum Boden über 2.4Ghz-Transmitter arbeitet.

Man sieht also, das Projekt ist im vollen Gange und steht ganz und gar nicht still. Denn kurz vor den Ferien haben wir am Copter bereits die neue Fernbedienung angebracht, welche schon auf dem Weihnachtsbild zu sehen war und ebenfalls haben wir kleine aber sehr helle LED-Streifen an der Unterseite des Copter angebracht, welche wieder mit grünem Licht andeuten, bei welchen Ausleger es sich um den vorderen handelt.

Doch nun zu den einzelnen Aufgaben:

Erste Skizzen von ProCopterX

Was ist ProCopterX? Hierbei handelt es sich um ein Unterprojekt von projectDemon, bei versucht wird der schwierigen Aufgabe nachzukommen eine eigenen Flugregelung zu entwickeln. Wie sieht das im Wesentlichen aus? Der Controller steuert die Motoren über ein PPM-Signal (Puls-Pausen-Modulation) an, wobei er dort ebenfalls die Werte des Empfängers der Fernbedienung ausliest und diese einbezieht. Doch der wesentliche Punkt ist, dass der Copter in der Luft auch stabil stehen muss, wofür Sensoren zum Einsatz kommen.

Diese soll der Controller hier über den I²C-Bus auslesen. Bei den nötigen Sensoren handelt es sich um einen Beschleunigungssensor, welcher die wirkenden Kräfte in g (Erdanziehung: 1g) misst, und einem Gyroskop, welcher die Drehraten misst, also mit anderen Worten die Winkelgeschwindigkeit, um wie viel Grad/Sekunde der Sensor sich also dreht.

Über diese Sensoren kann man mit einem geeigneten Modell eine Nulllage bestimmen, welche der Copter erreichen soll, wobei diese Nulllage jeweils eingestellt werden muss, wenn der Copter auch wirklich auf geraden Boden steht. Durch eine Sensorfusion wird der Drift des Gyroskops und die Ungenauigkeit des Beschleunigungssensors eliminiert wird, wie auch Rauschen im Signal (siehe Kalman-Filter).

Der Testaufbau von ProCopterX

Dadurch kann nun die aktuelle Lage des Copters bestimmt werden. Um diese auch zu erreichen wird ein PID-Regler angewandt, welcher versucht denn vorgegebenen Sollwert, die Nulllage, zu erreichen, in dem dieser Regler eine Stellgröße, die Motorgeschwindigkeit, einstellt, welche der Störung, also die Differenz aus aktueller Lage und Nulllage, entgegenwirkt und den Copter so wieder aufrichtet.

All diese Daten werden schlussendlich gemischt und als PPM-Signal zu den Motoren gesendet. Die Entwicklung einer solchen Flugregelung ist ziemlich komplex, doch auf der Unterprojektseite http://procopterx.chisaw.de wird ständig über Fortschritte dabei berichtet und es stehen ebenfalls dort Tutorials zur Verfügung, um die notwendigen Grundlagen ebenfalls zu erlernen.

Bei dem Greifarm hingegen handelt es sich um die Idee, dass der Copter neben den Kamera-Aufnahmen, auch kleine Objekte transportieren kann. Daher wird dieser Greifarm als Modul entwickelt, sodass es an dem Copter angebracht und auch wieder abgenommen werden kann. Bei dem Greifarm werden vier Servo-Motoren mit einer Stellkraft von circa 1,2kg zum Einsatz kommen, welche definitiv ausreichend sein sollten um die Kraftreserven des Copters, was er an Gewicht tragen kann, abzudecken.

Bei der Funkverbindung sieht es derzeit so aus, dass ein zweiten Board über der Flugsteuerungsplatine sitzt, welches aus einem Atmega328P und einem 2.4-Ghz-Transmitter besteht. Dieser steht in Kontakt zu einem gleichen Modell auf dem Boden, welcher dort an einem Computer angeschlossen ist. Im Computer wird in unserem Routenprogramm daraufhin eine Strecke in Metern über Linien einprogrammiert. Dieses Programm gibt dann die Information an den Bodenfunk weiter und dieser an den Copter.

Die Funkplatine ist über I²C mit der Flugsteuerung verbunden. Über diesen Bus erhält die Funkplatine aktuelle GPS-Daten von der Flugsteuerung und kann entsprechend Signale zur Flugsteuerung schicken, welche eine Fernbedienung simulieren. Aus der Differenz, was der Copter noch an Metern in eine Richtung zu fliegen hat und wo er sich derzeit befindet kann die Funkplatine entsprechend die Signale bestimmen und an den richten Punkten dann ändern. Die Flugsteuerung nimmt die Daten der Funkplatine solange als Fernbedienungsdaten, bis an der real angeschlossenen Fernbedienung ein Schalter umgelegt werden. Dieser bewirkt, dass ein Funkchannel seinen Wert stark ändert. Dies kann von der Flugsteuerung erkannt werden und benutzt daraufhin wieder die Daten der realen Fernbedienung, wodurch wir im gesetzlichen Rahmen für autonome Flugobjekte bleiben, welche ein mögliches manuelles Eingreifen vorschreiben.

Diese Lochrasterplatine wird durch eine Geätzte ersetzt

Ebenfalls haben wir bis gestern an einer Umsetzung unserer Flugsteuerungsplatine von einer Lochrasterplatine zu einer geätzten Platine gearbeitet. Das bedeutet, die Flugsteuerung wurde nochmals als Schaltplan entworfen und daraus wurde dann ein Platinenlayout erzeugt, welches nun in die Fertigung geht. Dies ist besonders wichtig, da die Pinabstände recht gering sind und unsere Lochrasterplatine, welche mit Draht verschaltet wurde leider in letzter Mini-Kurzschlüsse verursacht hat, und ganz besonders auch an den Befestigungspunkten bereits mehrfach nach einem Aufprall gebrochen ist, da Lochrasterplatinen sehr instabil sind und nur aus Hartpapier bestehen.

Soweit vom projectDemon-Treffen,

~ Christian