-
        

Ergebnis 1 bis 6 von 6

Thema: Mega32 und PWM

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.12.2007
    Beiträge
    180

    Mega32 und PWM

    Anzeige

    Kennt jemand ein verständliches Tutorial zum Programmieren der PWM beim Mega32? Oder kann mir wer anhand eines Beispielcodes erklären wie die PWM programmiert gehört?
    Gruß

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Die PWM gibt es beim MEGA32 nicht.

    Der ATMEGA32 hat 4 PWM's wobei die OCxxx Register der einzelnen Timer/ Counter als Vergleichswert für die PWM benutzt werden.

    Eine PWM ist mit Timer 0 möglich
    Eine PWM ist mit Timer 2 möglich
    Zwei PWM sind mit Timer 1 möglich, allerding mit den selben Einstellungen und Frequenzen.

    Die Timer 0 und 2 sind jeweils 8 Bit Timer, somit sind damit auch nur PWM's mit 8 Bit Auflösung möglich.

    Der Timer 1 kann als PWM mit 16 Bit aber auch im Fast PWM Mode auch mit 8, 9, oder 10 Bit laufen. Was natürlich eine Auswirkung auf die PWM Frequenz hat.

    Welchen der unterschiedlichen PWM Modi ( Normal, Phase Correct, Fast ) für Dich geeignet ist, müsstest Du anhand deiner gewünschten Applikation selber entscheiden. Darum ist dieses Kapitel auch so Umfangreich.

    Die komplette Dokumentation mit Grafiken und Beispielen findest Du im Datenblatt des ATMEGA 32 in der Rubrik des entsprechenden Timers.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.12.2007
    Beiträge
    180
    Nun gut die Freuquenz soll eben so niedrig wie möglich sein.
    Als Applikation hießt diese hier gedacht: http://www.roboternetz.de/phpBB2/zei...ag.php?t=40240
    Es wird zwar später mit einem NE556 gesteuert aber zum TEst ob die Lampen träge genug sind möchte ich die PWM zuerst mit dem RN-Control erzeugen und zugleich mir Programmierkenntnisse in Assembler aneignen.
    Gruß

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Wien
    Alter
    32
    Beiträge
    74
    Hallo

    Ich spiel mich auch seit ein paar Tagen mit ATMega32 und PWM herum.

    Wirklich geholfen hat mir dieses PDF:
    http://www.tschallener.net/AVR/timer0.pdf

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.12.2007
    Beiträge
    180
    Hab mir jetzt das PDF durchgelesen, und mal f berechnet. Mit 16MHz ist die niedrigste Frequenz die cih erreichen kann 30 Hz. Sofern ich richtig gerechnet habe. Kann ich, wenn ich den internen Takt verwende die PWM Frequenz niedriger machen? Welche Frequenz hat überhaupt der interne Takt?
    Gruß

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Das mit den 30 Hz hab ich jetzt nicht nachgerechnet.

    Ich würde aber mit einem Prescaler von 1024 auf eine PWM Frequenz von 0,1 bzw 0,2 Hz kommen je nachdem welchen Modus du verwendest.

    So hab ich gerechnet:

    Code:
    16.000.000(Takt)/1024(Prescaler)/65536(16Bit Zähler)/2(für rauf und Runter zählen)
    Ich meine das müsste stimmen. Ich denke mal Du hast mit 8 Bit für den Timer 0 bzw. 2 gerechnet.

Berechtigungen

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