Redirected from page "MKUSB"

Clear message

http://mikrokopter.de/images/eng.gif Page in english

http://mikrokopter.de/images/fra.gif Page en francais

siehe auch: SerCon

http://gallery.mikrokopter.de/main.php/v/tech/MK-USB.jpg.html

Allgemein

Der MK-USB ist ein USB-Adapter zum Programmieren und Parametrieren des !Mikrokopters.

Durch Stecken eines Jumpers kann die Ziel-Platine bei Bedarf auch versorgt werden (praktisch z.B. beim Testen einzelner kleiner Platinen, die nur 5V benötigen).

Achtung! Zum Programmieren und Parametrieren des MikroKopters muss der Jumper gezogen sein, der Kopter muss über seinen Akku versorgt werden!

Damit die Platinen (FlightCtrl, NaviCtrl, MK3Mag,...) aktualisiert werden können, ist zwingend ein Bootloader erforderlich (alle vorbestückten Platinen haben diesen bereits installiert).

{i} Dieser Adapter ermöglicht kein Flashen per ISP - das ist für die vorbestückten MikroKopter-Platinen allerdings auch nicht notwendig, weil sie bereits mit einem Bootloader versehen sind.

Anschlüsse

Erstmal ist da natürlich die Mini-USB Buchse, die über ein USB-Kabel zum PC führt. Der Anschluss an der schmalen Seite wird zum Anschluss an die FlightCtrl als auch die NaviCtrl benutzt und wird SIO genannt. Der Anschluss an der langen Seite ist zur Kommunikation mit dem Kompassmodul oder BLCtrl (auch EPI-S zum Konfigurieren / Sensor-Wählen) gedacht.

Bestücken

Als erstes muss der MKUSB mit den restlichen Teilen (Stiftleisten und Jumper) bestückt werden. Die Lötpads für die jeweils 10-poligen Stecker sind beschriftet (für BL-Ctrl bzw. FC/NaviCtrl. etc.).

Sollte dann folgendermaßen aussehen:

http://gallery.mikrokopter.de/main.php/v/tech/MK_USB.jpg.html oder mit Buchsen http://gallery.mikrokopter.de/main.php/v/tech/IMG_5005.JPG.html

Wichtig: Auf jeweils beiden Platinen (MKUSB und z.B. FlightCtrl) sieht man am ersten Pin der Schnittstelle eine kleine 1. Immer das Flachbandkabel so stecken, dass jeweils diese Einsen miteinander verbunden sind.

Verwendet man sowohl bei der FC/NC Buchsen statt Stiftleisten, fliegt zwar etwas mehr Gewicht mit, dafür hat man nicht mehr das Risiko des Verpolens, vorrausgesetzt das Kabel ist richtig konfektioniert.

Hierfür ist auf den Kabeln ein kleiner Pfeil, der die Lage von PIN1 anzeigt, hier also am einfachsten immer die rote Seite vom Flachbandkabel hinklemmen.

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

so sollte man es nicht machen

Hier gibt es keinen Kontakt:

http://gallery.mikrokopter.de/main.php/v/tech/MKUSB-wrong_soldered.JPG.html

(Von oben konnte man kaum erkennen, dass die Pins nicht angelötet waren)

Anschluss an der FlightControl

http://gallery.mikrokopter.de/main.php/v/tech/MKUSB_at_FC.jpg.html

Anschluss an der NaviControl

http://gallery.mikrokopter.de/main.php/v/tech/MKUSB_at_NC.jpg.html

Anschluss am Bluetooth

http://gallery.mikrokopter.de/main.php/v/tech/MKUSB_at_BT.jpg.html

Treiber-Installation

Dann installiert man den Treiber für einen virtuellen Com-Port.

Windows

Treiber


Hier ein Direktlink für Windows (XP, Vista): http://www.ftdichip.com/Drivers/CDM/CDM20600.exe Windows Benutzer starten einfach die EXE-Datei. Der aktuelle Treiber ist 2.06.02 vom 31. Maerz 2010. Downloadlink http://www.ftdichip.com/Drivers/CDM/CDM20602.zip Zipfile auspacken und wenn Windows nach einem Treiber fragt das Verzeichnis angeben.
Link zur Treiberübersicht: http://www.ftdichip.com/Drivers/VCP.htm

Verbinden

Danach kann der MK-USB mit dem USB-Port des PCs verbunden werden.

Nach kurzer Zeit sollte ein USB Serial Port (COMx) im Windows Gerätemanager (Start=>Ausführen=>devmgmt.msc) auftauchen.

Richtigen COM-Port finden

Die jeweilige COM-Portnummer ist von System zu System unterschiedlich. In der Regel wird der nächste freie Comport verwendet.

Nachgucken kann man die Portnummer auch über die Systemsteuerung:

http://gallery.mikrokopter.de/main.php/v/uploads/usb-which-com-20090720_112818.png.html

http://gallery.mikrokopter.de/main.php/v/uploads/usb-which-com-20090720_112829.png.html

http://gallery.mikrokopter.de/main.php/v/uploads/usb-which-com-20090720_112842.png.html

COM-Port Nummer aendern

Rechte Maustaste auf den COM-Port vom MK-USB -> Eigenschaften:

mk-usb-rename-comport.png

Im Reiter "Anschlusseinstellungen" auf Erweitert gehen:

mk-usb-rename-comport2.png

Freien Port aussuchen:

mk-usb-rename-comport3.png

(Falls die gewünschte Portnummer belegt ist, kann man natürlich die benutzte Nummer auch editieren und erstmal verschieben)

