Verbesserungsideen zu PWM Sinus

Gast #1289241
Lesenswert?
• ▲
▼
Hi,

vorab, ja ich hab die Suchfunktion bemüht und nichts zu meinem Problem 
gefunden.
Ich bin grade dabei einen variablen Sinusgenerator auf PWM-Basis zu 
basteln, das Ding läuft auch eigentlich wie es soll, nur hab ich das 
Gefühl programmiertechnisch bin ich grottig schlecht und es geht 
eleganter.

Also verbesserungs Vorschläge sind erwünscht.

Achja, es geht hier nicht um eine andere Lösung an sich.
Mir ist schon klar das es mit Rechtecksignal und Schwingkreis einfacher 
geht.
Angehängte Dateien:
Gast #1289661
Lesenswert?
• ▲
▼
Viele Fehler von dem oben zietierten Beitrag sind da aber schon drin. Es 
lohnt sich also noch mal da nachzulesen, damit man hardware PWM benutzt.

Für einen Sinus variabler Frequenz bietet sich dann noch die DDS methode 
an. Ist nicht viel komplizierter als immer die feste Tabelle 
abzuarbeiten, aber man hat eine bessere Auflösung (z.B. 32 Bit) und 
kommt zu höheren Frequenzen.

Die Ausgabefrequnz ist an die PWM Frequenz gebunden. Bei 16 MHz Takt und 
8 bit PWM also 62,5 kHz. Damit sollte man bei geeigentem Filter hinter 
dem PWM Ausgang bis etwa 10 kHz Sinusfrequenz kommen.
Gast #1289682
Lesenswert?
• ▲
▼
OMG, ich Volldepp.

Danke, DDS war das Zauberwort.
Ich habe krampfhaft versucht den Tabellen Index IN der ISR zu berechnen, 
bin damit natürlich gescheitert und kam dann so auf das gemurkse hier. 
Aber wenn man natürlich nur einmal die Verschiebung berechnen muss, 
passt die Addition auch prima in die ISR.

Danke fürs Augenaufmachen.

Antwort schreiben

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.

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.