mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fragen zu PWMs im ATmega128


Autor: Owen Senmeis (senmeis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich moechte 8 Kanaele von PWMs mit einem ATmega128 realisieren.
Ganz schnell habe ich das Handbuch vom ATmega128 gelesen, aber trotzdem 
konnte   ich keine Entscheidung treffen.

Frage 1: Koennen alle PWMs mit einem einzigen Quarz realisiert werden? 
Da ich gelesen habe, gibt es noch spezielle Oszillatoren fuer PWMs 
(TOSC) ausser Quarz.

Frage 2: Alle PWMs sollen eine Periode von 20ms (50Hz) haben. Nach der 
Formel
"fPWM = fclk_I/O/(N*256)" muss ein Quarz mit einer komischen 
Taktfrequenz eingesetzt werden, wie z.B. 13,1MHz (N = 1024). Gibt es 
Moeglichkeiten mit 16 MHz?

Gruss
Senmeis

Autor: bastel-wastel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PWM braucht keinen Quarz, aber der ATMEGA braucht einen.

Die PWM-Frequenz kannst du mit den entsprechenden Registern des ATmega 
einstellen. In deiner Formel steht das N für den entsprechenden Wert, 
den du in das Register schreiben musst.

Autor: bastel-wastel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den ATmega kannst du auch mit seinem internen Oszillator betreiben. 
Dieser ist allerdings nicht sehr genau, was die Frequenz betrifft.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 50Hz kannst Du soviele PWMs machen, wie Du willst, und zwar in 
Software. In einer Timer-gesteuerten Interrupt-Service-Routine erhöhst 
Du einen Zähler, der die entsprechende Anzahl an Variablen mit sich 
vergleicht und den betreffenden Portpin setzt (wenn kleiner) oder löscht 
(wenn gleich oder größer). Die Variablengröße entscheidet über die 
Auflösung der PWM. Um die gewünschte Frequenz zu erreichen, kann man 
einen Timer mit dem CTC-Mode betreiben und die Vorteiler entspechend 
einstellen. Das geht mit jeder geraden Quazfrequenz. Nur bei sehr 
schnellen Ausgaben bestimmter Frequenzen sind Quarze mit krummen 
Frequenzen vonnöten.

Autor: bastel-wastel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch entsprechende Link zu einem Artikel über Software-PWM:
http://www.mikrocontroller.net/articles/Soft-PWM

Autor: Owen Senmeis (senmeis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher kann man mit Software schaffen, aber ich konzentriere mich 
momentan nur auf Hardware-Realisierung. Geht es mit 16MHz für alle 8 
Kanäle?

Gruss
Senmeis

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Geht es mit 16MHz für alle 8 Kanäle?

Hat der ATmega128 überhaupt 8 PWM-Kanäle?
Wenn dem so wäre, geht es. Ich bezweifle aber, dass er diese Menge an 
PWM-Kanälen hat.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt sagt: siehe Anhang.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Sicher kann man mit Software schaffen, aber ich konzentriere mich
>momentan nur auf Hardware-Realisierung. Geht es mit 16MHz für alle 8
>Kanäle?

Damit blockierst Du Dir alle Timer und kannst das ungerade Teilen über 
den CTC-Modus nicht nutzen. Daher brauchst Du in der Tat einen Quarz, 
dessen Frequenz ein binäres Vielfaches von 50 Hz ist. Tu Dir einen 
Gefallen und mach´s in Software. Ist dann auch von der Verdrahtung 
einfacher, weil nicht quer um den Chip verstreut.

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.