Allgemein_Header_6

 

FMS unter XP (II)

Die Firma Code Mercenaries in Berlin vertreibt seit Anfang 1998 ICs der Firma Cypress, die, mit einer Firmware von Code Mercenaries ausgestattet, den einfachen Bau von USB-Tastaturen und -Mäusen erlauben. Seit 2002 ist ein Controller im Programm, der den Aufbau von Joysticks mit USB-Anschluss ermöglicht. Einfache IO-Controller zum Anschluss an den USB gehören seit 2003 ebenfalls zum Lieferprogramm der Firma. Die Chips sind teilweise in der Lage, auch andere prominente Schnittstellen zu bedienen, Einzelheiten sind der informativ aufgemachten Homepage des Herstellers zu entnehmen.

Auf der Homepage von Code Mercenaries ist auch ein aktives Forum zu finden, wo Anwender Hinweise zu den von Code Mercenaries vertriebenen Chips finden. Ein deutsches Forum speziell für den JoyWarrior24 RC ist ebenfalls vorhanden.


Hinweis
Die Cypress-Chips arbeiten ohne die Firmware von Code Mercenaries nicht wie beschrieben.


Uns interessiert an dieser Stelle ausschließlich die USB-Variante des JoyWarrior24 mit der Bezeichnung JoyWarrior24 RC.

Dieses neueste Kind der Firma (Stand Juni 2004) ist eine Abart der Joystick-Variante, darauf spezialisiert, das serielle Schülersignal von typischen PPM-Fernsteuersendern zu dekodieren und per USB in den Rechner zu leiten. Der simulierte Joystick (als Solcher gibt sich der Chip dem Betriebssystem gegenüber aus) wird von den Standardtreibern der modernen Windows-Varianten (XP, 2000) erkannt und direkt unterstützt. Es werden maximal 5 analoge Kanäle der Fernsteuerung verarbeitet. Darüber hinaus gehende Kanalinformationen werden als Buttons des simulierten Joystick interpretiert und weitergegeben.

Die Idee zur Verwirklichung dieses Interface stammt übrigens von Christian Persson, einem Vertreter der professionell schreibenden Zunft, seines Zeichens Chefredakteur beim Computermagazin c´t . Wenig erstaunlich dann auch, dass c´t dem JoyWarrior24 RC einen Artikel gewidmet hat, der im Heft 20/2004 auf Seite 230 zu finden ist.

Der JoyWarrior24 RC ist darauf ausgelegt, mit möglichst wenigen externen Bauteilen auszukommen. Benötigt werden lediglich ein 1k3 Widerstand, der durch Anlegen eines positiven Spannungspegels auf der D--Leitung des USB dem USB-Controller des Rechners mitteilt, dass er als Lowspeed-Device betrieben werden will, ein 100 nF Blockkondensator zur Siebung und Entkopplung der Versorgungsspannung des Chip, sowie im Zweifelsfall ein Transistor mit Basisbeschaltung (Serienwiderstand und Glättungskondensator) zur Pegelanpassung zwischen Fernsteuersender und dem Eingang des USB-Chip. An die Basis des Transistors wird über den Serienwiderstand das Ausgangssignal der Fernsteuerung angelegt. Das war´s.

Der Chip bietet noch eine ganze Reihe von Konfigurationsmöglichkeiten, auswählbar über DIP-Switches bzw. Steckbrücken oder Schalter (die Polarität der Kanäle kann eingestellt werden, Kanäle lassen sich vertauschen. Einzelheiten bitte dem Datenblatt entnehmen, das auf der Homepage von Code Mercenaries zu finden ist), die aber für den Einsatz mit dem FMS alle auf Default belassen werden können. Diese Eingänge werden einfach offen gelassen, die entsprechenden Einstellungen können komfortabel in FMS vorgenommen werden.

Über zusätzliche Software lässt sich der Chip über den USB noch weiter parametrieren, genauso lassen sich auf diesem Weg die Einstellungen, die per Jumper oder DIP-Switch an der Hardware vorgenommen wurden, übersteuern. Die dazu notwendigen Spezifikationen sind ebenfalls im Datenblatt des JoyWarrior24 RC aufgeführt.

Code Mercenaries bietet ein Konfigurationsprogramm für Windows zum kostenlosen Download an, das diese Übersteuerung der DIP-Switch-Einstellungen per Checkboxen erlaubt. Das Programm platziert sich im Systemtray und ist somit immer auf kurzem Weg erreichbar.


