RC PPM Signale decodieren

Ich habe einen RC Empfänger Futaba FP-R112JE. Daran kann ich zwei Sevos anschliessen.

Von den Datenleitungen dieser beiden Servoanschlüsse würde ich gerne die Steuerinformation decodieren. Hat vielleicht jemand einen Tip wie man dies am besten anstellt ?

Hallo Megaionstorm,

ich habe nur schnell gegoogled: How to hack the PPM signal from any receiver (Futaba) with Arduino DYDRONES ist sowieso eine tolle Anlaufstelle, wenn man was mit RC und Arduino vor hat.

Gruß, Roland

@r.merk

Danke für den Hinweis !

Aber genau da liegt das Problem, es gibt auch eine ServoDecode Bibliothek für den Arduino. Die funktioniert ähnlich.

Mir geht es aber darum ein öffnen und einen direkten Eingriff in den Empfänger zu verhindern. Weshalb ich die Signale des Empfängers dort analysieren will wo ansonsten die beiden Servos angeschlossen werden.

Wenn du nur die ms der theoretischen Servostellung analysieren willst guck mal hier rein: http://arduino.cc/forum/index.php/topic,66262.0.html

Wenn du aber wie ich kein delay gebrauchen kannst musst du mit interrupts arbeiten, da häng ich im mom auch noch fest :/

Ja, es geht mir um die Abfrage der theoretischen Servostellung.

Dann kannst du easy mit PulseIn arbeiten und die ms abfragen. bei mir gehts zum Beispiel nicht, bzw. geht schon, aber bringt Nachteile mit sich, siehe im oben verlinkten Thread ;)

habe mich gerade mit dem thema beschäftigt. das multiwii projekt erledigt das problem ganz geschickt. nur das erzeugen neuer servopulse funktioniert über die micros() funktion. dabei entstehen in meinem testprojekt etwas ungenaue timings, je nach dem wieviele funktionen sich in einem zeitfenster überschneiden. hier das beispiel: http://code.google.com/p/multiwii/source/browse/tags/MultiWiiV1_7.zip

@leo2k

Das werde ich mir gerne mal etwas genauer anschauen.

Was ich vorhabe ist eigentlich folgendes.

Wenn ich die Steuerimpulse für beide Kanäle getrennt voreinander anfragen kann, dann kenne ich auch die Min- und Maxwerte beider Kanäle und die Werte der Neutralstellung.

Diese Werte mappe ich dann zu den Werten für die Steuerung für die Motortreiber.