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.
|
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. |
|
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:
-
K1 - analog Motor (7 Bit)
-
K2 - analog Querruder (7 Bit)
-
K3 - analog Höhenruder (7 Bit)
-
K4 - analog Seitenruder (6 Bit)
-
K5 - Schalter 1
-
K6 - Schalter 2
-
K7 - Schalter 3
-
K8 - Schalter 4
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