Nach soviel Theorie kommt jetzt endlich der alles entscheidende Test mit der Hardware. Code Mercenaries hat mir freundlicher Weise ein Exemplar des neuen Chip zur Verfügung gestellt, so dass ich mit den oben beschriebenen Randbedingungen schnell mit den Vorbereitungen fertig war. Die Entwicklung einer gedruckten Schaltung wollte ich mir vorerst mal sparen, denn die notwendigen 6 Bauteile lassen sich schnell und unkompliziert auf einer Lochrasterplatine aufbauen. Allerdings hilft ein Layoutprogramm dabei, die optimale Position der Bauteile auf der Platine zu finden, weshalb ich dann doch EAGLE bemüht habe.

Für den USB-Chip habe ich einen Sockel verwendet, der Rest der Schaltung ist verlötet. Normaler Weise wird ein Lowspeed USB-Device mit einem festen Kabel an den Controller angeschlossen, in unserem Fall habe ich der Schaltung eine USB-Steckbuchse Typ B spendiert (der silberne Kasten oben im Bild), so dass ich ein Standardkabel A-B für den Anschluss an den Rechner verwenden kann. Rechts unten sieht man den dreipoligen Stecker für den Anschluss der Leitung vom Sender. Ich habe das Kabel hier auf der Lötseite direkt angelötet, weil das von mir verwendete zweiadrige Kabel zu starr für einen Steckkontakt ist.

Die im Schaltbild vorgesehene Versorgung des Senders über den USB ist ebenfalls noch nicht realisiert und fehlt hier. Dafür ist eine dreiadrige Leitung notwendig, die ich dann entsprechend flexibel und mit Steckkontakt ausführen werde.

Die im Schaltplan berücksichtigte Steckleiste für die Konfigurationseingänge des JoyWarrior24 RC habe ich nicht eingebaut, weil sich diese Einstellungen in FMS vornehmen lassen. Bedingt durch die Verwendung einer Lochrasterplatine stimmt das Layout natürlich nur ungefähr mit dem EAGLE-Layout überein.

Ich habe inzwischen einige Anfragen nach Bausätzen zu der Schaltung bekommen und möchte deshalb nochmals darauf hinweisen, dass ich prinzipiell keine Bausätze oder Fertiggeräte der Schaltungen verkaufe, die ich auf meiner Homepage veröffentliche.

Um nachbauwilligen “Nichtfachleuten” die Sache möglichst einfach zu machen stelle ich hier die Bauteileliste und mögliche Quellen zusammen:

 

Bauteil

Bestellbezeichnung

Preis in Euro

Emedia

JoyWarrior24 RC

JoyWarrior24 RC

12,50

 

 

Versandkosten

3,00

Reichelt

Transistor Q1

BC 547B

0,03

 

Widerstand R1, 1k

Metall 1,00K

0,08

 

Widerstand R2, 1k3

Metall 1,30K

0,08

 

Kondensator C1, 10n

Z5U-5 10n

0,06

 

Kondensator C2, 100n

Z5U-5 100n

0,06

 

USB-Buchse

USB BW

0,24

 

 

Versandkosten

3,60

 

 

gesamt

19,65


Man muss also mit ca. 20 Euro für die Bauteile rechnen (Stand 10/2004). Will man zusätzlich eine Platine dazu erwerben, kann man die z.B. bei MME in Auftrag geben. MME akzeptiert EAGLE “.brd”-Dateien und ist recht preiswert.


