www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Auswertung eines Pulsweitenmodulierte SIgnals


Autor: Lutz Förster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich möchte ein Pulsweitenmoduliertes Signal mit einem ATmega8
auswerten. Kann mir jemand eventuell eine kleine Anleitung (
stichpunktartig) geben, wie ich da vorgehe.
Hardware ist alles vorhanden.
kann ich das mit dem 8bit Timer lösen oder nicht...
das Signal ist maximal 10ms lang

vielen Dank Lutz

Autor: Enrico Schleske (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe sowas auch mal benötigt und es mit der Capture/Compare-Unit
gelöst. Das sah in etwa so aus:

- Timer im Capture Mode starten
- mit externen Interrupt wartet man auf pos. oder neg. Flanke und
speichert den Inhalt vom Capture-Register in eine Variable (= aktueller
Timerstand)
- beim nächsten Interrupt wieder dann aktuellen Timerstand einfangen
und in eine zweite Variable speichern
- dann diese beiden Werte subtrahieren und man erhält die Dauer an
Maschinentakten für eine Periodendauer
- nun mittels Oszillatorfreq. und ggf. Prescaler die Dauer eines
Maschinentaktes berechnen und das o.g. Ergebnis aus der Subtraktion
hiermit multiplizieren und in Variablen speichern
- jetzt kann man in einer dritten Variablen das Ergebnis in sek.
abrufen
- aber sehr ungenau - wenn das PWM schnell ändert!
- daher ist es angebracht eine Mittelwertbildung einzuführen z.B. über
Ringspeicher, dann hat man immer den aktuellsten Wert, oder ganz
stupide z.B. 10 Werte speichern dann arithm. Mittel bilden und Wert
ausgeben, auf LCD oder wo auch immer, Nachteil: es müssen immer erst
eine bestimmte Anzahl Werte gesammelt werden. Daher Vorteil beim
Ringspeicher: Wenn ein neuer Wert ankommt, fällt der erste raus und das
Mittel wird sofort gebildet, usw.

Viel Spaß beim probieren...Enrico

P.S.: Das ist natürlich nur ein Lösungsweg und vielleicht auch nicht
der eleganteste, but it works...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.