PWM Auflösung

Hallo zusammen,

ich arbeite noch nicht sehr lange mit dem Arduino MEGA 2560 und habe so eine Frage:
Ich möchte ein PWM-Signal von 0..5V an meinem Arduino ausgeben.
Wenn ich das richtig verstanden habe, ist dies nur in 256 Schritten (0,02V) möglich. Ist es irgendwie machbar, dies genauer hinzubekommen?

Eine weitere Frage ist, wie genau die Ausgabe des Arduinos ist.
Wenn der Code zum Beispiel lautet:
writePWMVoltage(a, 'D11', 3)
Werden dann wirklich genau 3 Volt ausgeben?

Danke schonmal für die Hilfe :slight_smile:

Wenn der Code zum Beispiel lautet:
writePWMVoltage(a, 'D11', 3)
Werden dann wirklich genau 3 Volt ausgeben?

Nein.

  1. Gibt PWM nur entweder 0 oder Vcc aus. Das Tastverhältnis kannst du in 256 Schritten einstellen.

  2. Bist du relativ frei bei den nominell Vcc = 5V. Ob du den Arduino über USB versorgst, oder über den 5V Pin oder über Vin.

  3. gibt es keine Funktion writePWMVoltage

michael_x:
Das Tastverhältnis kannst du in 256 Schritten einstellen.

Mehr gehen auch wenn man die Timer per Hand programmiert. Die API richtet sich leider nach den kleineren 8 Bit Timern

Entweder direkt die PWM Register ansprechen, da geht es für einige PWM Ausgänge mehr Auflösung oder ein externes IC verwenden zB den PCA9685 mit 16 Ausgängen und Auflösung von 12 Bit (4096 Schritte)
Grüße Uwe

Hi

Oder einen DAC - dann gibt's sogar richtige Spannungswerte zwischen 0 und 5V und kein PWM-Gezappel.
Gibt's auch mit allen nur denkbaren Auflösungen, per I²C/SPI ansprechbar, für wenig Geld in 16Bit in DIP8 (Suche z.B. auf eBay nach TDA1543A ).

MfG