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
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.
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
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
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...
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.