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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren