Software Update |
Contents
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.
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.
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.
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.
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.
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.
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:
Anzeige Turm |
Anzeige FlightCtrl |
|
|
Anzeige NaviCtrl |
Anzeige MK3Mag |
|
|
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:
Mit einem "klick" auf Öffnen startet das Update:
Anzeige Update FlightCtrl |
Anzeige Update NaviCtrl |
|
|
Anzeige Update MK3Mag |
|
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.
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:
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 |
|
|
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:
Mit einem "klick" auf Öffnen startet das Update:
Anzeige Update BL-Ctrl 1.2 |
Anzeige Update BL-Ctrl 2.0 |
|
|
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.
Aber keine Panik: Der Bootloader ist dann trotzdem noch drin.
Beim erneuten Anschließen der Baugruppe (oder direkt nach einem fehlgeschlagenem Update) wird dann 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 |
|
Ein Fehlerhaftes Update sieht meist so oder so ähnlich aus:
Beispiel von fehlerhaften Updateversuchen: |
|
|
|
Was kann überprüft werden? Folgendes kann die Ursache sein:
Datei fehlerhaft
Es kann z.B. sein, dass der Download der Software-Datei fehlerhaft war und somit diese Datei selber beschädigt ist.
Im Terminalfenster ist bei dem Update nach dem Programmpfad der Datei die Überprüfung der Datei zu sehen:
Hier muss nach dem Reading File... ein OK erscheinen und die jeweilige Programmgröße (z.B. Programsize: 63070 Bytes) angezeigt werden.
Wird hier ein Fehler, eine zu kleine Zahl (z.B. 130 Bytes / 0 Bytes) oder Unexpected character ..... FILE damaged! angezeigt, muss die Datei neu downgeloadet werden.
Oder:
Verbindungsproblem
Ist z.B. das MK3Mag nach einem Update über die NaviCtrl ohne Funktion, kann ein Übertragungsproblem vorliegen.
Hier sollte das MK3Mag dann direkt an das MK-USB angeschlossen und das Update erneut ausgeführt werden (Anschluss siehe Bild oben).
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.
Es kann auch sein, das die Baugruppe nicht erkannt wird. Ursache hierfür ist eventuell eine nicht richtig an der Baugruppe oder dem MK-USB aufgelötete Stiftleiste, das Flachbandkabel wurde falsch herum aufgesteckt
(rote Seite des Kabel zeigt jeweils zum Pin 1 der Baugruppe/MK-USB), oder die Pfostenstecker am Flachbandkabel geben keine richtige Verbindung.
Hierbei wird dann ein Timeout angezeigt:
Oder:
Manueller Reset
Die Verbindung ist in Ordnung aber ein automatisches Update funktioniert trotzdem nicht?
Wenn hinter "Connecting (try to reset hardware and start bootloader)..." kein "OK" nach ~3-4 Punkten kommt, kann man auch folgendes machen:
die Platine (z.B. FC) über das Flachbandkabel direkt an das MK-USB anschließen (nicht über eine drahtlose Verbindung!). Beim BL-Regler den seitlichen Anschluss des MK-USB verwenden!
- Jumper vom MK-USB abziehen
- Im Koptertool die passende Datei auswählen und das Update starten
Den Jumper stecken während die Punkte eingeblendet werden
Nun sollte ein OK hinter den Punkten erscheinen.
(Nach dem Einschalten der Platine startet immer zuerst der Bootloder - der erkennt dann die Update-Anforderung vom KopterTool und führt das Update durch.)- Wiederholen falls es nicht geklappt hat. Es ist eine Frage des Timings.
Sollte dies nicht funktionieren, bitte den Infokasten unten beachten.
Wichtig
Der manuelle Reset klappt meist besser und schneller, wenn die Baugruppe über den Kopter oder ein Netzteil versorgt wird und nicht über den Jumper des MK-USB.
Anstelle des Jumpers wird dann kurz die Spannungsversorgung unterbrochen um das "OK" zu erhalten.
Kommt es zu häufigen Abbrüchen mit error-Meldungen, kann auch der genutzte Computer schuld hieran haben.
Wird z.B. ein Laptop genutzt und die Versorgung der Baugruppen wird über das MK-USB hergestellt, kann hier die Spannung eventuell nicht ausreichend sein.
Hier sollte man entweder die Baugruppe extern mit dem Lipo oder einem Netzteil versorgen. Oder es wird ein PC für das Update genutzt.
Nutzer eines MAC oder eines anderen Betriebssystems können auch Probleme beim Updaten bekommen.
Hier hilft dann meist erst ein Windows-PC.
Bootloader
Informationen zur Expertenfunktion Bootloader einspielen können hier nachgelesen werden: Bootloader
