Hallo,

Ik probeer een PWM signaal op mijn oscilloscoop te krijgen van mijn Arduino.
Ik heb van alles geprobeerd, maar het is hopeloos.
Ik verwacht een blok signaal op mijn Siglent oscilloscoop te krijgen maar krijg 'garbage' te zien.
Ik heb een schakeling gemaakt die de PWM moet regelen met een potmeter.
Ik heb daarvoor het commando analogWrite van de Arduino gebruikt.
De input van de potmeter heb ik op A0 van de Arduino aangesloten.
De output op pin 3.
In de Serial plotter geeft de computer een mooie stijgende lijn aan als ik de potmeter naar rechts draai.
Daarvan heb ik een screenshot van bijgevoegd.
Verder heb ik een foto van de voeding bijgevoegd.
Er zit een kleine hapering in maar dat heb ik voor lief genomen omdat het klein was en ik niets anders had.
Als ik echter de Arduino inschakel krijg ik de gekste dingen te zien behalve een bloksignaal.
Ik heb op de Oscilloscoop op auto gedrukt.
Ik heb hier een foto van bijgevoegd.
Hoe krijg ik een fatsoenlijk bloksignaal?
Ik heb ook de RMS spanning met een voltmeter aan de uitgang van de Arduino gemeten.
Deze blijft gelijk ook als ik aan de potmeter draai en het signaal opvoer.
De gemeten effectieve waarde zou toch hoger moeten zijn als je het signaal opvoert?

Verder heb ik de programmatuur bijgevoegd.

Kijk goed naar de code van de voorbeelden. In setup() moet je toevoegen:

pinMode(analogOutPin, OUTPUT);  // sets the pin as output

Omdat de Arduino bij het opstarten de A-pinnen als analoge ingangen configureert, hoef je voor de potmeter niet zo'n regel toe te voegen.

De 'auto' functie op de scope levert hier vooral verwarring op, want het signaal is de hele tijd logisch laag. Je zit nu naar digitale dender (groundbounce of iets dergelijks) te kijken. Zoom uit naar 1V/div en 1 ms/div want op die schaal verwacht je 3.3 of 5v amplitude en een paar honderd hertz pwm frequentie. De exacte frequentie hangt van het model af.

Hoi,
Er zijn meerdere fouten in je code.
AnalogInPin=A0;
AnalogOutPin=9;
Bovenstaande 2 regels zijn juist, je zal dus de potentiometer aan A0 koppelen en je scoop aan pin9.
Echter, Sensorvalue en Outputvalue zijn variabelen, deze stel je meestal gelijk aan 0 om mee te gaan rekenen in de loop van je programma.Deze hebben niets te maken met wat je fysiek aansluit.
In je void setup moet je nog 2 regels schrijven om van AnalogInPin en AnalogOutPin in- en outputs te maken, zoals Kojazz aangeeft.

Je zal dus met je scoop op Pin 9 moeten meten

Hoi,

Een beetje late reactie. Maar ik dacht laat toch iets weten.
Bedankt voor jullie hulp voor zover.

Beste Kojazz en Jeffreyy,

Hartelijk dank voor jullie hulp.
Het is gelukt!
Zie bijlage. Duty Cycle mooi op 50% (49.80%).
Top!