Diese Seite als PDF-Dokument? Einfach auf das Symbol klicken und etwas warten... --->

MikroKopter-Software

Software Update




Software-Update

Auf allen MikroKopter Platinen (FlightCtrl, NaviCtrl, etc.) befindet sich ein Bootloader. Dadurch kann einfach (ohne spezielle Programmier-Hardware) ein Software-Update durchgeführt werden.

Zum Updaten benötigt man lediglich das MK-USB (oder für ältere PCs das Sercon), welches ohnehin zur Konfiguration des Kopters braucht wird.
Damit kann man alle Platinen (z.B. FlightCtrl, NaviCtrl, MK3Mag, ...) updaten.
Wie das MK-USB eingerichtet und angeschlossen wird ist hier beschrieben: MK-USB

Das MikroKopterTool erkennt automatisch (am Dateinamen), um welche Datei es sich handelt und für welche Platine diese verwendet wird.
Versucht man also z.B. eine NaviCtrl-Firmware in eine FlightCtrl zu programmieren wird es eine Fehlermeldung geben.

Wichtig

Wird ein Micro SD-Karte in der NaviCtrl genutzt, sollte nach einem Update der NaviCtrl auf eine neuere Version die vorhandene SETTINGS.INI auf der SD Karte gelöscht werden.
In dieser Datei werden für verschiedene Funktionen benötigte Werte hinterlegt. Diese Datei wird durch die neue Software beim nächsten einschalten automatisch neu und passend angelegt.

Woher bekomme ich die Hex-Files?

Die aktuelle Software der einzelnen Baugruppen kann einfach über das KopterTool heruntergeladen werden.
Hier wird beschrieben, wie man über das KopterTool die Files herunterlädt: Software Download

Anschluss der Baugruppen

Um die einzelnen Platinen mit neuer Software zu versehen, gibt es zwei Möglichkeiten:

  • Entweder wird das MK-USB an den Kopter/MK-Turm angeschlossen.

  • Oder es wird das MK-USB direkt an die betreffende Platine gesteckt.

Anschlussbeispiel am MikroKopter/MK-Turm

Ist nur die FlightCtrl am Kopter verbaut, wird das MK-USB an die 10polige Schnittstelle "EXT/SV1" gesteckt.

https://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=89949&g2_serialNumber=2

Wird hingegen der MK-Turm am MikroKopter eingesetzt (FlightCtrl, NaviCtrl, MK3Mag, MK-GPS), sind die FlightCtrl und die NaviCtrl über ein
6-poliges und ein 10-poliges Kabel miteinander verbunden.
Das MK-USB wird hierbei an der 10poligen Schnittstelle "Debug" der NaviCtrl angeschlossen.

https://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=89954&g2_serialNumber=2

Der Jumper auf dem MK-USB bleibt hierbei geöffnet. Die Spannungsversorgung des MikroKopters erfolgt wahlweise über den Lipo
oder über ein geregeltes Netzteil.
Ein geregeltes Netzteil empfiehlt sich besonders bei einer ersten Inbetriebnahme des MikroKopters, um Beschädigungen am Kopter zu vermeiden
die durch Löt-/ Montagefehler auftreten könnten.

{i} Wird der Jumper auf dem MK-USB geschlossen und keine Spannungsversorgung (Lipo/Netzteil) angelegt, können die Baugruppen zwar
erkannt werden, es kann aber zu Fehlermeldungen im KopterTool kommen (z.B. zum I2C error) oder zu Programmierabbrüchen.

/!\ Achtung: Ein Update der BL-Ctrl ist über den MikroKopter/MK-Turm nicht möglich!
Für ein Update oder das Auslesen der Software-Version muss der BL-Ctrl direkt an das MK-USB angeschlossen werden.
Auch um im Fehlerfall den Fehlercode aus dem BL-Ctrl auszulesen muss der BL-Ctrl direkt an das MK-USB angeschlossen werden.
(siehe Anschluss einzelne Baugruppen).

Anschlussbeispiel der einzelnen Baugruppen

Jede einzelne Baugruppe kann auch durch den direkten Anschluss des MK-USB aktualisiert werden.
Hier einige Beispiele, wie die Baugruppen an das MK-USB angeschlossen werden können:

/!\ Das 10polige Flachbandkabel muss mit dem Anschluss "1" (rot markierte Seite) an den Anschluss "1" der jeweiligen Platine verbunden werden!
Der Kontakt "1" ist auf den Platinen mit einem Aufdruck gekennzeichnet.

http://gallery.mikrokopter.de/main.php/v/tech/IMG_5010.JPG.html

Die roten Pfeile markieren jeweils Pin "1"

FlightCtrl:

NaviCtrl:

BL-Ctrl:

MK3Mag:

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=77836&g2_serialNumber=1

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=77848&g2_serialNumber=1

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=77840&g2_serialNumber=1

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=77844&g2_serialNumber=1


{i} Werden die Platinen, wie in den Bildern zu sehen, einzeln angeschlossen, kann die Spannungsversorgung der Bauteile über das MK-USB erfolgen.
Hierzu wird der Jumper auf dem MK-USB geschlossen.

