Arduino PWM Signal Generator Circuit

Arduino PWM Signal Generator Circuit

I dette indlæg studerer vi udførligt, hvordan man laver et Arduino-baseret PWM-signalgenerator kredsløb, som kan indstilles eller justeres med et potentiometer eller en pot til ethvert foretrukket arbejdscyklusforhold.



VedAnkit Negi

HVAD ER PWM?

pwm- eller pulsbreddemodulation, som navnet i sig selv antyder, er modulering af impulsenes bredde, dvs. hvor længe impulsen er høj eller lav i en given tidsperiode. Dette ændrer pulsens driftscyklus, som til sidst bestemmer den gennemsnitlige værdi af puls, da driftscyklus er til tiden divideret med den samlede tidsperiode.





Og frekvens spiller en meget vigtig rolle i pwm, som skal være høj nok til at generere stabil output

Pwm udføres til forskellige formål som at køre en enhed, der fungerer på lav spænding eller til at skifte formål som i SMPS.



PWM BRUGER ARDUINO UNO

Pwm er også en af ​​de faktorer, der gør arduino til et enkleste udviklingskort, da pwm kan gøres ved kun at tilføje en linjekode til dit program. Bemærk, at der findes separate digitale ben på arduino UNO til pwm, hvilket betyder, at disse ben kan give pwm-output.

Der er i alt 6 pwm-ben tilgængelige på arduino UNO, der er 3, 5, 6,9,10 og 11 ud af 14 digitale ben. Bemærk, at antallet af pwm-stifter varierer fra en type arduino-kort til en anden.

Nu er der to måder, hvorpå pwm kan udføres af arduino:

1. Ved direkte tildeling af en analog værdi til pwm-stiften mellem 0 og 255.

Da digitale stifter i arduino kan levere maksimalt 5v, betyder det, at 0 analog værdi er lig med 0 volt og 255 svarer til 5 volt.

Og for at udføre dette skal du bare tilføje denne kode til dit program:

analogWrite (PWM pin nr., værdi mellem 0 og 255)

For eksempel: analogWrite (10,64) // skriv 64 analog værdi til pwm pin nr. 10.

Nu betyder det :: (5/255) * 64 volt = 1,25 volt dvs. 25% driftscyklus.

2. Ved at tildele værdi i henhold til input modtaget fra analoge ben fra arduino.
Input kan tages fra komponenter som en IR-sensor eller et potentiometer.

Bemærk, at arduino modtager analog indgang i form af værdi mellem 0 og 1023, hvilket svarer til 0 til 5 volt. Så for at udføre pwm på en pin skal du konvertere denne inputværdi i ækvivalens til tal mellem 0 og 255, og dette kaldes kortlægning på arduinos sprog.

Der er en simpel kode til dette:

y = map (x, 0,1023: 0,255) // hvor x er inputvariablen

Herefter kan du udføre pwm på en pin ved hjælp af:

analogWrite (PWM pin no, y) // skriv modtaget kortlagt værdi til pin 10

PWM EKSEMPEL:

Vi vil lære både teknikken med dette eksempel. Til dette har du brug for:

1. Et potentiometer
2. To lysdioder
3. To 100 ohm modstande

Foretag forbindelser som vist i kredsløbsdiagrammet:

KREDSLØBSDIAGRAM:

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 virker

Grundarbejdet i det foreslåede Arduino PWM-signalgeneratorprojekt kan studeres fra det følgende afsnit

Pin nr. 9 kan tildeles vilkårlig pwm-værdi, mens pin-nr. 10 giver pwm-værdi i overensstemmelse med potentiometerets position i forhold til jorden. Fortsæt med at ændre denne vilkårlige værdi for pin 9 samt drej potentiometeret for at se forskellige pwm-output på begge ben.




Forrige: Motorstrømskreds med høj strøm ved hjælp af Arduino Næste: 2,4 GHz 10-kanals fjernbetjeningskontakt