Arduino nano, 20khz PWM, Spannung einstellen

Gast #6954494
Lesenswert?

Hey,

ich habe mit der Hilfe aus folgendem Link ein 20kHz PWM mit meinem 
Arduino nano generiert.
Beitrag "Arduino Nano - 20 kHz PWM an OC1A/OC1B"

Wenn ich dies jetzt aber mit einem Oszilloskop messe, schwankt die 
mittlere Spannung daraus sehr ungleichmäßig(zw 900mV und 1,44V). Ich 
würde aber gerne ein PWM mit 20kHz und einer resultierenden mittleren 
Spannung von 2V haben... Wie erreiche ich das?

LG
#6954501
Lesenswert?

Das sollte über das Verhältnis (Tastverhältnis) funktionieren:
https://www.mikrocontroller.net/articles/Pulsweitenmodulation#Beispiele

Kaffeetasse schrieb:
> schwankt die mittlere Spannung daraus sehr ungleichmäßig(zw 900mV und 1,44V)

Falls das wirklich so ist, dann ist deine PWM aber nicht sehr 
gleichmäßig.

Hast dir mit dem Oszi auch mal die PWM angeschaut oder nur den 
Mittelwert?
Gast #6954508
Lesenswert?

Danke schonmal für die schnelle Anwort :)

Hmm ja, mein Problem liegt auch darin, das Tastverhälnis einzustellen... 
Dass es damit zusammenhängen muss, habe ich soweit verstanden, nur wie 
kann ich das generell einstellen?

Ja, das PWM Signal ist generell sehr ungleichmäßig. Ich war mir nicht 
sicher, ob das normal ist, oder ob ich daran dann etwas ändern kann?
Gast #6954533
Lesenswert?

1
void setup() {
2
   pinMode(9, OUTPUT);
3
}
4

5
void loop() {
6

7
  TCCR1A = (1 << COM1A1) | (1 << COM1B1) | (1 << WGM11);
8

9
  TCCR1B = (1 << WGM13)  | (1 << WGM12)  | (1 << CS10);
10

11
  ICR1   = (800- 1);
12

13
  OCR1A  = (800 - 1) / 2;
14

15
}

Hier mein Code und der Screenshot. Ich habe bei dem Beispielcode oben 
(im Link in meiner Frage) nicht immer ganz verstanden, was nun zu Pin 9 
und was zu Pin 10 gehört, daher hab ich manche Sachen drin gelassen, die 
vielleicht unnötig bei mir sind...
(hoffe ich hab das Bild jetzt nicht mehrfach angehängt, in der Vorschau 
taucht es irgendwie nicht auf)
Angehängte Dateien:
Gast #6954538
Lesenswert?

Ingo L. schrieb:
> Haste dort Cycle Mean oder Mean als Messung eingestellt? Das ist n
> gravierender Unterschied. Halte doch mal n Multimeter ran. Was für ein
> Filter sitzt hinter der PWM?

Das Multimeter zeigt eine ziemlich deutliche Spannung von 2,3V an, aber 
das ist ja etwas ganz anderes als das, was das Oszilloskop anzeigt?
bis jetzt noch gar kein Filter, den will ich dann aufbauen, wollte nur 
erst mal ein klares Signal haben.

Was meinst du genau mit Cycle mean und mean?
Gast #6954540
Lesenswert?

Die Flanken stehen stabil, da "wackelt" nichts. Du kannst ja mal die 
zeitkonszante vom oszi Stauchen. Da wird wohl die betriebsspannung 
rumeiern, an der PWM scheinst, nach den Bildern nicht zu liegen. Die 
Impulse werden ja auch von der Hardware, unabhängig vom Programm 
erzeugt.
Das kommt aber alles ins setup, das nur am Rande. Willst ja nicht 
laufend deine Register neu initialisieren. Probier mal, ob's daher 
rührt.
#6954543
Lesenswert?

Kaffeetasse schrieb:
> void loop() {
>   TCCR1A = (1 << COM1A1) | (1 << COM1B1) | (1 << WGM11);
>   TCCR1B = (1 << WGM13)  | (1 << WGM12)  | (1 << CS10);
>   ICR1   = (800- 1);
>   OCR1A  = (800 - 1) / 2;
> }

Also ich würde das Timer-Setup eher nicht in der loop() immer und immer 
wieder ausführen.

Auf die schnelle mal was gefunden, kannst es ja mal überfliegen oder 
soagr bei dir mal testen.
https://wolles-elektronikkiste.de/timer-und-pwm-teil-1
Gast #6954559
Lesenswert?

Äxl schrieb:
> Die Flanken stehen stabil, da "wackelt" nichts. Du kannst ja mal
> die zeitkonszante vom oszi Stauchen. Da wird wohl die betriebsspannung
> rumeiern,

Mit einem DSO Jitter zu messen kann eine mittlere Challenge sein - 
überhaupt für jemand, der noch nicht mal sauber eine Masse anklemmem 
kann.

Euer Klaus
Gast #6954600
Lesenswert?

Okay also das Problem mit dem ungleichmäßigen PWM Wert hat sich gelöst, 
ich habe vorher gedacht, dass es nicht zwingend notwendig sei, 
zusätzlich noch gegen Masse zu ziehen, aber das scheint wohl in dem Fall 
notwendig zu sein
Gast #6954794
Lesenswert?

Ich sehe auf dem Oszilloskop Bild hölle viel Rauschen auf den HIGH und 
LOW Pegeln. Entweder hast du einen sehr schlechten Messaufbau oder die 
Schaltung hat erhebliche Mängel. Zeige mal Schaltplan und Fotos.
Gast #6954804
Lesenswert?

Stefan ⛄ F. schrieb:
> Ich sehe auf dem Oszilloskop Bild hölle viel Rauschen auf den HIGH
> und LOW Pegeln. Entweder hast du einen sehr schlechten Messaufbau oder
> die Schaltung hat erhebliche Mängel. Zeige mal Schaltplan und Fotos.

Hat er geschrieben. Er wusste nicht, dass man die masseklemme auch 
anschließen muss.

Geht's denn jetzt?
Gast #6954819
Lesenswert?

Kaffeetasse schrieb:
> Das Multimeter zeigt eine ziemlich deutliche Spannung von 2,3V an, aber
> das ist ja etwas ganz anderes als das, was das Oszilloskop anzeigt?

Das Oszilloskop kann nur mitteln, was es aufgezeichnet hat. Je nach dem, 
ob es gerade viel "high" oder viel "low" im Speicher aufgeschnappt hat, 
schwankt der Mittelwert entsprechen.
Lerne mit deinem Oszilloskop umzugehen. Traue keinen Zahlen, von denen 
du nicht verstanden hast, wie sie entstehen.
Gast #6954835
Lesenswert?

Kaffeetasse schrieb:
> pwm.jpg

p.s.
Die hast auch noch ein ziemliches Problem mit deinem Messaufbau. Aus dem 
Pin 9 kommt eigentlich ein halbwegs sauberes Digitalsignal raus und 
nicht so ein verstörtes Signal, wie auf dem Oszilloskop zu sehen ist. 
Der Low-Pegel muss im unbelasteten Zustand ziemlich genau 0V sein und 
der High-Pegel VCC.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren