Sinus mit AVR erzeugen

Gast #339682
Hallo,

ich brauche mal ein paar Tips von der AVR-Fraktion:

Kann man mit einem Atmega 16 einen sauberen Sinus von 120kHz direkt
erzeugen?

Kann man mit eienm Atmega 16 zwischen den Frequenzen 120kHz und 130 kHz
ohne Unterbrechung hin- und herschalten (Wechsel in der Nullstelle) und
das in einem Takt von 1kHz?
#339683
Wie "sauber" soll es denn werden? Du kannst z.B. 8 Ausgänge über eine
Widerstandskaskade als DA-Wandler zusammenschalten. Ich bin kein
Assembler-Freak, aber ich denke, Minimum 4 Take braucht man für eine
Schleife, die Werte aus einer Tabelle auf den Port ausgibt. Noch die
Abfrage des Wechsels zwischen den Frequenzen, dann bist du sicher bei
6-7 Takten pro Durchlauf. Gehen wir mal von 16 MHz Takt aus, dann
bleiben vielleicht 3MSamples/s Ausgabe - vermutlich weniger. Da sind
dann schon einige Zacken im Sinussignal drin. Allerdings könnte man die
Kurve über einen Tiefpass wieder etwas abrunden - aber ein sauberer
Sinus wird es dadurch natürlich nicht. Die Frage bleibt also: Wie genau
soll das Sinussignal sein?
Gast #339684
Statt Widerstandsdekade gleich PWM nehmen, Sinustabelle mehreren Werten
erstellen und darein PWM-Werte von 0 bis Pi/2 schreiben, diese Tabelle
einmal hoch, einmal runter, dann wieder hoch und runter mit
gewechseltem Vorzeichen "durchfahren"->eine Sinusperiode. PWM-Ausgang
mit Tiefpass glätten.
Je nachdem wie schnell man die Tabelle durchgeht ist dementsprechend
auch die Frequenz. Wechsel der Frequenz nach dem 4. Mal durchfahren(im
Nulldurchgang nach 2xPi).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 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.