Forum: Mikrocontroller und Digitale Elektronik DA Wandlung mit PWM


von Matthias T. (matthias_199)


Lesenswert?

Hallo,

Ich will ein analoges Signal erzeugen, per PWM und Tiefpassfilterung 
erscheint mir das am einfachsten.

https://www.mikrocontroller.net/articles/Pulsweitenmodulation#DA-Wandlung_mit_PWM

meine Frage:

PWM Frequenz wird doch so berechnet Ausgangsfrequenz = 
(Quarzfrequenz/Prescale ) /(Timerauflösung*2)

in dem Artikel wurde aber das * 2 Vergessen ? oder Habe ich etwas Falsch 
verstanden ?

Weil da sieht doch die rechung so aus (1000000 ) / 256

MFG
Matthias

von Wolfgang (Gast)


Lesenswert?

Matthias T. schrieb:
> PWM Frequenz wird doch so berechnet Ausgangsfrequenz =
> (Quarzfrequenz/Prescale ) /(Timerauflösung*2)

Wie kommst du auf die "2"?

von c-hater (Gast)


Lesenswert?

Matthias T. schrieb:

> meine Frage:
>
> PWM Frequenz wird doch so berechnet Ausgangsfrequenz =
> (Quarzfrequenz/Prescale ) /(Timerauflösung*2)

Das kommt darauf an, welcher PWM-Modus welcher Timer-Hardware verwendet 
wird.

> in dem Artikel wurde aber das * 2 Vergessen ? oder Habe ich etwas Falsch
> verstanden ?

Du hast die Datenblätter nicht gelesen. Mehr noch: du weißt scheinbar 
nichtmal, welche du lesen müsstest, denn ich kann keinen Hinweis in 
deinem Posting finden, welchen Controller du verwendest, welchen von 
dessen Timer und natürlich: auch nicht welchen Modus des Timers...

von Matthias T. (matthias_199)


Lesenswert?

Wolfgang schrieb:
> Matthias T. schrieb:
>> PWM Frequenz wird doch so berechnet Ausgangsfrequenz =
>> (Quarzfrequenz/Prescale ) /(Timerauflösung*2)
>
> Wie kommst du auf die "2"?

Hing noch bei mir im hinterkopf muss ja aber nicht stimmen ...

geht in dem Fall um einen Arduino UNO sollte doch ein ATMEGA 328P sein 
...

von Matthias T. (matthias_199)


Lesenswert?

݂OCnxPWM = clk_I/O /  (prescale divider *256)

Im fast pwm den will ich nutzen :)
Ich glaub damit bin ich glücklich.

MFG
Matthias

von Manfred (Gast)


Lesenswert?

Matthias T. schrieb:
> Ich will ein analoges Signal erzeugen,
Matthias T. schrieb:
> geht in dem Fall um einen Arduino UNO

Jetzt ist noch unbekannt, wie schnell das analoge Signal wechseln soll.

> per PWM und Tiefpassfilterung erscheint mir das am einfachsten.

MCP4725 als fertiges Platinchen vom Ali um 80ct - per I2C den Wert 
senden und fertig. Ich habe keine Ahnung, wie schnell das gehen kann, 
setze den hier gerade für einen zeitunkritischen Meßaufbau ein.

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.