PWM-Signal aus Fernsteuerempfänger auslesen

OP #1189423
Lesenswert?

Hallo zusammen,

Ich möchte aus eine vorhandenen Fernsteuerung das Ausgangssignal
eines Servokanals auslesen, um dessen Pulslänge feststellen
und in einer Variablem im mc ablegen.

Dieses PWM-Servorsignal ist - wie zu erwaten - ein Rechtecksignal
mit einer der Steuerknüppel entsprechenden Pulslänge zwischen
0.9 und 2.1 ms - alle 22 ms wiederholt. 0 auf 4.8 Volt
So sehe ich es auf dem Oszi.

Allerdings nehme ich erst mal ein wesentlich langsameres Rechteck
(1sec lang und alle 3 sec wiederholt) aus dem Signalgenerator,
um die Vorgänge an den LEDs besser beobachten zu können.

Vorhanden ist eine Experimentierplatine (AVR-Ctrl) mit einem ATmega644.

Das PWM-Signal habe ich an PA0=ADC0 angeschlossen.
Der eigentliche Comparatoreingang AIN1 ist schon mit einer LED belegt.

Deshalb habe ich per Muxer auf AIN1 geschwenkt
ADMUX &= ~( (1<<MUX2) | (1<<MUX1) | (1<<MUX0) );

Das geht alles so weit. Das Problem: Eigentlich wollte ich den
IR nur bei steigender Flanke auslösen. Er löst aber momentan
sowohl bei steigender, als auch fallender Flanke aus.
Reagiert irgendwie nicht auf ACIS1 oder ACIS0

Das gilt sowohl, wenn ich auf den IR ANALOG_COMP_vect schaue,
als auch bei einer Weiterleitung in Richtung Counter1 beim
TIMER1_CAPT_vect  wie im Programmbeispiel zu sehen.

Wo könnte da der Fehler stecken?

Bernhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren