Forum: Mikrocontroller und Digitale Elektronik 2.4Ghz Empfänger auslesen


von Remo (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Ich stecke einfach immer noch mit dem einlesen von 4 RC Kanälen fest.

Mein Projekt soll 4 Servokanäle einlesen können. Danach werden 2 Kanäle 
je nach Wert je ein Servo auslösen.
Die anderen beiden Kanäle werden zur steuerung zweier 
Beleuchtungsausgänge benötigt.

Nun soll dies aber Empfängerunabhängig sein.
Als ich mein neuer 14-Kanal Empfänger genauer untersucht habe, habe ich 
bemerkt, dass dieser die Kanäle 7, 8 und 9 Zeitgleich ausgibt.
Das selbe ist mit den Kanälen 10, 11 und 12.
Da ich mich aber nicht festlegen will, welchen Kanal dafür benötigt 
wird, weiss ich nicht genau wie ich vorgehen soll.
Zumal kann es auch vorkommen, dass diese Elektronik an einem Empfänger 
angeschlossen wird, welcher die Kanäle nacheinander ausgibt.

Irgendwie muss das ja möglich sein, denn die diversen Regel- oder 
Flybarlesselektronik z.B. bei einem Modellhubschrauber sind ja auch 
Epfängertyp unabhängig.

Hat da wer einen rat?

freundliche Grüsse

Remo

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Mal so zum Anfang:
Die 4 Eingänge legst Du auf PortB.7 bis PortB.4, da gibt es (seit jeher) 
einen Interrupt-on-Change !
Die CPU würde ich mit 8MHz betreiben (intern reicht völlig!)
Ein 16-Bit-Timer läuft mit Fosc/4 immer rundum.
Den Interrupt aktivierst Du und programmierst in der INT-Routine:
Jeden Eingang mit einer Schattenkopie des Eingangs vom letzten INT 
vergleichen.
Wer sich geändert hat:
Bei steigender Flanke: den Stand des Timers abspeichern.
Bei fallender Flanke: den gespeicherten Timerstand von dem aktuellen 
Timerstand subtrahieren (Achtung, durch 16-Bit-Arithmetik ist der 
Timerüberlauf egal) und für den Kanal abspeichern.
Schattenkopie aller 4 Eingänge abspeichern,
INT löschen...

In der Hauptroutine kann man dann die Timerlängen abfragen und 
entsprechend ausgeben.

Es kann zu leichten Ungenauigkeiten kommen, weil die Eingänge nur 
nacheinander abgearbeitet werden können, aber bei der Auflösung ist das 
eher unbedeutend.

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.