{i} Die neuen BL-Ctrl V3.0 werden an den vorderen Anschluss des MK-USB für ein Update angeschlossen.

Das Updaten

FlightCtrl / NaviCtrl / MK3Mag

Nachdem der Kopter/die Baugruppen über das MK-USB (oder Sercon) mit dem KopterTool verbunden wurde, ist alles bereit für ein Update.

{i} Wird das MK3Mag direkt an das MK-USB angeschlossen, muss darauf geachtet werden, dass die Verbindung zwischen MK3Mag und dem Pfostenstecker am Flachbandkabel richtig hergestellt ist. Hier kommt es aufgrund einer meist zu kurzen 10pol Stiftleiste am MK3Mag eventuell zu Kontaktschwierigkeiten.

Im Terminalfenster wird beim Versorgen der Baugruppen mit Spannung normalerweise folgendes Initialisierungsfenster angezeigt:

||<rowbgcolor="#fCC000"style="text-align:center">Anzeige Turm
(FlightCtrl + NaviCtrl + Kompass + GPS)||<style="text-align:center">Anzeige FlightCtrl
(einzeln angeschlossen)||

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90174&g2_serialNumber=3

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90162&g2_serialNumber=3

(Zum Vergrößern -> Bild anklicken)

Anzeige NaviCtrl
(einzeln angeschlossen)

Anzeige MK3Mag
(einzeln angeschlossen)

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90166&g2_serialNumber=3

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90198&g2_serialNumber=3

(Zum Vergrößern -> Bild anklicken)

Nun kann durch einen "klick" auf die Schaltfläche Update Software (serial)... das Auswahlfenster geöffnet werden.

Hier wird nun die vorher heruntergeladene Software für die Platine ausgewählt:

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=77569&g2_serialNumber=3
(Zum Vergrößern -> Bild anklicken)

Mit einem "klick" auf Öffnen startet das Update:

Anzeige Update FlightCtrl

Anzeige Update NaviCtrl

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90190&g2_serialNumber=4

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90194&g2_serialNumber=4

(Zum Vergrößern -> Bild anklicken)

Anzeige Update MK3Mag

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90202&g2_serialNumber=3

(Zum Vergrößern -> Bild anklicken)

Nach dem Update wird ein automatischer Reset der Baugruppe durchgeführt und diese neu gestartet. Es erscheint dann im Terminalfenster unter dem Update die Initialisierung der betreffenden Baugruppe.
Diese sieht dann so aus, wie in den oberen Bildern der Initialisierung zu sehen ist.

