Arduino PWM-signaalgeneratorcircuit

Probeer Ons Instrument Voor Het Oplossen Van Problemen





In deze post bestuderen we uitgebreid hoe je een op Arduino gebaseerd PWM-signaalgeneratorcircuit kunt maken, dat kan worden ingesteld of aangepast met een potentiometer of een pot naar elke gewenste duty-cycle-verhouding.

DoorAnkit Negi



WAT IS PWM?

pwm of pulsbreedtemodulatie zoals de naam zelf suggereert, is modulatie van de breedte van de pulsen, d.w.z. hoe lang de puls hoog of laag is in een bepaalde tijdsperiode. Dit verandert de duty-cycle van de puls die uiteindelijk de gemiddelde waarde van de puls bepaalt, aangezien de duty-cycle op tijd gedeeld door de totale tijdsperiode is.

En frequentie speelt een zeer belangrijke rol bij pwm, die hoog genoeg moet zijn om een ​​stabiele output te genereren



Pwm wordt voor verschillende doeleinden gedaan, zoals het besturen van een apparaat dat op laagspanning werkt of voor schakeldoeleinden zoals in SMPS.

PWM MET ARDUINO UNO

Pwm is ook een van de factoren die van arduino een eenvoudigste ontwikkelbord maken, aangezien pwm kan worden gedaan door slechts één regelcode aan uw programma toe te voegen. Merk op dat er aparte digitale pinnen beschikbaar zijn op arduino UNO voor pwm, wat betekent dat deze pinnen pwm-uitvoer kunnen geven.

Er zijn in totaal 6 pwm-pinnen beschikbaar op de Arduino UNO die 3, 5, 6,9,10 en 11 van de 14 digitale pinnen zijn. Merk op dat het aantal pwm-pinnen varieert van het ene type arduino-bord tot het andere.

Nu zijn er twee manieren waarop pwm kan worden uitgevoerd door arduino:

1. Door direct een analoge waarde toe te wijzen aan de pwm-pin tussen 0 en 255.

Aangezien digitale pinnen in Arduino maximaal 5 V kunnen leveren, betekent dit dat 0 analoge waarde gelijk is aan 0 volt en 255 gelijk is aan 5 volt.

En om dit uit te voeren, hoeft u alleen deze code aan uw programma toe te voegen:

analogWrite (PWM-pin nr, waarde tussen 0 en 255)

Bijvoorbeeld: analogWrite (10,64) // schrijf 64 analoge waarde naar pwm-pin nr. 10.

Dit betekent nu: (5/255) * 64 volt = 1,25 volt, d.w.z. 25% inschakelduur.

2. Door waarde toe te wijzen op basis van de input ontvangen van analoge pinnen van arduino.
De input kan worden gehaald uit componenten zoals een IR-sensor of een potentiometer.

Merk op dat arduino analoge invoer ontvangt in termen van waarde tussen 0 en 1023, wat overeenkomt met 0 tot 5 volt. Dus om pwm op een pin uit te voeren, moet je deze invoerwaarde in equivalentie converteren naar een getal tussen 0 en 255 en dit wordt mapping genoemd in de taal van Arduino.

Hiervoor is een eenvoudige code:

y = map (x, 0,1023: 0,255) // waarbij x de invoervariabele is

Hierna kun je pwm uitvoeren op een pin met behulp van:

analogWrite (PWM pin no, y) // schrijf ontvangen toegewezen waarde naar pin 10

PWM VOORBEELD:

Met dit voorbeeld gaan we beide technieken leren. Hiervoor heb je nodig:

1. Een potentiometer
2. Twee leds
3. Twee weerstanden van 100 ohm

Maak de aansluitingen zoals aangegeven in het schakelschema:

SCHAKELSCHEMA:

CODE:

Hoe het werkt

De basiswerking van het voorgestelde Arduino PWM-signaalgeneratorproject kan worden bestudeerd in de volgende paragraaf

Aan pin nr. 9 kan een willekeurige pwm-waarde worden toegewezen, terwijl aan pin nr. 10 geeft pwm-waarde in overeenstemming met de positie van de potentiometer ten opzichte van aarde. Blijf deze willekeurige waarde voor pin 9 wijzigen en draai de potentiometer om verschillende pwm-uitvoer op beide pinnen te zien.




Vorige: High Current Motor Control Circuit met Arduino Volgende: 2,4 GHz 10-kanaals afstandsbedieningsschakelaar