Forum: Mikrocontroller und Digitale Elektronik Eigenbau Fernsteuerung mit HF-Modul Frsky XJT: Anbindung Empfänger X8R/S8R


von Christian S. (chrischross)


Angehängte Dateien:

Lesenswert?

Hallo.

ich baue gerade eine alte Graupner FM6014 Fernsteuerung auf Basis eines 
Arduino Mikrocontrollers mit Display und diversen zusätzlichen Schaltern 
und Reglern um. Die Knüppel, Schalter und Potis sind bereits 
angeschlossen und konnten mit einem separatem Arduino Nano Testaufbau 
überprüft werden. Die Hardware-Umbauten sind soweit erledigt. Ich hoffe, 
die beiden angehängten Fotos ermöglichen einen ausreichenden Eindruck:
* <Sender__aussen_.jpg>
* <Sender__innen_.jpg>

Nachdem ich in meinem ersten Projekt noch ein altes Graupner 
FM-Sendemodul verwendet habe (Details zu dem Umbau findet ihr hier), 
möchte ich diesmal 2,4GHz nutzen und habe mich für ein Frsky-HF-Modul 
entschieden (viel mehr Alternativen außer von Jeti gibt es leider nicht 
mehr). Daher ist der nächste Schritt nun der Test und Anbindung des 
HF-Moduls. Leider funktioniert die Verbindung nicht und ich bin auf der 
Suche nach Hilfe und Tipps.

**Aktueller Stand:**
Mit einem Arduino Nano erzeuge ich ein PPM-Signal mit 8 Kanälen und 5V 
Pegel. Die Versorgung des HF-Moduls erfolgt über die Batterie der 
Fernsteuerung (Lipo 2S, 7,2V), der Arduino wird vom PC versorgt, Masse 
ist verbunden. Das PPM-Signal ist soweit in Ordnung, wie die Bilder vom 
Oszilloskop und Testaufbau zeigen:
* <Oszi_PPM.jpg>
* <Testaufbau.jpg>

​Das Modul ist mit PPM, Batt+ und Batt-/GND wie folgt angeschlossen:
<Frsky_XJT.jpg>

Den gleichen Code zur PPM Ereugung habe ich auch in meinem 
Vorgängerprojekt mit einem analogen HF-Modul genutzt. Dies hat tadellos 
funktioniert. Den zugehörigen Arduino Code habe ich angehängt: 
Test_PPM.ino. Somit scheint die Kette bis zum Eingang HF-Modul korrekt 
zu funktionieren.

**Und nun zu meinem Problem:**
In meinem Test bespiele ich alle acht Kanäle mit einem Sinus-Signal, 
sodass sich an jedem Kanal der Servo hin- und herbewegen müsste. Im 
ersten Schritt habe ich einen Frsky S8R Empfänger verwendet. Diesen 
konnte ich erfolgreich binden, sowohl der Empfänger als auch der Sender 
leuchtet grün, allerdings funktionieren die Servos nicht richig:
* Kanal 1 und 3: keine Reaktion
* Kanal 2, 4-8: Servo bewegt sich im Sinne eines Sinus hin und her, aber 
sehr ruckelig und auch leicht verzögert

Das PWM-Signal am Empfänger sieht aber ok aus, an Kanal 1 und 3 konnte 
ich nichts messen:
* <PWM-Empfaenger-S8R.jpg>
* <S8R.jpg>

Da sich an Kanal 1 und 3 gar nichts bewegt und die übrigen nicht 
gleichmäßig bzw. ruckelig, habe ich auf einen defekten Empfänger 
geschlossen. Im zweiten Versuch habe ich daher zu einem Frsky X8R 
gegriffen. Auch diesen konnte ich erfolgreich binden, aber leider war es 
das dann auch. Der Servo zeigt an keinem der Ausgänge eine Bewegung.
<X8R.jpg>

Die Pegel für Plus und Minus am Empfänger sind vorhanden (4,8V), der 
Signalpegel ist 0, also hier kommt nichts an. Sowohl Sender als auch 
beide Empfänger habe ich mit dem letzten Firmware-Stand begespielt. 
Leider ist die Doku zu den Frsky-Komponenten sehr düfrtig, bei folgenden 
Punkten bin ich mir noch nicht zu 100 Prozent sicher:
* Eingänge HF-Modul korrekt (offene Pins ohne Bedeutung)?
* Pegel PPM-Signal: 5 V oder wie Batterie auf 7,2V
* Muss der PPM-Pegel invertiert sein? (Hintergrund: Beim HF-Modul von 
Graupner gab es einen Transistor zur Invertierung, vermutlich um die 
Leistung sicherzustellen, ich hatte die PPM-Ausgabe vom Arduino temporär 
im Code invertiert, aber keine Veränderung feststellen können)
* Sind die Updates korrekt X8R_ACCST_2.1.0_LBT, S8R_ACCST_2.1.0_LBT, 
XJT_ACCST_2.1.0_LBT korrekt oder gibt es noch einen besseren Stand?
* Warum zeigt der X8R keinerlei Reaktion (ich kann den Servo mit der 
Hand verdrehen, sodass nicht einfach nur die Mittelstellung gehalten 
wird), während der S8R zumindest zuckt

Und nun bin ich mit meinem Latein am Ende. Ich habe leider keine 
Möglichkeit, die Empfänger und das HF-Modul separat zu testen. Das wäre 
natürlich sinnvoll, um die Fehlerquellen einzugrenzen. Meine 
Hoffnung/Vermutung war, dass der erste Empfänger defekt sei und es daher 
mit einem zweiten Empfänger definitiv funktionieren sollte, aber 
Pustekuchen...

Nun bin ich auf der Suche nach hilfreichen Tipps, wo der Fehler liegen 
könnte und dankbar für jeden Vorschlag oder Idee...

: Bearbeitet durch User
von Wilhelm M. (wimalopaan)


Lesenswert?

Das XJT macht eine Erkennung, ob Du am Input eine serielles oder ein 
CPPM lieferst. Es stellt sich grundsätzlich die Frage, warum Du CPPM 
verwendest.

Natürlich sollte trotzdem die Erkennung auf CPPM funktionieren. Bist Du 
sicher, dass Du die Specs einhälst für ein CPPM Signal?

von Christian S. (chrischross)


Lesenswert?

Nein, sicher bin ich mir nicht. Ich finde aber leider keine genaue 
Spezifikaion zum Signal, wie das Modul es erwarten würde bzw. welche 
Toleranzen im Signal noch akzeptiert werden. Die Infos auf:
https://www.frsky-rc.com/product/xjt-2/
sind leider sehr dürftig.

Wie würde denn das serielle Signal aussehen? Ich bin nicht auf CPPM 
festgelegt ;-), mir ist nur wichtig, dass am Ende eine stabile und 
sichere Verbindung zum Empfänger vorliegt.

von Christian S. (chrischross)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.