8 Kanal RC-Empfänger auswerten
Hallo!
Ich möchte meinen Roboter gerne mit einem Modellbau 8 Kanal empfänger ausstatten.
Dazu habe ich, damit ich nicht für jeden Kanal einen eigenen Port brauche, mit dem Oszilloskop am Epfänger den Pin herausgesucht, an dem alle acht Kanäle anliegen, und mit meinem RNBFRA mit Int0 verbunden.
Das Signal funktioniert praktisch genauso wie das eines einzelnen Servos, über die Pulslänge, bloß dass acht Pulse kommen, und dann ein langer Puls als Ende/oder Anfang.
Ich habe schon mit dem timer1 herumexperimentiert, er misst aber nicht 8 Zeiten, die sich mit den Knüppelbewegungen der Fernsteuerung verändern, sondern misst konstante und sinnlose Zeiten.
Jetzt brauche ich eure Hilfe, da mir als Anfänger nichts mehr einfällt.
Vielen Dank im Vorraus
CountryYankey
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, ich möchte es schon so lösen. Es ist ausserdem kein pcm Empfänger, und ich habe das Signal vor dem Baustein abgegriffen, der es in die einzelnen Servosignale zerlegt.
Ich habe ein Schema des Signals angehängt.
Dieser Code sollte im Terminal ja verschiedene Längen anzeigen, also müsste sich alle acht Ausgaben das Ergebnis wiederholen, das tut es auch, aber es sind immer die selben Messwerte.
Code:
Config Timer1 = Timer , Prescale = 64
Enable Timer1
On Timer1 Ueberlauf
Enable Interrupts
Config Int0 = Falling
Enable Int0
On Int0 I1
Do
'noch nix drin
Loop
I1:
Zeit = Timer1
Timer1 = 0
Print Zeit
Return
Ueberlauf:
Print "Ueberlauf!"
Return
dann kommt sowas raus:
1020
572
650
650
890
442
649
649
und dass obwohl die einzelnen Werte bis auf den Langen annähernd gleich lang sein müssten, und auf Knüppelbewegungen nicht reagieren.