Modell-RC-Gameport-Adapter3

Modellflugzeugfernsteuerung ersetzt den Joystick am Windows-PC
(Entwicklung eingestellt)


 PIC-Projekte , zurück , PIC-Prozessoren , Elektronik , Homepage

Problem
Ein typisches Problem für Modellflugzeugfreunde ist die fehlende Simulator-Trainingsmöglichkeit. Es gibt spezielle Modellflugsimulatorprogramme zum üben am Computer, aber es ist auch hilfreich mit einem "normalen" Flugsimulator-Programm am Personalcomputer zu trainieren. Dabei will man dann natürlich seine Modellflugzeug-Fernsteuerung benutzen, und nicht irgendeinen Joystick, der ganz anders in der Hand liegt. Dann braucht man einen Adapter, der die Modell-Fernsteuerung mit dem PC verbindet.

Der Gameportadapter1 hat sich im Einsatz bewährt, ist aber durch die Verwendung elektronischer Potis relativ teuer. Außerdem haben die Potis nur 100 mögliche Widerstandswerte. Dadurch ist dieser Adapter etwas grob in der Umsetzung der RC-Signale.

Der Gameportadapter2 überraschte mich mit großen Problemen bei der Anpassung an verschiedene Gameportvarianten - die Entwicklung ruht.
 
Foto des Gameportadapter3-Prototypen Lösung
Auf der Suche nach einer einfachen zuverlässigen Lösung stieß ich auf die Joysticks der "Sidewinder precision pro" Serie. Diese besitzen neben dem normalen analoge Interface ein serielles, digitales Interface.

Der Gameportadapter3 emuliert dieses digitale Protokoll, und wird deshalb vom Betriebssystem als "Sidewinder precision pro"-Joystick erkannt. Dadurch kann er für alle Windows-Programme verwendet werden.

Dieses Prinzip ermöglicht einen Adapter, der für ca. DM 20,00 zu realisieren ist.


Funktion:
Das Port RA4 des PIC ist mit der Lehrer-Schüler-Buchse der Fernsteuerung verbunden, und wird benutzt, um die Impulse der Fernsteuerung auszumessen.

RB0 erkennt den Beginn einer Gameportabfrage und löst einen Interrupt aus. Daraufhin werden die Knüppelstellungen und die Stellung der Schalter seriell durch das Gameport an den PC übermittelt.

Die RS-232-Schittstelle ist nur vorgesehen, um in der Endfassung der Software den Adapter über eine serielle Schnittstelle konfigurieren zu können.

Stromlaufplan (anklicken zum Vergrößern)



Programmierung des PIC
Der PIC soll sich ohne spezielles Programmiergerät "brennen" lassen, um die Hemmschwelle für Nachbauer niedriger zu machen. Mit Hilfe einer kleine Adapterplatine kann der Gameportadapter3 an die parallele PC-Schnittstelle (Druckerport) gesteckt werden. Dann funktioniert er als PIC-Programmiergerät mit komfortablem Windows-Programm. (5V und 12V Spannungsquellen sind zusätzlich erforderlich)
Alternativ kann ein Quick and Dirty-Brenner oder ein Brenner0 in wenigen Minuten zusammengelötet werden.



Entwicklungsstand:
Erste Erfolge lassen auf einen baldigen Abschluß der Entwicklung hoffen, wenn es auch immer wieder Rückschläge gibt.
Die Emulation der Protokolle funktioniert. Die Experimentierplatinenphase ist abgeschlossen, ein Prototyp wurde gebaut.
Das Zusammenspiel der einzelnen Softwarekomponenten wird erprobt.
Eine vereinfachte PIC-Software (ohne Kalibrierung und Konfigurationsmöglichkeit) läuft an meinem PC.

Ein Problem ist es noch, den Adapter auf verschiedenen Rechnern zum Laufen zu bringen. Der Originaljoystick unterstützt 4 verschiedene Protokollgeschwindigkeiten, und sucht sich je nach Rechnergeschwindigkeit eine geeignete aus. Mein Adapter unterstützte ursprünglich nur eine Geschwindigkeit, und funktioniert deshalb nur auf einigen Rechnern. Ich habe inzwischen alle Protokollgeschwindigkeiten realisiert, damit das Problem der Funktion auf allen PCs noch nicht gelöst..



Prototyp (Game3 Rev.0, Februar 2001)
Der Prototyp ist eine 2,3 Zoll x 1,5 Zoll (5,8 cm x 3,9 cm) Platine, die die gesamte Schaltung inclusive des Gameportsteckers enthält. Lediglich die RS-232 Buchse und die Lehrer-Schüler-Buchse sind durch einfache Buchsenleisten ersetzt worden. Ein zusätzlicher Kondensator "reinigt" die Betriebsspannung, die aus dem Gameport bezogen wird. Die Platine wird mit dem Gameportstecker direkt an den PC-Gameport gesteckt.

Die Software unterstützt z.Z. vier analoge Streuerknüppelkanäle und vier Schaltkanäle:

Die analogen Kanäle lösen z.Z. von 0 bis 4,1 ms mit 8 Bit auf. Das entspricht im interessierenden Bereich von 1 ... 2 ms in etwa 63 Stufen. (Wie funktioniert eigentlich die Fernsteuerung?) Hier wird eine Verbesserung bei Höhen- und Querruder folgen müssen. (Die theoretische Grenze liegt hier bei 1024 Stufen, 200 Stufen erscheinen mir aber ausreichend.)

Die Konfiguration des Interfaces (Zuordnung der Kanäle zu den Rudern, Inversschaltung ...) über die serielle RS232-Schnittstelle ist noch nicht realisiert, aber vorbereitet.



Wenn mal alles fertig ist werden hier alle Dateien liegen



zurück , PIC-Prozessoren , Elektronik , Homepage