Forum: Mikrocontroller und Digitale Elektronik IR- Protokoll analysieren


von Mainster (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich hab einige Stunden erfolglos damit zugebracht, das Infrarot- 
Protokoll (Ferngesteuerter 3- Kanal- Mini Helikopter) zu analysieren um 
es nach zu programmieren.
Anfangs war ich der Meinung, es sei so eine Art RC5- Code mit nem 
anderen Timing. Dass scheint aber nicht der Fall zu sein da die 
Übertragung eines RC5- Codes unabhängig vom Inhalt immer gleichlang ist 
(0- Bit braucht gleichlang wie 1- Bit). Bei mir ändert sich die 
Gesamtlänge des demodulierten Signals wenn ich den
Gashebel betätige!

Dass es sich um ein RC5- ähnliches biphasenkodiertes Protokoll handelt, 
erkenne ich ja daran, dass es sowohl lange high- wie auch lange low- 
Pegel gibt oder lieg
ich da falsch?

Mit dem Projekt "infrared multi-protocol decoder" von Frank Meyer bin 
ich auch nicht weiter gekommen, es ist also definitiev was HErsteller- 
Spezifisches.

Ich hatte vor, die korrekte Zeit zu ermitteln die ich zum Abtasten 
benötige, also z.B. alle 1,2ms prüfen ob high oder low anliegt. Die 
Zeiten die ich ermittelt hab, passen aber alle nur einen Teilabschnitt 
des Signals. Auch wenn ich in meinem Sample- Fenster die Flanken und 
nicht den Pegel prüfe, komm ich auf keinen grünen Zweig.

Oszi- Screenshot im Anhang, invertierter Kanal am IR- Demodulator!

Hat jemand einen Denkanstoß für mich?

von Mainster (Gast)


Angehängte Dateien:

Lesenswert?

Sorry, sehr schlechter Kontrast das Bild. Hier nochmal!

von Mainster (Gast)


Lesenswert?

Oh man, und nochmal Sorry. Ich hab gestern Abend noch gesucht ob ich was 
passendes im Forum finde.

Kann jemand meinen Post in den Thread von Phillip verschieben?
Der passt wie angegossen schähm

von sven (Gast)


Lesenswert?

Guckst Du Link am Ende dieses Thread in der Codesammlung : 
Beitrag "Silverlit Heli IR Fernsteuerung mit AVR"

von Mainster (Gast)


Lesenswert?

Interessante Seite!

Leider passt meiner Meinung nach keins von den vorgestellten 
Protokollen. Ich weiß nicht warum ich bei dem Signal nichts brauchbares 
finden kann. So trickreich sollte die ir- Übertragung ja nicht sein...

alle 130ms ein komplettes telegram mit 2 Startbits, Hauptrotor 1, 
Hauptrotor 2, Heckrotor und noch zwei- drei bits für die Korrektur- 
Taste. Achso, und natürlich noch zwei bits für den Kanal (A,B,C)

Ich klemm mich wieder hinters scop...

von User (Gast)


Lesenswert?

Ist die Anzahl der steigenden Flanken bei allen Paketen gleich? Dann 
würde ich einfach den Abstand zwischen diesen messen und mit einer 
vorgefertigten Tabelle vergleichen bzw. mit einer solchen anfertigen.

von Mainster (Gast)


Lesenswert?

Steigende Flanken sind es immer gleichviel.

Mir ist nicht klar wie du das meinst. Also die Dauer zwischen pos - pos 
Flanken messen, lange = logisch 1, kurz = logisch 0 bringts hier ja 
nicht. So hast du es aber auch nicht gemeint??!
Oder meinst du mit Tabelle erst mal raus finden welches die Nutzdaten 
sind?

von User (Gast)


Lesenswert?

Hier hast du halt 0=kurz, 1=mittellang, 2=lang.

von Mainster (Gast)


Lesenswert?

? ALso mehr sowas wie ein analoges Signal?

Also am Heli werden eben drei motoren über pwm gesteuert.
Da es ein billig- flugobjekt ist (~40 euro) gehe ich davon aus dass die 
PWMs nicht alzu hoch aufgelöst sind (muss mal messen).

Wenn ich dich richtig verstehe, würden die PWMs dann nur drei Stufen 
haben, dass kann nicht sein.

Ich steh immer noch aufnm Schlauch!!
Genau diese Sache, dass es vier unterschiedliche Pulslängen im ir- 
signal gibt, macht mich stuzig. kurz LOW lang LOW kurz HIGH lang HIGH

von Mainster (Gast)


Lesenswert?

ok, langsam kann ich ein Muster erkennen.

Wenn ich das "startbit" nicht mitzähle, hab ich genau 16 abschnitte (16 
mal fallende - fallende flanke)
Jeder dieser abschnitte kann 4 Werte annehmen
(kurz-kurz | kurz-lang | lang-kurz | lang-lang).

Ok, ich glaub damit kann ich was anfangen, nächstes Jahr :-))

Vielen dank schonmal für die Hilfe.
Ich Berichte dann über erfolg oder misserfolg, Guten Rutsch!

von Jörg G. (joergderxte)


Lesenswert?

Kann das eine NRZ-Kodierung ( http://de.wikipedia.org/wiki/NRZ-Code ) 
sein:
1= Pegelwechsel
0= Pegel halten

hth Jörg

von Mainster (Gast)


Lesenswert?

@user: Nochmal danke!

Ich hab jetzt ne kleine routine geschrieben:

- Pulslängen (high und low) des IR- Signal in ein array einlesen, sind 
genau 32 zeiten.
- auswerten: immer ein Low- und das darauf folgende High- timing 
vergleichen:
             - LOW kurz | HIGH kurz --> 0
             - LOW kurz | HIGH lang --> 1
             - LOW lang | HIGH kurz --> 2
             - LOW lang | HIGH lang --> 3

... ergibt 16 x 4-Bit Werte...

Wenn ich im uart der 0=A, 1=B, 2=C, 3=D zuordne und an der fernbedienung 
spiel, ist klar zu erkennen welche bereiche für beschleunigung, vor- 
zurück, links- rechts sind!!!

BAB BABA BAB ACA ADA
 |   |    |   |   |___ Checksumme (verändert sich bei egal welcher 
taste)
 |   |    |   |_______ Frequenz und Korrekturtaste
 |   |    |___________ Vorwärts - Rückwärts
 |   |________________ Drehzahl Hauptrotoren
 |____________________ Links - Rechts


Ähm, es handelt sich übrigens um einen Mini- Hubschrauber der Firma
AMEWI Modell Firestorm.


@Jörg: NZR funktioniert meines erachtens auch nur wenn man feste 
samplezeiten hat. Meine Signal- länge ändert sich aber!



Thanks!

von Vox (Gast)


Lesenswert?

Hi Mainster,

ich habe das für einen Graupner Nano Star mit Infrarot Fernbedienung 
auch schon mal analysiert, eventuell kannst Du Dir vom Graupner Code 
etwas brauchbares verwenden und auf Deinen Code übertragen.

http://www.voxsoft.de/fprojekt.htm

von Max (Gast)


Lesenswert?

Hallo,
ich habe ebenfalls einen Hubschrauber der Marke AMEWI Modell Firestorm.
Bei mir sieht der Code jedoch etwas anderst aus als auf deinem Bild.
Hast du den IR Code schon erfolgreich entschlüsselt und zum laufen 
bekommen?
Gruß Max

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.