{i} Es kann sein, dass nach der Initialisierung laufend Zeichen (#D=====rwerEW==fesf== o.ä.) im Terminal angezeigt werden. Das ist normal und kein Fehler.

BL-Ctrl

Für ein Update (oder der Anzeige von eventuellen Fehlermeldungen am BL-Ctrl) muss der BL-Ctrl direkt an den seitlichen Anschluss des MK-USB (oder an das Sercon) angeschlossen werden.
Hierfür kann z.B. ein ausrangierter Slotstecker genutzt, oder mit einer Stiftleiste ein Adapter selber gebaut werden (Siehe auch: Anschluss des BL-Reglers an das MK-USB).
Dies kann dann so aussehen:

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90274&g2_serialNumber=2
(Zum Vergrößern -> Bild anklicken)

{i} Die obere Leiste enthält die ungeraden Nummern, die untere die geraden Nummern.

Eine weitere Möglichkeit:
Die vier benötigten Leitungen für Rx (Pin 8),Tx (Pin 3), Gnd (Pin 10) und +5V (Pin 2) vorübergehend direkt an den Regler anzulöten.
Die Versorgung erfolgt hierbei über das MK-USB mit geschlossenem Jumper.

/!\ ACHTUNG: Bleibt der BL-Ctrl am Kopter eingebaut, kann er mit dem Lipo / einem Netzteil versorgt werden. Hierbei muss der Jumper auf dem MK-USB offen sein.

Ist der BL-Ctrl über das MK-USB (oder Sercon) mit dem KopterTool verbunden, ist alles bereit für ein Update.
Im Terminalfenster wird beim Versorgen der Baugruppen mit Spannung normalerweise folgendes Initialisierungsfenster angezeigt:

Anzeige BL-Ctrl 1.2

Anzeige BL-Ctrl 2.0

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90258&g2_serialNumber=2

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90262&g2_serialNumber=2


Nun kann durch einen "klick" auf die Schaltfläche Update Software (serial)... das Auswahlfenster geöffnet werden.

Hier wird nun die vorher heruntergeladene Software für die Platine ausgewählt:
http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=77569&g2_serialNumber=3
(Zum Vergrößern -> Bild anklicken)

Mit einem "klick" auf Öffnen startet das Update:

Anzeige Update BL-Ctrl 1.2

Anzeige Update BL-Ctrl 2.0

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90266&g2_serialNumber=2

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90270&g2_serialNumber=2



Nach dem Update wird ein automatischer Reset der Baugruppe durchgeführt und diese neu gestartet. Es erscheint dann im Terminalfenster unter dem Update die Initialisierung der betreffenden Baugruppe.
Diese sieht dann so aus, wie in den oberen Bildern der Initialisierung zu sehen ist.


Update fehlgeschlagen - was nun?

Sollte ein Update während der Übertragung abbrechen oder das Update anderweitig fehlgeschlagen sein, ist das Programm im Prozessor unbrauchbar. Hiernach hat die Baugruppe dann keine Funktion mehr und die LEDs sind aus.
Es kann auch sein, dass nach einem fehlerhaften Update z.B. die FlightCtrl ein Dauerpiepen über den angeschlossenen Summer abgibt.

{i} Aber keine Panik: Der Bootloader ist dann trotzdem noch drin.

Beim erneuten Anschließen der Baugruppe (oder direkt nach einem fehlgeschlagenem Update) wird dann in der Regel anstelle der Initialisierung der Software der Bootloader angezeigt:
(in seltenen Fällen wird der Bootloader nicht angezeigt, obwohl dieser noch vorhanden ist!)

Anzeige Bootloader - Beispiel: FlightCtrl

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90170&g2_serialNumber=3

(Zum Vergrößern -> Bild anklicken)

Ein Fehlerhaftes Update sieht dann meist so oder so ähnlich aus:

Beispiel von fehlerhaften Updateversuchen:

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90186&g2_serialNumber=3

http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90178&g2_serialNumber=3



Was kann überprüft werden? Folgendes kann die Ursache sein:

Datei fehlerhaft
Es kann z.B. sein, dass die Software-Datei beim herunterladen beschädigt wurde.
Dies kann man leicht prüfen. Nach dem Starten des Update ist im Terminalfenster die Überprüfung der Datei zu sehen:
https://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90293&g2_serialNumber=1

Hier muss nach dem Reading File... ein OK erscheinen und die jeweilige Programmgröße (z.B. Programsize: 63070 Bytes) angezeigt werden.
Wird etwas anderes angezeigt, muss die Datei neu heruntergeladen werden.

Oder es besteht ein Verbindungsproblem
Es sollte für das Update ein Windows PC/Laptop genutzt werden. Ein MAC oder Linux PC mit Emulatorprogramm kann z.B. während der Übertragung die Verbindung zum Kopter verlieren.
Wird ein Laptop genutzt und man steckt den Jumper auf dem MK-USB um die Platinen am Kopter mit Spannung zu versorgen, kann die 5V Spannung des USB Port zusammenbrechen und ebenfalls eine Unterbrechung verursachen.
Oder man nutzt eine Funktverbindung zum Kopter (Bluetooth, Wi.232 etc.). Dabei kann ebenfalls die Verbindung während der Übertragung abreißen.

Hierbei wird dann ein Timeout angezeigt:
https://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=140002&g2_serialNumber=2

Abhilfe nach fehlerhaftem Update

Ist ein Updaten der Software fehlgeschlagen und die Software kann nicht mehr eingespielt werden, kann man wie folgt vorgehen.

Für das folgende Beispiel sind die Platinen am MikroKopter montiert und die Versorgung erfolgt über den LiPo.
INFO: Die Propeller vom Kopter entfernen, damit dieser nicht unbeabsichtigt abheben kann.

WICHTIG:

  • Es wird ein Windows PC/Laptop eingesetzt.
  • Das MK-USB (Link) wird für die Verbindung zwischen KopterTool und Kopter genutzt.

  • Der Jumper auf dem MK-USB wird nicht gesteckt!

  • Die Spannungsversorgung erfolgt entweder über den Lipo oder ein geregeltes Netzteil.

  • Es wird vorausgesetzt, dass das MK-USB bereits am Windows PC/Laptop genutzt wurde und die benötigten Treiber sowie der richtige COM-Port im KopterTool eingestellt sind.



Das Updaten:

  • Aktuelle Software- und KopterTool Version hier herunterladen: Link.

  • Das MK-USB mit dem PC und direkt mit der upzudatenden Platine verbinden.

  • Das KopterTool starten und in das Terminalfenster wechseln.

  • Die Platine mit Spannung versorgen (Lipo am Kopter anstecken).
  • Das Update wie gewohnt starten.
  • Erscheint hinter Connecting (try to reset hardware and start bootloader) kein "OK" hinter ~3-4 Punkten ...
    https://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90325&g2_serialNumber=2

  • ... die Spannungsversorgung von der Platine kurz trennen und direkt wieder anstecken (Lipo ab- und wieder anstecken). Nun sollte ein OK hinter den Punkten erscheinen ...
    https://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=90328&g2_serialNumber=2

  • ... und das Update erfolgen.
  • Wiederholen falls es nicht geklappt hat. Es ist eine Frage des Timings.

Sollte dies nicht funktionieren und ein Updaten unmöglich sein, kann eine RMA Nr. für die Einsendung der Platine bei HiSystems beantragt werden.