Versteckte Portnummern frei machen

Entweder dauerhaft durch eine neue Environment-Variable für den aktuellen user, indem man

hiddendev.reg

lädt und doppelklickt, mit ein paar mal OK bestätigen und danach hat man im Gerätemanager den Punkt:

mk-usb-hiddendevices.png

oder temporär

Start -> Ausfuehren -> cmd dann

set devmgr_show_nonpresent_devices=1

und

start devmgmt.msc

dann Ansicht -> Ausgeblendete Geraete anzeigen

Dort sieht man dann auch die Ports, die derzeit nicht mit dem System verbunden sind und kann sie löschen, verschieben, ändern etc pp. Halt alles was man so will.

MK-Tool starten


Danach startet man das MikroKopterTool schaltet auf Controller update & Terminal um und wählt die entsprechende Schnittstelle "COM-Port" (unten links) aus.

http://gallery.mikrokopter.de/main.php/v/uploads/Terminal1.jpg.html

Mit Debug... kommt man wieder zum Hauptfenster. Nun blinkert die rote LED (MK-Tool sendet Daten). Wird der MK angesteckt, blinkt zusätzlich die grüne LED (Datenaustausch in beiden Richtungen).

- FERTIG !

{i} Man sollte es vermeiden, bei aktivem MK-Tool das USB-Kabel zu entfernen. Dies führt zu einer Reihe unschöner Fehlermeldungen, da Windows sofort den virtuellen Comport aus dem System entfernt. Also erst MK-Tool beenden, dann USB-Kabel entfernen...

Linux

Unter Linux nimmt man den USB FTDI Single Port Serial Driver, welcher im aktuellen Kernel vorhanden ist. Das Modul heißt ftdi_sio.ko und das Symbol USB_SERIAL_FTDI_SIO. Der MK-USB Adapter sollte dann unter /dev/ttyUSBX zur Verfügung stehen. Folgende Ausgabe sollte dann dmesg liefern:

ftdi_sio 2-2:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial ftdi_sio.c: Detected FT232RL
usb 2-2: FTDI USB Serial Device converter now attached to ttyUSB0

Mac OS

Unter Mac OS X (getestet mit 10.5.5) den aktuellen FTDI-Treiber installieren. Mit dem System-Profiler oder einem

ls -l /dev/tty.*

in einem Terminal-Fenster kann man sehen ob das MK-USB erkannt wurde.

Die Ausgabe im Terminal-Fenster sollte eine Zeile enthalten in der /dev/tty.usbserial-xyz enthalten ist, wobei xyz für eine kryptische Buchstaben/Zahlenkombination steht. Das sieht in etwa so aus:

crw-rw-rw- 1 root wheel 18, 8 1 Nov 18:05 /dev/tty.usbserial-A7006vgP

Es gibt zu dem /dev/tty.usbserial-xyz auch ein entsprechendes /dev/cu.usbserial-xyz das z.B. für die QMK Groundstation verwendet werden sollte: Hintergrund: tty Devices sind für eingehende Verbindungen gedacht, während cu (Calling Unix) Devices für ausgehende Verbindungen gedacht sind. Wird ein tty Device geöffnet, so wird auf eine Assertion von DCD gewartet (Handshake), was beim MK am MKUSB (der kein Handshake unterstützt) dazu führt, dass ewig gewartet wird.

Echo-Test des MK-USB unter Windows XP

Pin 1 und 9 überbrücken.

Die Pin-Nummerierung ist wie folgt:

Pin 1 ist durch eine "1" auf der Platine gekennzeichnet. Darunter ist Pin 2. Neben Pin 1 ist Pin 3, darunter ist Pin 4 usw. Wenn man auf den Stecker schaut, sieht es so aus:

| 9|7|5|3|1|

|10|8|6|4|2|

Man verbindet also auf der Oberseite die beiden äußersten Pins am 10-poligen Stecker, der mit SIO/FC/NC beschriftet ist. Die Stromversorgung des MK-USB erfolgt über den USB-Anschluss des PC.

Im Hyperterminal sollte man ein Echo seiner Tastatureingaben sehen. Sind Pin 1 und 9 unterbrochen, gibt es kein Echo. Beim Echotest sollte bei jedem im Hyperterminal eingetippten Buchstaben die rote und die grüne LED kurz leuchten. Verbindet man Pin 1 und 9 nicht, leuchtet nur die rote LED kurz. Windows Vista hat übrigens keine Applikation namens Hyperterminal, für einen Test unter Vista kann man das Open Source TelNet Client Programm Putty verwenden http://www.putty.org/

Einstellungen in HyperTerminal:


Verbindung_klein.jpg

Verbindung2_klein.jpg

Eigenschaften_klein.jpg

Im Verbindungsdialog wird die entsprechende Schnittstelle ausgewählt.

Die obigen Einstellungen für die Schnittstelle funktionieren auf jeden Fall.

Bewährte Einstellungen für die Terminalemulation.

ASCII_konf_klein.jpg

Im Dialog "ASCII-Konfiguration" sollte der Haken bei "Eingegebene Zeichen lokal ausgeben" gesetzt sein, damit durch das doppelte Erscheinen der eingetippten Zeichen die Funktion des MK-USB eindeutig klar ist.


So sollte das Terminalfenster aussehen, wenn Pin 1 und 9 verbunden sind (ohne Brücke bzw. wenn der MK-USB nicht richtig funktioniert, gibt es kein Echo, d.h. keine doppelten Zeichen).

Terminalwindow_klein.jpg


MK-USB (last edited 15.08.2010 19:24 by Brunweil)