PWM Signal erzeugen

Gast #1686711
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.