Arduino PWM Signal Generator Circuit

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget studerer vi grundig hvordan du lager en Arduino-basert PWM-signalgeneratorkrets, som kan stilles inn eller justeres med et potensiometer eller en pott til et hvilket som helst foretrukket driftssyklusforhold.

AvAnkit Negi



HVA ER PWM?

pwm eller pulsbreddemodulasjon som navnet i seg selv antyder, er modulering av pulsenes bredde, dvs. hvor lenge pulsen er høy eller lav i en gitt tidsperiode. Dette endrer driftssyklusen til pulsen som til slutt bestemmer gjennomsnittsverdien av pulsen ettersom driftssyklusen er i tide delt på den totale tidsperioden.

Og frekvens spiller en veldig viktig rolle i pwm, som må være høy nok til å generere stabil produksjon



Pwm gjøres for forskjellige formål, for eksempel å kjøre en enhet som fungerer på lavspenning eller for å bytte formål som i SMPS.

PWM BRUKER ARDUINO UNO

Pwm er også en av faktorene som gjør arduino til et enkleste utviklingskort, ettersom pwm kan gjøres ved å legge til bare en linjekode i programmet ditt. Merk at det er separate digitale pinner tilgjengelig på arduino UNO for pwm, noe som betyr at disse pinnene kan gi pwm-utgang.

Det er totalt 6 pwm-pinner tilgjengelig på arduino UNO som er 3, 5, 6,9,10 and11 av 14 digitale pinner. Merk at antall pwm-pinner varierer fra en type arduino-kort til en annen.

Nå er det to måter pwm kan utføres av arduino:

1. Ved å tilordne en analog verdi direkte til pwm-stiften mellom 0 og 255.

Siden digitale pinner i arduino kan gi maksimalt 5v, betyr det at 0 analog verdi er lik 0 volt og 255 tilsvarer 5 volt.

Og for å utføre dette må du bare legge til denne koden i programmet ditt:

analogWrite (PWM-stift nr., verdi mellom 0 og 255)

For eksempel: analogWrite (10,64) // skriv 64 analog verdi til pwm pin 10.

Nå betyr dette :: (5/255) * 64 volt = 1,25 volt, dvs. 25% driftssyklus.

2. Ved å tilordne verdi i henhold til inngangen mottatt fra analoge pinner av arduino.
Inngang kan hentes fra komponenter som en IR-sensor eller et potensiometer.

Merk at arduino mottar analog inngang i form av verdi mellom 0 og 1023, som tilsvarer 0 til 5 volt. Så for å utføre pwm på en pin må du konvertere denne inngangsverdien i ekvivalens til tallet mellom 0 og 255, og dette kalles kartlegging på arduinos språk.

Det er en enkel kode for dette:

y = kart (x, 0,1023: 0,255) // der x er inngangsvariabelen

Etter dette kan du utføre pwm på en pin ved hjelp av:

analogWrite (PWM pin no, y) // skriv mottatt kartlagt verdi til pin 10

PWM-EKSEMPEL:

Vi skal lære begge teknikkene med dette eksemplet. For dette trenger du:

1. Et potensiometer
2. To lysdioder
3. To 100 ohm motstander

Opprett tilkoblinger som vist i kretsskjemaet:

KRETSDIAGRAM:

KODE:

int x// initialise variables
int y
void setup() {
pinMode(10,OUTPUT)//initialise pin 10 as output
pinMode(9,OUTPUT)//initialise pin 9 as output
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
// put your setup code here, to run once:
}
void loop() {
analogWrite(9,125)// directly assigning value to pin 9 i.e. case1
x=analogRead(A0)// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255)// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y)// assigning value based on input from pot at pin A0 i.e. case 2
}

Hvordan det fungerer

Grunnleggende arbeid i det foreslåtte Arduino PWM-signalgeneratorprosjektet kan studeres fra følgende avsnitt

Pin nr. 9 kan tildeles vilkårlig pwm-verdi, mens pin nr. 10 gir pwm-verdi i samsvar med posisjonen til potensiometeret i forhold til bakken. Fortsett å endre denne vilkårlige verdien for pin 9, samt roter potensiometeret for å se forskjellige pwm-utganger på begge pinnene.




Forrige: Motorstrømkrets med høy strøm ved bruk av Arduino Neste: 2,4 GHz 10-kanals fjernkontrollbryter