PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM auswerten



The Man
07.06.2007, 16:06
Moin,

ich wollte ein eingehendes PWM Signal auswerten. Gemessen wird die Dauer zwischen zwei HIGH Pulsen.
Dazu habe ich den INT1 als Interruptquelle genommen.
In der Routine wird der TCNT0 ausgelesen, mit einer Konstanten verglichen und in größer kleiner eingeteilt. Dann wird er TCNT0 Null gesetzt.
Zu Testzwecken lasse ich mir im Moment die ausgelesenen Werte über LED´s ausgeben. Die sind alles andere als stabil.
Hat jemand eine Idee, wie ich die Pulsweite zwischen zwei HIGH´s sicher bestimmen kann?

Danke,
The Man

kalledom
07.06.2007, 16:25
Zum Beispiel Analog über einen Widerstand und Kondensator.
Die Werte sind entsprechend der PWM-Frequenz auszulegen.
Bei 100% ist der Kondensator (fast) geladen, bei 0% bleibt der Kondensator leer.
Den analogen Wert kannst Du mit einem A/D-Eingang erfassen und im Programm mit einem (variablen) digitalen Schwellen-Wert vergleichen.

shaun
07.06.2007, 16:33
"Der Mann" will aber die Periodendauer bestimmen (wozu immer er das will), das wird mit Deiner integrierenden Methode nichts. Ich muss auch gerade eine Frequenz im Bereich 10k-100MHz mit einem AVR messen, ist eigentlich nicht so das Thema. Allerdings werde ich auch klassisch messen, also Impulse pro Torzeit und nicht die Periode.

The Man
07.06.2007, 16:36
Bei mir sind in den Längen zwischen den Pulsen logische Einsen und Nullen kodiert. Zudem habe ich auf die Länge der LOW Pulse auch keinen Einfluss.
Ich könnte natürlich, auch auf Pulse pro Torzeit umproggen, nur dann sinkt meine Übertragungsrate noch unter den Keller.