PPM Signal generieren

Hallo zusammen nachdem ich ein Modellbauer bin hatte ich nun endlich vor eine eigene rc sender anlage zu bauen zur verwendung kommt dazu ein HF Modul mit 2,4Ghz dieses braucht ein 8 Kanal PPM Signal. Also hatte ich jetzt vor die analgogen Eingänge zu nutzen für die potentiometer und dann ein PPM Signal erzeugen allerdings allein mit delay befehlen geht es anscheinend nicht. Hat einer von euch so etwas schon mal gemacht? Bitte um keine fertigen Programme oder Bibeoteken , ich möchte selber verstehen wie das möglich ist.

Gruß Dutta

Du willst also kein PPM Servosignal für jeden Servo sondern ein Signal für alle Kanäle der Fernsteuerung? Grüße Uwe

Genau ein PPM Signal was ich dann an ein HF Modul weiter gebe

hier ist so ein ppm Signal nur eben mit 6 kanälen und ich brauch eins mit 8 kanälen http://www.ianjohnston.com/content/images/stories/IanJ/JoystickV2/ScopePPM.jpg

Wie genau sieht das Timing dieses Signals aus? Welche Pegel versteht der Sender? Auf dem Foto sieht es so aus, als wenn einem immer gleich langen Start Impuls (Null-Pegel) ein unterschiedlich langer High-Pegel folgt. Pegel sieht nach 5V Logik aus. Kannst du das bestätigen?

Edit: so http://www.mftech.de/ppm.htm sollte das Signal also aussehen - das sollte sich doch mit millis() problemlos machen lassen

noch ein Bild:

http://www.reseau.org/arduinorc/ico/PPM_timing_diagram.jpg

Frame rate bei jedem Hersteller etwas anders. Im allgemeinen 1000ms bis 2000ms, Servomittenstellung dann bei 1500ms.

Ja das Signal von der Seite http://www.mftech.de/ppm.htm ich habe es versucht das ich die pausen immer mit delay(0.3); einbaue und den Rest mit delay(ensprechender wert) allerdings hat dies nicht geklapptund leider kam ich noch nicht an ein Oszilloskop ran um mir anzuschauen wo ran es den ligt

hi,

hab' jetzt einfach aus interesse mal über ppm gelesen. sollten nicht die pausen verschieden lang sein?

gruß stefan

delay(0.3);

Das wird nicht funktionieren. Siehe http://arduino.cc/en/Reference/Delay

Parameters ms: the number of milliseconds to pause (unsigned long)

Verwende statt dessen: http://arduino.cc/en/Reference/DelayMicroseconds @bendh:

Frame rate bei jedem Hersteller etwas anders. Im allgemeinen 1000ms bis 2000ms, Servomittenstellung dann bei 1500ms.

Sicher das es ms (Millisekunden) sind? 2000ms sind 2 Sekunden, das wäre ziemlich langsam. Ein Frame ist bei dem von dir geposteten Bild ja maximal 20ms lang.

Entschuldigung µs

http://www.aerodesign.de/peter/2000/PCM/frame_ppm.gif http://www.aerodesign.de/peter/2000/PCM/PCM_PPM.html#Anker234605

hi,

sollten nicht die pausen verschieden lang sein?

sorry. pulsphasenmodulation, pulspausenmodulation, Ihr macht es Euch nicht leicht...

gruß stefan

PulsPausenModulation nicht PulsPhasenModulation (was gleich abgekürzt wird). Grüße Uwe

Also gesteuert wird indem man nur die HIGH fase verlängert oder verkürtz (von 0,7ms bis 1,7ms) und es kommt dann immer eine pause von 0,3ms dahinter

JUHU habe es gerade mit dem delayMicroseconds versucht und es geht alles wie gedacht vielen vielen dank =) echt tolle Hilfe DANKE