Forum: Mikrocontroller und Digitale Elektronik PWM empfangen


von Robi (Gast)


Lesenswert?

Welche guten Möglichkeiten existieren, um ein PWM Signal zu empfangen?

Ich kenne derzeit die Variante, dass man bei der steigenden/fallenden
Flanke einen Interrupt generiert und in der Interrupt-Routine
eine frei laufender Timer ausgelesen wird.

Gibt es noch andere Varianten?

Gibt es vielleicht mittlerweile irgendeinen uC,
der Unterstützung für den Empfang/das Messen eines PWM-Signals
mitbringt?

von Peter II (Gast)


Lesenswert?

Robi schrieb:
> Gibt es noch andere Varianten?

mit RC-Glied glätten und dann Analog messen.

von Max H. (hartl192)


Lesenswert?

Robi schrieb:
> Gibt es noch andere Varianten?
Input Capture. Ist ähnlich wie deine Methode, das Timer Register wird 
bei der Flanke automatisch in ein anderes Kopiert.
Wenn's um Genauigkeit geht, ist diese Lösung besser als die Analoge.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Robi schrieb:
> Gibt es noch andere Varianten?

Natürlich.

Input Capture ist das hauptsächliche hardwareunterstütze Verfahren, das 
wurde schon beschreiben.

Es geht auch anders:

Wenn ein 100Hz PWM SIgnal auf 1 bis 100 Prozent erfasst werden soll, 
kann man eine Interruptfunktion an einen auf 100us programmierten Timer 
hängen, die bei aktiven Eingang die Prozentzahl incrementiert (und beim 
100ten Aufruf nach aussen überträgt und rücksetzt).

Das ist insbesondere die Lösung wenn die Flanken des Signals unsauber 
sind un prellen können, also hunderte Interrupts in kurzer Zeit absetzen 
würden.

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.