Jetzt zur Inbetriebname.
Wie erwartet (und von Code Mercenaries vorausgesagt) wird der Chip beim Einstecken sofort vom System erkannt (ich verwende Windows XP) und als ”5-Achse 20-Taste Joystick” unter Gamecontroller eingetragen. Die etwas verunglückte Bezeichnung kann aber nicht verhindern, dass der neue Joystick über Eigenschaften->Einstellungen->Kalibrieren eingestellt wird.

    Hinweis: Bei meinem Versuchsaufbau kommt es häufig vor, dass beim Einstecken des USB-Kabels in die Buchse der JoyWarrior24 RC erkannt wird, sofort danach verschwindet er aber wieder aus der Systemsteuerung und XP meldet, dass Probleme beim Einbinden eines USB-Device dessen ordnungsgemäßen Betrieb verhindern. Ich muss dann einige Male am Stecker wackeln, danach funktioniert alles wie vorgesehen. Ich muss noch untersuchen, woran dieses Verhalten liegt. Dass der Stecker einen Wackelkontakt hat kommt mir unwahrscheinlich vor, ich habe auch schon unterschiedliche Kabel getestet, leider ohne Erfolg.

    Code Mercenaries hat mir nach Rückfrage empfohlen, den Blockkondensator für die Versorgungsspannung des JoyWarrior24 RC direkt unterhalb des IC an den Sockel zu löten. Diese Maßnahme hat das beschriebene Verhalten nicht behoben, aber da der Chip laut Aussage von Code Mercenaries ein wenig kritisch auf Störungen auf der Spannungsversorgung reagiert, nehmen wir den Hinweis ernst und platzieren den Kondensator fortan unter dem Chip. Ich werde das Layout bei Gelegenheit anpassen. Der geneigte Nachbauer kann auch das Layout von c´t verwenden, das mir sogar fast besser gefällt als mein Eigenes ;-)

    Zurück zum eigentlichen Problem: Da die Störungen immer in Zusammenhang mit Wackeln am Stecker kamen oder gingen, blieben nur zwei Maßnahmen übrig. Als erstes wollte ich die Buchse gegen eine Neue austauschen, der nächste Schritt wäre Schlachten des USB-Kabels und Festanschluss per Lötkolben gewesen.

    Ergebnis: Ich habe nach Ausbau der Buchse festgestellt, dass unterhalb des Buchsengehäuses ein Lötzinnklecks durch eines der Löcher der Lochrasterplatine ”gewachsen” war, der nur ganz knapp keinen echten Kurzschluss zwischen dem Metallgehäuse der Buchse und dem D+-Pin gebildet hat. Offenbar hat das Bewegen des Steckers ausgereicht, den verbleibenden Spalt zumindest temporär zu überbrücken.

    Nach Entfernen des überschüssigen Lötzinns und erneutem Einbau der USB-Buchse sind die Störungen beim Anmelden am Rechner behoben.

Läuft erst mal alles, ist dann die Einbindung in FMS als Steuerung einfach. Im Menü Steuerung, Analoge Steuerung wird Joystick als Steuerung ausgewählt, in dessen Eigenschaften bzw. Belegung/Kalibration werden die Kanäle entsprechend der eigenen Vorstellungen zugewiesen und die Ausschläge kalibriert, und schon kann der Spaß losgehen.

Für meine Anlage (Robbe Terra Top) müsssen die Kanäle folgendermaßen zugewiesen werden:  

Seitenruder

Kanal

1

invertiert

Höhenruder

Kanal

2

invertiert

Querruder

Kanal

3

invertiert

Motordrossel

Kanal

5

invertiert.

 

Die weiteren Kanäle sind für mich ohne Bedeutung, weil für Hubschrauberbetrieb vorgesehen.

Als Nächstes muss die Steuerung auch in FMS noch mal kalibriert werden, was ähnlich komfortabel wie in der Systemsteuerung gelöst ist. FMS führt den Anwender dabei per Dialog. Prima gemacht!
Wer möchte, kann auch zuerst die Kalibrierung durchführen, dann zappeln die blauen Balken während der Kanalzuweisung nicht die ganze Zeit im Bild rum.

Jetzt die Einstell-Dialoge mit OK verlassen und mit Taste I den Flieger auf der Startbahn platzieren, falls das nicht schon passiert ist. Der Gasknüppel sollte dabei ganz nach hinten gezogen sein, sonst geht´s sofort in die Vollen :-)

Wahrscheinlich muss der Flieger in der Luft noch mal über die Trimmsteller am Sender nachgetrimmt werden, ganz wie im richtigen Leben. Danach kann, je nach Lust, Vorkenntnissen und Mut, gemütlich geflogen oder wild gebolzt werden. Passieren kann ja zum Glück im Simulator wenig ;-) Viel Spaß!!


Natürlich habe ich noch ein Layout mit Eagle erstellt, was mir den endgültigen Zusammenbau der Schaltung bzw. die Platzierung der Bauteile auf der Leiterplatte erleichtert hat. Die Schaltung ist aus dem Code Mercenaries Datenblatt des JoyWarrior24 RC übernommen.

JoyWarrior24 RC, Beispielapplikation(den Schaltplan in voller Auflösung per Click im Bild aufrufen)    

