mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM Signal erzeugen


Autor: Alte_Wachtl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich möchte ein PWM Signal erzeugen. Dabei soll es so sein, daß ich 
verschiedene Puls/Pausenverhältnisse machen möchte, also auf Knopfdruck 
verschiedene Stufen erzeugen möchte.

Meine Periodendauer des PWM-Signals beträgt 2ms

Ich habe mir das jetzt so gedacht:

Mein CPU ist mit 20MHz getaktet. Das führt zu einer Periodendauer von 
50ns.

Mein Timer hat einen Prescaler von Fcpu/8 (Resolution 0.400 us)

Das bedeutet doch jetzt, daß der Timer alle 0.400 us zeinen Zählerstand 
um 1 erhöht.

Da mein Signal 2ms lang sein soll, rechne ich also 2ms/0.400us = 5000.

Nach 5000 Takten also hätte ich 2ms zusammen.

5000 entspricht 0x1388 in Hexadezimaler Darstellung.

Also würde ich doch meinen Timer mit 0x1388 reloaden.

Der Timer würde also zum Zeitpunkt 0 hochlaufen mit 0x1388 und dann 
wieder bei 0 beginnen und immer beim Überlauf einen Interrupt machen.

Wenn ich nun sage er soll mit 1/10 den Motor fahren würde er im Timer 
schauen welchen wert er gerade hat, würde den für die Pausenzeit nötigen 
Wert hinzuaddieren und wenn er diesen WErt erreicht hat das Signal vom 
Ausgang nehmen, anschließend für den Rest bis 2 ms den Ausgang auf 0 
halten.

Da ich sowas noch nie gemacht habe wäre es nett wenn mir jemand sagen 
könnte, ob meine Überlegung mit dem Timer so zutreffend ist, oder ob das 
Quatsch ist.

Danke
Wachtl

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Welcher Controller?

MfG Spess

Autor: Alte_Wachtl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es handelt sich um einen C164CI

Gruß
Wachtl

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.