Christoph schrieb:
> Ich möchte die Signale meines Futaba Empfängers mit dem Arduino UNO R3
> auslesen und dadurch Motoren steuern. Leider habe ich im Internet noch
> nicht das Richtige gefunden.
> Ich würde mich über Codes, hilfreiche Links und Antworten sehr freuen.
Geeignete Suchbegriffe bei Google wie "arduino servo receiver" finden
Seiten wie z.B.:
http://rcarduino.blogspot.de/2012/01/how-to-read-rc-receiver-with.html
Wie dort dargestellt werden am Empfänger-Ausgang eines
Fernsteuer-Empfängers "Impulse" bestimmter Breite (Länge, Dauer)
bereitgestellt, die man mit einem Mikrocontroller auslesen kann. Eine
richtige Pulsbreitenmodulation ist das allerdings wohl nicht.
Im Endeffekt mußt Du für Deine Anlage herausfinden:
- wie lang sind die Impulse in Neutralstellung
- wie lang sind die Impulse auf Linksanschlag
- wie lang sind die Impulse auf Rechtsanschlag
Dazwischen liegt dann der gesteuerte Bereich.
Dazu kann man testweise die pulseIn()-Funktion von Arduino verwenden.
Wie in dem oben verlinkten Artikel dargestellt, ist die
pulseIn()-Funktion aber für den praktischen Einsatz zur Steuerung in
Echtzeit nicht zu empfehlen, da es sich um eine "blockierende Funktion"
handelt, bei deren Verwendung Dir viele Programmtakte für nutzloses
Warten draufgehen.
Für eine echte Steueranwendung muss dann, wenn man die genauen
Impulslängen für Linsanschlag-Neutralstellung-Rechtsanschlag kennt eine
Interruptsteuerung verwendet werden, so dass die jeweiligen Impulslängen
per Interrupt ausgewertet werden.
Und je nachdem welche Steuerhebelstellung dann am Empfänger festgestellt
wird, kannst Du Deinen Motor dann regeln.