Forum: Mikrocontroller und Digitale Elektronik FMS-serielles Interface für Flugsimulator


von Jasmin (Gast)


Lesenswert?

Hallo,

hat jemand schon einmal ein serielles Interface für den freien
FMS-Modellbauflugsimulator mit einem Atmega gesehen, oder gebaut ?

Weiß jemand, welches serielle Datenformat der FMS benötigt ?

Für sachdienliche Hinweise wird eine Belohnung von......;-)

Jasmin/D.S.

von Nonusare (Gast)


Lesenswert?

Habe mal Eins mit PIC nachgebaut, läuft super.
Die grosse Suchmaschine spuckt den Link aus
http://www.webx.dk/rc/evo/trainer-wireless-uhf.htm, da steht das Format
erklärt.
Viel Erfolg

von Jasmin (Gast)


Lesenswert?

Danke,


ich suche aber auch eine "verläßliche" Bescheibung des FSM
Herstellers. An wen wendet man sich da ?!


Jasmin /DS

von Stephan H. (stephan-)


Lesenswert?

ich habe den von der CT mit RC Warrior nachgbeaut mit USB.
Funzzt auch super. www.heise.de/ct

von Steffen (Gast)


Lesenswert?

"ich suche aber auch eine "verläßliche" Bescheibung des FSM
Herstellers. An wen wendet man sich da ?!"

Da würde mir als erstes der Hersteller einfallen. Schaltung und
Quellcode für das Interface liegen übrigends beim Programm mit bei.

von zotos (Gast)


Lesenswert?


von Jasmin (Gast)


Lesenswert?

hallo,
die fms programmierer stellen sich auf meine anfrage hin offensichtlich
"tot"   ;-[




jasmin

von Steffen (Gast)


Lesenswert?

Ist natürlich nicht die feine englische Art. Allerdings ist die
Beschreibung mit im Lieferumfang enthalten.

Hier der Auszug bzgl. des Protokolls:

Protocol description

FMS cable uses the serial interface, to transmit data from TX to
computer. For proper work, COM-port must be configured in following
way:

- 19200 baud
- 81N (8-bit data, 1 stop bit, no parity)
- RTS set to HI (+10v)
- DTR set to LO (-10v)

TX channel data been combined into packets and transmitted to computer.
Data is combined into packets for each PPM cycle:

- Every packet starts with 0xFF
- For each channel, 1 byte been added to packet (after 0xFF).

Channel byte value vary from 0 to 0xFE. Table below describe dependency
between pulse length and channel data.

pulse length converted to

760 uS 0x00

1528 us 0x80

2284 us 0xFE


each 1 in data is equal to 6 uS (+/- 6 uS in signal => +/- 1 in data).

EXAMPLE:

pause 0xFF 0x80 0x80 0x80 0x80 pause 0xFF 0x80 0x80 0x80 0x80 ...

That means, we have 4-channel transmitter, and all sticks are now in
the midle position.

(!) Note, when transmitter is off, cable sends to computer 0xFF bytes
constantly. That helps to determine, that cable itself is ok.

Ich habe den hier -->
http://perso.wanadoo.fr/aero2000/Technique/Simpic/Simpic.htm im Einsatz
funktioniert problemlos und kann auch mit anderen Simulatoren verwendet
werden. Die Fernsteuerung wird dann als Joystick in Windof eingebunden.

von Jasmin (Gast)


Lesenswert?

@ Steffen,

ich dachte ich wäre der Google Weltmeister.. Wo hast Du denn das nun
gefunden ?

Der Link ist ja hochinteressant, habe den Franzosen einmal um den
Sourcecode gebeten.

Ich wollte mir eine "Deluxe" Version eines Adapters bauen der
beispielsweise auch eine Diagnosefunktion für eine PPM Anlage bietet
und noch mit einigen Features wie Analyse des PPM Frames und
automatischer Pulslage etc. verfeinert ist...

Danke für die Informationen...


D.S.

von Steffen (Gast)


Lesenswert?

Da hat mich auch erst jemand anderes drauf gestoßen. Siehe
http://www.fernando-heitor.de/component/option,com_smf/Itemid,100/topic,905.0.
Dort findest du auch noch einen weiteren Link zu einem ähnlichen
Interface.

von Jasmin (Gast)


Lesenswert?

@ Steffen,

wo hast Du denn die Schnittstellenbeschreibung für den FMS gefunden ?
Beim Download ist es nicht dabei, auch nicht im Programmverzeichnis.
Existiert auch eine Bewchreibung für den "USB-Input" ?


D.S.

von Steffen (Gast)


Lesenswert?

Möglich, dass es bei den neueren Versionen nicht mehr dabei ist. ich
habe glaube V8.0. Dort ist das Interface im Unterpfad Doc/Interface
beschrieben.

Für die USB Geschichte ist das Ganze etwas komplizierter, jedenfalls
was die Anbindung an den PC anbetrifft. Das Interface ist ein
HID-Device. Hier -->
http://www.flightsim.com/cgi/kds?$=main/howto/mind.htm findest du ein
paar Angaben und weitere nützliche Links.

von Slowflyer (Gast)


Lesenswert?

Moin,

ich bin gerade dabei mir auch ein Interface für FMS zu entwickeln, mit
dem ich meine Graupner X-412 Fernsteuerung (6 Kanal) anschliessen kann.


Kurz die Eckdaten:

ATMega88 (PPM-Signalauswertung), MAX202 (serielle Anbindung), 74HC14
(Schmitttrigger, um das PPM Signal (ca. 2V) der Fernsteuerung auf
µC-Pegel zu bringen). Das Ganze soll das oben beschriebene
Pic-Interface-Protokoll unterstützen. Programmiert wird in C mit
WinAVR.

Ich habe erst nach Lösungen zum Nachbauen gesucht. Da gibt es welche
auf PIC-Basis und eines mit nem AT90s2313 bzw. tiny2313. PICs liegen
mir nicht und die andere genannte AVR-Lösung ist in Assembler
geschrieben. Also hab ich beschlossen mich damit mal
auseinanderzusetzen und mir ein eigenes Interface zu basteln
(eigentlich nur aus Spass an der Freude, hätte mir auch ein fertiges
kaufen können oder die anderen nachbauen ;)).

