-         

Ergebnis 1 bis 4 von 4

Thema: PWM auswerten

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.06.2006
    Beiträge
    473

    PWM auswerten

    Anzeige

    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

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    08.04.2004
    Ort
    Regensburg
    Alter
    38
    Beiträge
    55
    Hast du den Timerüberlauf berücksichtigt? Vielleicht ist der Timer zu schnell und das PWM zu langsam ?
    Würde mir jetzt spontan einfallen.

    LG
    Martin

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.02.2005
    Ort
    eastside, L.E.
    Alter
    46
    Beiträge
    104
    Laufen noch andere Interrupt-Routinen, die könnten die Messung ausbremsen. Abhilfe wäre hier die Input-Capture-Funktion vom Timer1, wenn der noch frei sein sollte.

    Aber davon abgesehen, bei einem PWM-Signal sollte doch der Abstand zwischen zwei Low->High-Flanken immer gleich sein, interessant ist doch, wie lange das High-Signal im Verhältnis zum Low ansteht.

    greetz Rajko

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.06.2006
    Beiträge
    473
    Im Moment ist das der einzige Interrupt. Und das das am Überlauf liegt, kann ich mir nicht vorstellen. Da ich immer am selben Moment den TCNT0 = 0 setzte, müsste ja auch der Überlauf bei nicht ändernder Pulsweite immer gleich sein.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •