Allgemeines Einleitung Die Schaltung Bootloader? Mögliche Erweiterungen Download zurück zu PIC-Projekt Allgemeines
|
Wenn man mit seiner Flugmodell-Fernsteuerung
einen Flugsimulator am PC bedienen will, dann benötigt man einen
Adapter, der aus der Funkfernsteuerung einen virtuellen Joystick macht.
Damit hatte ich mich schon im Jahre
1998 beschäftigt. Doch mit dem Aufkommen der USB-Ports und dem
Aussterben der alten analogen Game-Ports am PC, war eine modernere
Lösung längst überfällig. Die hier vorgestellte Schaltung wird mit der Lehrer-Schüler-Buchse der Fernsteuerung verbunden und emuliert einen Joystick mit 5 Achsen und 16 Tasten. Je nach Fernsteuerungstyp sind aber nur maximal 14 Tasten wirklich benutzbar. Die meisten Fernsteuerungen sind 8-Kanal-Modelle, der Adapter unterstützt aber von 3 Kannälen bis zu 12-Kanäle alle möglichen Varianten. Voraussetzung für die Nutzung ist natürlich ein vorhandener (oder nachrüstbarer) Ausgang für das PPM-Lehrer-Schüler Signal. Auch PCM-Fernsteuerungen haben so einen Ausgang oftmals. Weiterführende Informationen findet man zum Beispiel hier: Die Pinbelegung verschiedener Lehrer-Schüler-Buchsen findet man auf der Seite der Firma MFTech: (Diese Firma verkaufte übrigens auch eigene RC-USB-Adapter, die sich komfortable konfigurieren lassen): |
Über den USB-Anschluss wird
der Joystick gesteuert und mit Strom versorgt. Die Kondensatoren C1 und
C5 filtern die Betriebsspannung und C2 siebt die USB-Spannung des
internen Spannungsreglers des PIC. Q1, C3 und C4 versorgen den PIC mit einem stabilen 20-MHz Takt. R1 legt Pin 1 des PIC auf High-Pegel. Als PIC habe ich den PIC18F2455 vorgesehen, es eignen sich aber auch PIC18F2458/2550/2553. (Ohne Änderung an Hardware oder HEX-File.) Lehrer-Schüler-Signal Der Mikrocontroller erwartet das PPM-Lehrer-Schüler-Signal mit TTL-ähnlichem Pegel an den verbundenen Pins 12 & 13. Die Eingänge haben Schmitt-Trigger. Der High-Teil des Signales sollte >4V sein und der Low-Teil <1V. Ob das Signal mit normaler Polarität oder invers vorliegt, das ist egal. Spannungen unter 0V und über 5V dürfen nicht an die Pins 12 & 13 angelegt werden! Die Ausgangspegel von Lehrer-Schüler-Buchsen variieren stark. Zwischen 0,6V und 9V ist alles möglich. Deshalb muss man das PPM-Signal an den Eingang des Mikrocontrollers anpassen. In der nebenstehenden Schaltung ist eine Eingangsstufe vorgesehen (R3, R2, C6, Q2), die nahezu beliebige Eingangspegel in normgerechte Pegel für die Pins 12 & 13 wandelt. Man verbindet dort also einfach den Lehrer-Schüler-Ausgang der Fernsteuerung mit dem Verbinder JP1. Am Pin 11 (RC0) kann eine LED (mit Vorwiderstand) angeschlossen werden. Das Pin führt nur dann high High-Pegel wenn ein gültiges PPM-Signal erkannt wird. DIP-Schalter S1 Der DIP-Schalter S1 ist für Modifikationen des Fernsteuersignals vorgesehen. So kann man Kanäle invertieren oder vertauschen. (siehe unten) |
SW8 |
SW7 |
SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
Kanäle invertieren | frei | frei | Kanalzuordnung |
Joystik Achse |
1. Achse |
2. Achse | 3. Achse | 4. Achse | 5. Achse | 6. Achse |
Bezeichnung |
X |
Y |
Z |
X-Rotation |
Y-Rotation | Z-Rotation |
Verwendung
PC |
Querruder | Höhenruder | Motordrossel | Seitenruder | - | - |
SW2 |
SW1 |
RC-Type |
Kanal 1 |
Kanal 2 |
Kanal 3 |
Kanal4 |
offen |
offen |
Futaba / Hitec |
Querruder |
Höhenruder |
Motordrossel |
Seitenruder |
offen |
zu |
Graupner / JR |
Motordrossel | Querruder | Höhenruder | Seitenruder |
zu |
offen |
MPX / robbe |
Querruder | Höhenruder | Seitenruder | Motordrossel |
zu |
zu |
Sanwa |
Höhenruder | Querruder | Motordrossel | Seitenruder |
SW8 |
SW7 |
SW6 | SW5 |
Kanal 4 |
Kanal 3 | Kanal 2 | Kanal 1 |