PWM dieserart machbar mit AVR?

Gast #217298
Hallo,

ich sitze gerade an der Planung einer Schaltung, in dieser soll uA eine
einer mathematischen Funtion abgeleitete Spannungsform erzeugt werden.

Meine Bisherigen Schritte waren die Übertragung der Funtion in eine
Wetretabelle, mit 255 Werten zwischen 0 und 255.
Die in diesem Bereich abgelgte Signalform soll ich in einer
Enlosschleife wiederholen. Ein "Durchlauf" von 0 bis 255 soll genau
4ms dauern.

Sehe ich es richtig, das ich  also alle  4ms / 255 = ca 25usec mittels
eines Interupts einen neuen Wert aus meiner Tabelle ins PWM Regsiter
schaffen müsste.

An diesem Punt kommen mir Zweifel, entweder hab ich einen Denkfehler
oder das funtioniert mit einem AVR dann doch nicht.

Ich hab schon ab und an mit PWM Kleinigkeiten gemacht, aber das war
irgendwie immer was anderes :)

Über antworten würde ic mich freuen,

steffen
Gast #217299
Also,

Du musst die 4 ms durch 256 teilen, die "0" zählt mit. Und bei mir
gibt 4 ms / 256 = 15,69 us.

Und die PWM musst Du eben im "High-Speed-Mode", oder wie das beim AVR
heisst, betreiben. Die Frequenz der PWM sollte deutlich höher sein als
die der Abtastung:

Wiederholfreqeunz: 4 ms <--> 250 Hz

Abtastfrequenz: 250 Hz * 256 = 64 kHz.

PWM-Frequenz: 64 kHz * 10 = 640 kHz.

Müsste mit einem entsprechendem AVR funktionieren. Je höher die
PWM-Frequenz gewählt werden kann, desto geringer sind die Anforderungen
an das Filter am PWM-Ausgang. Ein simples RC-Filter macht ja nur 6 dB
pro Oktave, also wäre ein LC-Filter mit 12 dB pro Okatave angebracht,
da die Induktivitäten bei diesen Frequenzen ja sowieso schön klein
bleiben können.
Gast #217300
okay, dann werd ich mich mal durch die Atmel HP schmöckern, was ich noch
vergessen hatte:

es sollen 4 Signale parallel ausgegeben werden.

Vllt wäre dann doch ein externer DA Wandler die bessere Lösung
Gast #217301
Oder du nimmst einfach einen Port mit einem R Netzwerk dran
und baust dir selber einen DA ;)
Kannst dann ja 4 Ports nehmen. Musst nur nen Mega mit genug pins nehmen
Gast #217302
Ja, im Moment habe ich es so, ein paar Eproms mit r2r wandler dahinter,
aber das ist irgendwie nicht so optimal (baugröße! Verbrauch)

Ich hab bei atmel nichts gefunden was derartige PWM Frequenzen
mitmachen würde...
Gast #217303
Manche AVRs haben so eine High-Speed-PWM oder so ähnlich. Aber nicht
alle.

Ansonsten einfach die Eproms durch Ausgänge eines Mikrocontrollers
ersetzen. Dann kannst Du den Rest (analoger Teil) beibehalten.
Gast #217304
Klar das wäre eine einfach möglicheit, aber ich suche nach einer etwas
eleganteren Lösung High speed PWM reicht so wie ich das sehe aber auch
nicht

danke schonmal
Gast #217306
Ja den Timer könnte ich schon realisieren, allerdingssehe ich bei der
PWm Frequenz die jadeutlich höherliegensollte (also mehrere 100 kHz)
Probleme

Antwort schreiben

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