mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sinus erzeugen mit Timer - +5V bis -5V


Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich will ohne externe Beschaltung zum Ansteuern eines kleinen 
Schrittmotors zwei Sinus-Verläufe mit einem Timer und möglichst hoher 
PWM-Frequenz erzeugen. Als Referenzpunkt nehme ich einen Portipn. In der 
oberen Halbwelle ist dieser Pin auf Masse, die PWM arbeitet normal. In 
der unteren Halbwelle ist der PIN auf +5V (high), die PWM müsste jetzt 
invertiert laufen. Also entweder mit COMxA0 auf 1 oder mit Werten in der 
Form 255, 215, ..., 0, 215, 255.

Knackpunkt ist der Wechsel von oberer auf untere Halbwelle (oder 
andersrum). Da die Frequenz des Sinus von einem anderen Interrupt 
gesteuert wird wird der Wert des OCRx-Registers bzw. des COMxA0 Flags 
nicht synchron übernommen sondern erst beim nächsten TxOVF oder 
Compare-Match. Da ich aber in dem Interrupt den Portpin schon ändern 
muss habe ich beim Umschalten immer irgendwelche ungewünschten Impulse 
in meinem Sinus! Die der PWM-Timer ohne Vorteiler läuft möchte ich es 
eigentlich vermeiden extra dessen Interrupt nutzen. Der ganze Quatsch 
wäre schon längst erledigt wenn das COMxA0 Flag SOFORT ausgewertet würde 
bzw. wenn das Force Output Compare auch im PWM-Modus funktionieren 
würde...

Grüße
Robert

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.