Krug Arduino PWM generatora signala

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom postu detaljno proučavamo kako izraditi sklop generatora PWM signala zasnovan na Arduinu, koji se potenciometrom ili loncem može postaviti ili prilagoditi bilo kojem željenom omjeru radnog ciklusa.

PoAnkit Negi



ŠTO JE PWM?

pwm ili modulacija širine impulsa kako i samo ime sugerira modulacija širine impulsa, tj. koliko je impuls visok ili nizak u određenom vremenskom razdoblju. To mijenja radni ciklus impulsa koji na kraju određuje prosječnu vrijednost pulsa jer je radni ciklus na vremenu podijeljen s ukupnim vremenskim razdobljem.

A frekvencija igra vrlo važnu ulogu u pwm-u, koji mora biti dovoljno visok da generira stabilan izlaz



Pwm se radi u razne svrhe, poput upravljanja uređajem koji radi na niskom naponu, ili u svrhu prebacivanja kao u SMPS-u.

PWM KORIŠTENJE ARDUINO UNO

Pwm je također jedan od čimbenika koji čine arduino najjednostavnijom razvojnom pločom, jer se pwm može učiniti dodavanjem samo jednog retka u vaš program. Imajte na umu da na arduino UNO postoje zasebni digitalni pinovi za pwm, što znači da ovi pinovi mogu dati pwm izlaz.

Na arduino UNO dostupno je ukupno 6 pwm pinova koji su 3, 5, 6,9,10 i11 od 14 digitalnih pinova. Imajte na umu da se broj pwm pinova razlikuje od jedne do druge vrste arduino ploča.

Sada postoje dva načina na koje arduino može izvesti pwm:

1. Izravnim dodjeljivanjem analogne vrijednosti pwm pinu između 0 i 255.

Budući da digitalni pinovi u arduinu mogu pružiti najviše 5v, to znači da je 0 analognih vrijednosti jednako 0 volti, a 255 ekvivalentno 5 volta.

Da biste to izveli, jednostavno dodajte ovaj kod u svoj program:

analogWrite (PWM pin broj, vrijednost između 0 i 255)

Na primjer: analogWrite (10,64) // upišite 64 analogne vrijednosti u pwm pin broj 10.

Sada to znači :: (5/255) * 64 volti = 1,25 volti, tj. 25% radnog ciklusa.

2. Dodjeljivanjem vrijednosti prema ulazu primljenom od analognih pinova arduina.
Ulaz se može uzimati iz komponenata poput IR senzora ili potenciometra.

Imajte na umu da arduino prima analogni ulaz u vrijednosti između 0 i 1023 što je ekvivalentno 0 do 5 volti. Dakle, da biste izveli pwm na pinu, morate pretvoriti ovu ulaznu vrijednost u ekvivalenciji u broj između 0 i 255, a to se na jeziku arduina naziva mapiranje.

Za to postoji jednostavan kod:

y = mapa (x, 0,1023: 0,255) // gdje je x ulazna varijabla

Nakon toga možete izvesti pwm na pribadači pomoću:

analogWrite (PWM pin broj, y) // primite mapiranu vrijednost upišite u pin 10

PRIMJER PWM:

Na ovom ćemo primjeru naučiti obje tehnike. Za ovo vam je potrebno:

1. Potenciometar
2. Dva LED-a
3. Dva otpora od 100 ohma

Uspostavite veze kako je prikazano na shemi spojeva:

KRUŽNI DIJAGRAM:

KODIRATI:

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
}

Kako radi

Osnovni rad predloženog projekta generatora signala PWM-a Arduino može se proučiti iz sljedećeg odlomka

Pin-u br. 9 može se dodijeliti proizvoljna vrijednost pwm-a, dok se pin. Br. 10 daje vrijednost pwm u skladu s položajem potenciometra u odnosu na masu. Nastavite mijenjati ovu proizvoljnu vrijednost za zatik 9, kao i zakrenite potenciometar da biste vidjeli različite izlaze pwm na obje pinove.




Prethodno: Upravljački krug motora velike jačine pomoću Arduina Dalje: Prekidač za daljinski upravljač s 10 kanala od 2,4 GHz