Wer EAGLE besitzt, kann sich den Schaltplan und das Layout laden. Beides befindet sich in diesem ZIP-Archiv.

Neu: Ich habe das Layout der Platine nochmal leicht geändert, damit die Platine besser gefertigt werden kann. Das bedingte eine Änderung der Pin-Anordnung der USB-B-Buchse. Außerdem habe ich die Platine leicht vergrößert, damit Warnungen über zu geringen Abstand von Leitungen vom Platinenrand ausbleiben. Die neuen Dateien sind im ZIP-Archiv enthalten.


Hinweis
Der Anschluss für 9V ist die Vorbereitung auf die Idee, den Sender beim Betrieb als Controller am PC per USB mit Betriebsspannung zu versorgen. Der Plan sieht vor, einen StepUp-Wandler auf der Platine anzubringen, der aus den 4 bis 5 Volt des USB die von meinem Sender benötigte Spannung von 9 Volt erzeugt. Wie bei den Schaltungen zum Anschluss des Senders an den PC schon beschrieben, hat mein Robbe Terra Top Sender am Stecker für den Lehrer-Schüler-Betrieb einen Anschluss zur Versorgung des Digitalteils des Senders unabhängig vom Hochfrequenzteil. Der vorgesehene dritte Draht führt also die aus der USB-Spannung erzeugten 9V zum Sender und ich spare mir das Laden der Senderakkus. Im Stecker wird lediglich die beschriebene Brücke aufgetrennt und der dritte Draht an den Pin angeschlossen, der zum Digitalteil führt. Fertig :-)

Wer keine Idee hat, wie so ein StepUp-Wandler funktioniert und auch keinen braucht, lässt die zugehörige Leitung und den Steckerpin einfach weg bzw. unbeschaltet.

Wen es interessiert, kann mal hier schnuppern. Die dort beschriebene Schaltung ist allerdings nicht ohne Änderungen geeignet um die Stromversorgung für den Sender zu übernehmen.

Hier habe ich die “aufgebohrte” Schaltung veröffentlicht, mit der mein Sender mittlerweile am PC betrieben wird.


Alternativ gibt es von c´t eine Platine, passend zu dem im Heft 20/2004 erschienenen Artikel zum JoyWarrior24 RC.

Nachtrag
Aus gegebenem Anlass möchte ich darauf hinweisen, dass Schaltplan und Layout von c´t nicht identisch mit meinem Design sind. Die Bezeichnungen der Bauteile weichen voneinander ab. Danke für den Hinweis Michèle!

Deshalb stelle ich mein Layout hier ebenfalls zum Anschauen online.

Wer an Hand meines Layouts eine Platine herstellen will sollte besser auf die Datei im ZIP-Archiv zurück greifen, zum Nachbauen auf Lochraster ist dieses Bild aber durchaus hilfreich.


Ergänzend zu den im c´t-Artikel genannten Steckerbelegungen von Lehrer-Schüler-Anschlüssen gilt:

Wie der geneigte Bastler und Modellflieger in spe an das Digitalsignal seines Fernsteuersenders kommt, ist für viele Anlagen im Handbuch zum FMS beschrieben. Für einige Sendertypen habe ich auch selbst Anleitungen geschrieben.


Der JoyWarrior24 RC kann im Übrigen nicht nur unter Win XP eingesetzt werden, sondern funktioniert genauso z.B. unter Win 98 SE. Wenn jemand weitere Betriebssysteme ausprobiert hat, würde ich mich über eine kurze Mitteilung freuen, ich werde Erfolgsmeldungen dann hier veröffentlichen.


Viele Tipps und Hinweise zum USB und dem Umgang damit habe ich in dem Buch "Messen, Steuern und Regeln mit USB" von Burkhard Kainka gefunden. Wer plant, sich näher mit USB zu beschäftigen, sollte mal einen Blick in dieses Werk riskieren. Ist mit ca. 35 € leider nicht ganz billig.


Wie immer gilt:
Änderungen und Umbauten am eigenen Fernsteuersender werden auf eigene Gefahr vorgenommen. Für die ordnungsgemäße Funktion der hier beschriebenen Schaltung kann ich keine Garantie übernehmen.

 


Beim Aufruf dieser Funktion werden Daten an Google in USA übermittelt. Neben Ihrer IP-Adresse wird auch die URL der besuchten Seite übertragen.
Besucherzaehler

Besucher seit
25.11.2000