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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.