Forum: Mikrocontroller und Digitale Elektronik PWM dieserart machbar mit AVR?


von Steffen DB1Ulm (Gast)


Lesenswert?

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

von Unbekannter (Gast)


Lesenswert?

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.

von Steffen DB1Ulm (Gast)


Lesenswert?

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

von Sssssss (Gast)


Lesenswert?

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

von Steffen DB1Ulm (Gast)


Lesenswert?

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...

von Unbekannter (Gast)


Lesenswert?

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.

von Steffen DB1Ulm (Gast)


Lesenswert?

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

von Rolf Magnus (Gast)


Lesenswert?

Wieso nicht? Du brauchst eine Frequenz von 64kHz. Eine 8bit-PWM bräuchte
dazu einen mit 16,384Mhz getakteten Timer. Da gibt's doch AVRs, die das
können.

von DB1ULM (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.