Montag, 20. August 2012

CTHNCopter - FlightControl (alpha2)

Heute möchte ich kurz die erste Alpha-Version der Software präsentieren, welche den CTHNCopter konfigurieren, steuern und später auch Firmware-Updates durchführen kann. Die Software ist entstanden, da die Firmware bei einem Stand angelangt ist, bei dem die implementierten Features komfortabel getestet werden müssen. Die bisher entstandenen Perl- und Shellscripte waren für diesen Arbeitsschritt schlicht nicht komfortabel genug. Das folgende Video zeigt die Anwendung in Aktion.
Im Verlauf des Videos sind folgende Aktionen zu sehen:
  • Verbindungsaufbau per Bluetooth
  • Parametrisierung sowie Kalibrierung des Hexacopters
  • Anzeige von Bewegungen sowie deren zeitlicher verlauf
  • Anzeige der Ergebnisse des PID-Reglers
  • Konfiguration und Visualisierung der Eingabewerte eines 4-Achsen JoyPads
  • Visualisierung der PWM-Signale für die Motoren

Die Software wurde in CPP mit QTCreator (unter Versendung des Qt SDK sowie der SDL Library) unter Windows implementiert. Zudem ist diese auch komplett unter Linux lauffähig.

Das CTHNCpter - Projekt ist auf GitHub verfügbar.

Freitag, 10. August 2012

CTHNCopter - Hardware des ersten Prototyp vollständig...

Auch heute möchte ich die neuesten Entwicklungen am Hexacopter nicht unnötig zurück halten. Die restliche Hardware wurde nun vollständig aufgebaut und die ersten Testläufe, mit den Motoren am HexaCopter befestigt, wurden durchgeführt. Flugfähig ist er momentan noch nicht.
Da er mir jedoch beim ersten einschalten der Motoren bereits (ca. 2 Meter) quer über den Schreibtisch geflogen ist, bin ich zuversichtlich das er sich in naher Zukunft sauber in die Luft erheben wird.

Die Ausleger der Motoren bestehen aus CFK-Rohren mit 5mm Durchmesser. Die Verwindung zwischen Motorhalter, dem CFK-Rohr und der Platine wurde geklebt. Da die CFK-Rohre jedoch leitend sind musste hier entsprechend darauf geachtet werden, dass keine Verbindung zwischen den beiden Anschlüssen der Mototen entsteht.

Das Video zeigt lediglich die Motoren in Aktion, bei einer Versorgungsspannung von 5V (1A maximal).


Montag, 6. August 2012

CTHNCopter - Grundlegende Firmware-Funktionen

Wie zu erwarten, gibt es auch schon Neuigkeiten zum CTHNCopter.
Die Hardware wurde nun vollständig getestet und die kleineren Fehler im Layout korrigiert. Die beiden Kupferlack-Leitungen sind rechts auf dem Bild zu sehen.
Als Bluetooth-Antenne wird nun ein etwa 30mm langes stück Litze verwendet. Zu meiner eigenen Überraschung funktioniert dieses Provisorium recht gut. Die Reichweite liegt bei etwa 10 Metern, durch etwa 2 Altbau-Wände. Das Bluetooth-Modul (BTM-222) wird vom Mikrocontroller, beim start der Firmware, konfiguriert. In der Geräteliste wird dies nun als "CTHNCopter 0v1" angezeigt. Auch die Daten des Beschleunigungssensores werden bereits korrekt per ADC ermittelt und momentan, zu Testzwecken, per Bluetooth übertragen.

Wie im Bild links zu sehen ist, sind am BTM-222 zwei LEDs temporär angebracht. Diese dienen dazu den Verbindungs-Status der Bluetooth-Verbindung, sowie den Datentransfer anzuzeigen. Später werden diese wieder entfernt.
Das Grundgerüst zur Auswertung der empfangenen Daten wurde bereits implementiert, so dass es auch hier entsprechend weiter gehen kann.



Ein weiteres neues Feature ist, dass der Mega88 per Bluetooth über die UART-Schnittstelle programmiert werden kann. Hierzu wird dieser Bootloader verwendet. Leider ist das flashen, des AVR, momentan nur unter Windows möglich. Natürlich ist das kein anzunehmender Zustand und muss sich in der nächsten Zeit ändern.

Auch die sechs Software-PWM-Kanäle für die Motoren wurden bereits angesteuert. Da der AVR jedoch momentan per internem 8 MHz-Takt läuft, liegt die Grundfrequenz der PWM-Signale nur bei etwa 488 Hz. Die Ansteuerung der Motoren funktioniert jedoch problemlos.

Da der CTHNCopter per App gesteuert werden soll, hat Aaron bereits damit begonnen die App (Android) dazu zu implementieren. 

Und was man davon aktuell sehen kann ist in dem Video zu sehen. Es ist leider etwas unscharf aber man da Blinken eindeutig...

Die nächsten Schritte sind also:
  • Festlegen der Bluetooth-Kommunikation
  • Erfassung von Steuerkommandos per Bluetooth
  • Auslegung und Implementierung des PID-Reglers
  • Parametrisierung des PID-Reglers
  • Vervollständigung der Hardware (Motoren an Auslegern befestigen, etc.) 
  • Implementieren der Android-App

Neuigkeiten gibt wieder es hier, sobald die nächsten Schritte erledigt wurden...