Die Auswertung der PPM-Signale der Fernsteuerung am Oszi ergaben
Folgendes (nur ca. da ich nicht so genau gemessen habe):

Signalform: ||___||_____||__||_____||__||___||_____________|| etc.

Knüppel zurück - 700µs (Pausen zw. den Trennimpulsen)
Knüppel vor    - 1500µs
Trennimpuls    - 400µs
Framelänge     - 22000µs

Grob stimmt das mit der Beschreibung von FMS überein.

Es wird wohl etwas Zeit brauchen, bis das Interface einigermaßen
funktioniert. Später möchte ich (falls ich noch Lust un Zeit dazu habe)
einige Features hinzufügen:
 - selbständige Erkennung PPM/PCM
 - unterstützung verschiedener Protokolle (µC zu PC)
 - unabhängig davon, ob das Signal invertiert ist oder nicht
 - selbständige Erkennung von Kanälen
 - konfigurierbar per Computer
 - und alles was mir später noch einfällt

Falls ihr noch Ideen habt, nur her damit.

So long...

von Qwerty (Gast)


Lesenswert?

Bezüglich der seriellen Übertragung: Neben der oben beschriebenen
19200-Variante gibt es auch noch eine 9600-Baud-Variante. Diese benutzt
jedoch ein leicht anderes Protokoll:

Startbyte (0xF0 + n)
Button-Byte
n Kanalbytes (Wertebereich 0x00-0xEF)
Pause

Also bei einer 8-Kanal-Anlage z.B.:
0xF8 0x00 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80

Das Button-Byte war mal zur Auswertung von 4 am Interface
angeschlossenen Tastern gedacht, weiss nicht ob FMS das überhaupt
auswertet. Einfach 0x00 senden, wenn keine Tasten angeschlossen sind.
Eine Besonderheit ist, dass im Startbyte schon die Anzahl der
Folgebytes enthalten ist, was man im FluSim-Treiber dann zur
Plausibilitätsprüfung heranziehen kann.

Eine gute Dokumentation zum Format findet sich übrigens auch im
Quellcode des Open-Source-Modellflugsimulators CRRCsim
(http://crrcsim.sourceforge.net), der auch den Anschluss eines Senders
über FMS-Interface unterstützt. CRRCsim unterstützt nebenbei noch eine
deutlich genialere Lösung: Der PPM-Stream vom Sender wird über ein
einfaches Kabel (maximal mit 2 Widerständen als Spannungsteiler) auf
die Soundkarte gegeben, dort gesampelt und ausgewertet. Simpler geht's
nimmer.

Support von den FMS-Autoren wird es wohl kaum noch geben, die
Entwicklung ist eingeschlafen. Leider haben sie wohl kein Interesse,
das Projekt als Open Source an die Community zu übergeben. Es würden
sich sicher interessierte Entwickler finden.

von Blackbird (Gast)


Lesenswert?

Der FMS kann die PPM-Daten auch direkt am COM-Port einlesen. Diese Daten
liegen an der Lehrer-Schueler-Buchse an.

Welche Vorteile bringt das "drahtlose" Interface?

Blackbird

von Qwerty (Gast)


Lesenswert?

Was meinst du mit "drahtlos"?

- FMS kann direkt am COM-Port einlesen, ja, aber nicht unter WinXP und
nur mit einer Hand voll Bauteilen (Transistor, paar Widerstände)

- Das uC-Interface ist etwas komplizierter aufgebaut, funktioniert aber
zuverlässig unter allen Windows-Varianten (und bei CRRCsim auch unter
Linux).

- Die Audio-Line-In-Variante bei CRRCsim benötigt maximal zwei externe
Bauteile (Widerstände) und funktioniert zuverlässig unter Windows,
Linux und MacOS.

Drahtlos geht übrigens auch... Es gibt Empfänger (z.B. von Graupner),
die auf dem dritten Pin der Batteriebuchse den vollständigen
empfangenen PPM-Stream zu Diagnosezwecken ausgeben. So kann man auch
Sender ohne LS-Buchse verwenden, oder hat bei großen Sim-Events
(Fliegen über Beamer) mehr Bewegungsfreiheit. Nachteil ist dann
natürlich, dass der Sender HF abgibt (Störungen, Akkuverbrauch).

von jasmin (Gast)


Lesenswert?

Hallo Leute,

habe inzwischen mit bascom einen fms converter gebaut.
ist völlig problemlos machbar.
läuft auf einem atmega 8.
habe auch eine analyse des ppm signals realisiert.
Prinzip:
freilaufender timer 1 mit ausreichender auflösung.
Signal an interrupteingang und dann "stumpf" den timer zählen,
fertig.
ausgabe auf lcd.
Mit ein bischen mühe und zeit kann man schon einen deluxe ppm
analysator bauen.
da wäre man wohl der könig bei den modellbauern.

jasmin

von Qwerty (Gast)


Lesenswert?

> da wäre man wohl der könig bei den modellbauern.

Hmm, ob es wirklich viele Modellbauer interssiert, wie der PPM-Stream
ihrer Funke jetzt genau aussieht?

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.