Die beschriebene Modifikationan einem X-Trek II Pistolengriffsender hat drei Ziele.
Wie es funktioniert
Eine Fernsteuerung besteht aus 4 groben Funktionsblöcken:
Der Stromversorgung, den Eingabeelementen (Schalter, Potis), dem Controller, der die Stellung der Eingabeelemente in ein Signal umwandelt, das der HF Teil dann in die Welt strahlt.
Der HF Teil erzeugt ein hochfrequentes Signal. Dabei handelt es sich um ein Trägersignal das vom Controller moduliert wird. In Deutschland hat das Trägersignal für Modellautos eine Frequenz von 27 oder 40 MHz. Es gibt verschiedene Arten der Modulation die einfachste und gebräuchlichste bei billigen Fernsteuerungen ist OOK. On Off Keying, d.h. das Trägersignal wird in einem speziellen Rhythmus an und abgeschaltet um die Befehle zu übertragen. Alle Informationen werden als Bits übertragen. Ein Bit besteht aus einer Zeit die das Trägersignal gesendet wird gefolgt von einer Zeit in der es nicht gesendet wird. Es gibt Daten- und Synchronisationsbits. Die Synchronisationsbits dienen dazu dem Empfänger mitzuteilen, dass jetzt gleich Daten kommen und der Empfänger kann die Syncbits auch zur Kalibrierung benutzen. Die Datenbits übertragen nun ja ... die Daten. Die X-Trek, X-Motors und 6Tec Fernsteuerungen übertragen echte Datenworte d.h. die Anzahl der Datenbits ist immer gleich, jedes Bit hat eine feste Positions abhängige Bedeutung und jedes Bit kann 1 oder 0 sein. Die Microsizer hingegen kennen nur ein 1 Datenbit und die Datenworte unterscheiden sich durch die Anzahl der Bits statt durch deren Zustand. Z.B. beginnt bei XTrek ein Befehl mit 3 Sync Bits deren 1 und 0 Anteil jeweils 350us lang sind. Die Datenbits hingegen haben im Falle einer 0 eine 1 und 0 Phase von je 90us die 1 Bits hingegen 270 us lange 1 Phasen und 90 us 0 Phasen. Dadurch benötigen Datenworte je nach Anteil von 0 und 1 Bits unterschiedlich lange. 6 Tec hingegen codiert die Datenbits im Manchaster Verfahren, was garantiert, das alle Datenworte die gleiche Übertragungszeit benötigen.
Bei den Microsizern hingegen gibt es 4 Sync Bits mit 1.5ms langen 1 Phasen und .5ms langen 0 Phasen gefolgt von einer vom Befehl abhängigen Anzahl Bits mit .5 ms langen 1 und 0 Phasen.
Ebenso unterscheidet sich die Länge und die Häufigkeit von Übertragungen. XTrek überträgt alle 64 ms ein Datenwort auch wenn keine Taste gedrückt ist. Allerdings dauert die Übertragung eines Datenwortes max 10ms so dass der "Äther" die meiste Zeit frei ist. Das ist wichtig, wenn man mehrere Fernsteuerungen auf der gleichen Frequenz verwenden will.
Microsizers hingegen senden kontinuierlich ein Datenwort nach dem anderen, solange eine Taste gedrückt ist. Somit ist es schwieriger mehrere Fernsteuerungen auf der gleichen Frequenz zu betreiben.
Auch sind die Datenworte relativ lange. So kann ein Datenwort bis zu 136ms lang sein. Da Microsizer einen Befehl erst annehmen, wenn er zweimal empfangen wurde heißt das, dass bestimmte Befehle erst nach 1/4 Sekunde erkannt werden. Noch ein bisschen schlechten Empfang dazu und das Fahrzeug läuft nach.
Man hätte das Problem etwas reduzieren können, indem man die "kurzen" Befehle für die gebräuchlichen Befehle verwendet, aber unglücklicherweise verwenden Microsizer die "kurzen" Befehle für die Rückwärtsfahrt und Kombinationen mit Rückwärtsfahrt.
Warum diese Betrachtungen ?
Obwohl die Datenworte verschiedener Fernsteuerungen mit unterschiedlichen Bits arbeiten und die Bits unterschiedlich "aussehen" interessiert das den HF Teil wenig, denn der HF Teil erzeugt immer eine Trägerfrequenz die ein- und ausgeschaltet wird. Es ändert sich nur der Rhytmus des Ein- und Ausschaltens. Das wiederum heißt, das man den HF Teil jeder Fernsteuerung für jeden Empfänger mit der gleichen Trägerfrequenz verwenden kann.
Genauso wichtig ist die Feststellung, dass, da die Trägerfrequenz nur ein und ausgeschaltet wird, es einfach sein muss einen eigenen Controller anzuschliessen.
Und siehe da, die HF Teile der Microsizer, X-Motors, 6-Tec und X-Trek Fernsteuerungen sind identisch (bis auf Nuancen).
Allerdings haben alle HF Teile zwei Eingänge zum Ein- und Ausschalten der Trägerfrequenz statt nur des erwarteten einen.
Der eine Eingang macht genau das was wir erwarten, nämlich das Signal ein und auszuschalten und dient dazu die "Bits auf das Trägersignal aufzubringen" man nenn das modulieren, der andere Eingang schaltet den Oszilator ab, was bedeutet das der gesamte HF Teil in einen Ruhezustand versetzt wird, indem er wenig Strom verbraucht. XTrek schaltet darüber den HF Teil komplett ab, wenn kein Datenwort übertragen wird. Microsizer schalten den HF Teil ab, wenn keine Taste gedrückt ist.
Die Eingabeelemente können Schalter, Taster oder Potis sein. Im Falle der XTrek Professional (Pistolengriff) handelt es sich ausschließlich um Schalter und Taster.
Alle Signale sind im unbetätigtem Zustand auf positiven Pegel und im betätigtem Zustand auf Masse.
Der Lichttaster ist "Gummi-Taster", eine Graphitplatte in einer Gummitülle die gegebenenfalls auf die Platine gedrückt wird und dort Kontakte kurzschließt. Der ABC Schalter ist ein Standard-Schiebeschalter, der keine oder eine von 2 Leitungen auf Masse zieht.
Alle anderen Elemente sind mittels Kämmen realisiert, die Bereiche auf der Platine berühren, und je nach Stellung bestimmte Leitungen auf Masse ziehen.
Der 0123 Schalter erzeugt ein 2 Bit (Leitungen) Signal.
Der Trim Schalter, das Lenkrad und der Geschwindigkeitsregler erzeugen jeweils 4 Bit Signale. Die Signale sind Gray codiert, d.h. wenn sich die Stellung um eine Position verändert, verändert sich nur 1 Bit. Dies ist eine gebräuchliche Methode um Störeffekte beim Umschalten zu vermeiden.
In der Mitte zwischen HF Teil und den Schaltern sitzt der Controller.
Bildlich hat er auf der einen Seite 17 Eingänge (je 4 Für Lenkrad, Geschw., Trim, je 2 für ABC und 0123 und einen für das Licht) und 3 Ausgänge. Die 2 für das HF Teil sind klar und bei dem dritten handelt es sich um einen Ausgang für die Led.
D.h ein Controller, der den eingebauten ersetzen soll, muss mindestens 20 Ein/Ausgabe Leitungen haben. Also ein 28 Pin Microcontroller ist hier das Bauteil der Wahl. Ich verwende einen AVR Mega8. Ich verwende gerne diese Prozessorfamilie von Atmel, weil sie technisch auf der Höhe und "geradlinig" ist. Der Mega 8 ist eventuell etwas zu leistungsfähig, aber lieber etwas Luft als 1 Euro gespart. Der Mega8 kostet etwa 4,60 Euro bei Einzelstückzahlen. Der Mega 8 hat einen internen Oszillator, so dass man mit genau 0 externen Bauteilen auskommt.
Von seinen 28 Pins sind 20 mit den oben beschriebenen Signalen belegt, 5 mit Betriebsspannung und Masse, 2 mit den Leitungen für die serielle Schnittstelle (dazu später) und 1 Leitung ist frei.
Der Original Controller ist aufgebonded, d.h der Chip kommt ohne Gehäuse auf die Platine und wird mit ihr verdrahtet und zum Schutz kommt ein Klecks Plastik obendrauf. Vorteil billig und Platz sparend, Nachteil man bekommt das Ding nicht runter.
Bei den Eingängen ist es kein Problem, wenn man weitere Eingänge anschließt, bei den Ausgängen hingegen schon. Aber glücklicherweise kann man die drei Ausgänge des Controller durch Trennen von Leiterbahnen einfach abkoppeln.
Am Ende hat man also den alten und den neuen Controller in der FB, was den Stromverbrauch minimal erhöht, aber das ist es dann auch schon. Es ist auf jeden Fall einfacher als zu versuchen den Die rauszunehmen.
Es kommt noch besser, alle Eingangssignale sind auf der Controller-Huckepackplatine als Testpunkte herausgeführt und können somit ganz einfach abgegriffen werden. Die Ausgangssignale auch, aber an der Stelle nutzen sie uns nichts, da die Leiterbahnen erst "hinter" den Testpunkten getrennt werden.
Hier sind alle Signale vertreten:
| P00 | Licht Taster | Controller Pin 25 | ![]() |
| P01 | Schalter 0..3 | Controller Pin 4 | |
| P02 | Schalter 0..3 | Controller Pin 5 | |
| P04 | Trim | Controller Pin 6 | |
| P05 | Trim | Controller Pin 11 | |
| P06 | Trim | Controller Pin 12 | |
| P07 | Trim | Controller Pin 13 | |
| P10 | Modulation | Controller Pin 26 | |
| P11 | HF Teil an/aus | Controller Pin 27 | |
| P14 | Led | Controller Pin 28 | |
| P16 | ABC Schalter | Controller Pin 23 | |
| P17 | ABC Schalter | Controller Pin 24 | |
| P20 | Geschwindigkeit | Controller Pin 14 | |
| P21 | Geschwindigkeit | Controller Pin 15 | |
| P22 | Geschwindigkeit | Controller Pin 16 | |
| P23 | Geschwindigkeit | Controller Pin 17 | |
| P24 | Lenkrad | Controller Pin 18 | |
| P25 | Lenkrad | Controller Pin 19 | |
| P26 | Lenkrad | Controller Pin 9 | |
| P27 | Lenkrad | Controller Pin 10 | |
| Vdd | Versorgungsspannung | Controller Pins 7, 20, 21 | |
| GND | Masse | Controller Pins 8, 22 |
Wo welches Signal zu finden ist und mit welchem Pin es zu verbinden ist kann den nebenstehenden Bildern entnommen werden.
Der Controller und die Modifikationen sind unabhängig vom eingesetzten Trägersignal, sind also identisch für 27 und 40 MHz Sender.
Um die Tabellen für die Schalter/Motor Zuordnung in den Chip laden zu können benötigt man eine Verbindung mit einem PC. Die einfachste Variante ist immer noch die serielle Schnittstelle. Der Mega8 hat einen Empfangs- und Sendepin die mit einer Buchse verbunden werden. Ich verwende eine 4 polige Mini Din Buchse. Neben Empfangs und Sende Leitung werden noch Masse und 6 V über die Buchse rausgeführt. In die Buchse kann man ein spezielles Kabel stecken an dessen einem Ende sich der passende Mini Din 4 Stecker befindet und am anderen Ende befindet sich eine Sub D9 Buchse. Für die Sub D9 Buchse verwendet man eine Variante mit einem großen Gehäuse, so dass darin noch ein Pegelwandler IC untergebracht werden kann. Ein direktes Verbinden der seriellen Schnittstelle mit den Leitungen am Controller würde diesen zerstören.
Aufbau
Die folgenden Bilder zeigen einen von 2 Prototypen. Die Platine muss entnommen werden und an 3 Stellen müssen Leiterbahnen getrennt werden.
Die Platine mit den Cuts
Der Cut für die Modulation
Der Cut für das Abschalten des HF Teils.
Der Cut für die Ansteuerung der Led.
Danach empfiehlt es sich die Platine wieder einzusetzen. Dann wird der Controller eingesetzt. Die auf den Bildern gezeigte Stelle ist sehr günstig, da man nur kurze Verbindungen benötigt. Der Controller ist mit Super Kleber befestigt. In der anderen Gehäusehälfte sitzt an der Stelle, wo jetzt der Controller ist, eine Stütze. Diese muss entfernt werden, da sie sonst auf den Controller drückt und sich das Gehäuse nicht mehr schliessen lässt.
Fertig verdrahtet. Rechts unten die Mini Din 4 Buchse.
Die Pins des Controllers müssen anhand der oben stehenden Verdrahtungsliste mit den Anschlüssen auf der Platine verbunden werden. Zusätzlich werden VCC, GND, Rxd(Pin2) und TxD(Pin3) mit den Pins am 4 poligen Stecker verbunden. Ich habe für alle Verbindungen Lötlackdraht verwendet, wie er z.B. von Verowire (Fädelstift) verwendet wird.
Die Kämme der Schalter bewegen sich über vergoldete Flächen auf der Platine. Diese Flächen sind mit einem Fett bestrichen, damit die Kämme besser gleiten. Sollte man beim Umbau dieses Fett abreiben, so kann man es durch ein Spezialfett, wie es für mechanische Geschwindigkeitsregler im RC Modellbau oder Slot Racing verwendet wird, ersetzen.
Die Software
Momentan läuft die Software nur unter OS X, aber eine Anpassung an Windows ist kein Problem.
Die Software erlaubt die Auswahl der zu verwendeten seriellen Schnittstelle, und des zu verwendeten Modus (X-Trek II, X-Motors).
Je nach Anzahl der Motoren erscheinen ein oder zwei Tabellen.
In der Horizontalen werden die Werte für den jeweiligen Motor bei Erhöhung der Geschwindigkeit eingetragen, in der Vertikalen bei zunehmenden Lenkeinschlag.
Bei X-Trek II entspricht die erste Tabelle den Werten für die unterschiedlichen Geschwindigkeiten bei Geradeausfahrt und bei
Kurven in denen der Motor normalerweise nicht verlangsamt wird (z.B. Linkskurven für den rechten Motor). Alle anderen Werte sind die Einstellungen für die Kombination von Lenkeinschlag und Geschwindigkeit in die Richtung in der der Motor normalerweise verlangsamt wird. Natürlich kann man dank der Tabellenwerte das Verlangsamen in ein Beschleunigen ändern.
Bei einer Geradeausfahrt werden also für den jeweiligen Motor in Abhängigkeit von der Geschwindigkeit die Werte aus der ersten Zeile verwendet.
Bei Rückwärtsfahrt werden für den jeweiligen Motor in Abhängigkeit von der Geschwindigkeit die Werte aus der ersten Zeile verwendet, aber mit verändertem Vorzeichen.
Bei Vorwärts Links verwendet der rechte Motor Zeile 0 und der linke Motor je nach Lenkeinschlag Zeile 1 bis 7
Bei Vorwärts Rechts verwendet der linke Motor Zeile 0 und der rechte Motor je nach Lenkeinschlag Zeile 1 bis 7
Bei Rückwärts Links/Rechts werden die Richtungen entsprechend getauscht.
Es ist zu beachten, dass dies nur der Abkürzung dient, man könnte auch eine riesige Tabelle für jeden Motor und jede Kombination für Lenkeinschlag und Geschwindigkeit machen. Dies hätte für Autos keinen nennenswerten Vorteil, möglicherweise aber für andere Anwendungen.
Mit der "Reset" Taste werden beide Tabellen mit linearen Werten vorbesetzt.
Mit der "Kopie->" Taste kann man die Werte der Tabelle eines Motors in die Tabelle des anderen Kopieren.
"+" und "-" werden alle Werte der jeweiligen Tabelle um eins erhöht bzw. erniedrigt.
Die Kurventasten sind eine Komfortfunktion die die Tabellenwerte aus den Eckwerten berechnen. D.h. man gibt die Eckwerte vor (Lenkeinschlag 0 Geschwindigkeit 0, L0 G7, L7, G0 und L7G7) und je nach Taste werden die Zwischenwerte bestimmt.
Die anderen beiden Tasten dienen dem Herunterladen der Tabellen in die Fernsteuerung und dem Hochladen aus der Fernsteuerung.
Bei Rückfragen mail an Stephan Hess