Arduino PWM signālu ģeneratora shēma

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā amatā mēs rūpīgi pētām, kā izveidot Arduino bāzes PWM signāla ģeneratora ķēdi, kuru var iestatīt vai pielāgot ar potenciometru vai pot līdz jebkuram vēlamajam darba cikla koeficientam.

AutorsAnkits Negi



KAS IR PWM?

pwm vai impulsa platuma modulācija, kā jau pats nosaukums liecina, ir impulsu platuma modulācija, t.i., cik ilgi impulss ir augsts vai zems noteiktā laika periodā. Tas maina impulsa darba ciklu, kas galu galā nosaka impulsa vidējo vērtību, jo darba cikls ir laikā dalīts ar kopējo laika periodu.

Un frekvencei ir ļoti liela nozīme pwm, kurai jābūt pietiekami augstai, lai radītu stabilu izvadi



Pwm tiek darīts dažādiem mērķiem, piemēram, vadot ierīci, kas darbojas ar zemu spriegumu, vai pārslēgšanās nolūkos, piemēram, SMPS.

PWM, IZMANTOJOT ARDUINO UNO

Pwm ir arī viens no faktoriem, kas padara arduino par vienkāršāko izstrādes paneli, jo pwm var izdarīt, pievienojot programmai tikai vienu līnijas kodu. Ņemiet vērā, ka vietnē arduino UNO ir pieejamas atsevišķas digitālās tapas pwm, kas nozīmē, ka šīs tapas var dot pwm izvadi.

Arduino UNO ir pieejamas 6 pwm adatas, kas ir 3, 5, 6,9,10 un 11 no 14 digitālajām tapām. Ņemiet vērā, ka pwm tapu skaits dažādos arduino dēļu veidos atšķiras.

Tagad ir divi veidi, kā pwm var veikt arduino:

1. Tieši piešķirot analogo vērtību pwm tapai starp 0 un 255.

Tā kā arduino digitālās tapas var nodrošināt maksimālo vērtību 5 V, tas nozīmē, ka 0 analogā vērtība ir vienāda ar 0 voltiem un 255 ir ekvivalenta 5 voltiem.

Lai to izdarītu, jums vienkārši jāpievieno šis kods savai programmai:

analogWrite (PWM tapas nr., vērtība no 0 līdz 255)

Piemēram: analogWrite (10,64) // 64 analogās vērtības ierakstīšana pwm tapā Nr. 10.

Tagad tas nozīmē :: (5/255) * 64 volti = 1,25 volti, t.i., 25% darba cikls.

2. Piešķirot vērtību atbilstoši ieejai, kas saņemta no arduino analogajām tapām.
Ieeju var iegūt no tādiem komponentiem kā IR sensors vai potenciometrs.

Ņemiet vērā, ka arduino saņem analogo ieeju vērtības izteiksmē no 0 līdz 1023, kas ir līdzvērtīga 0 līdz 5 voltiem. Tātad, lai veiktu pwm uz tapas, šī ieejas vērtība jāpārvērš ekvivalentā skaitlim no 0 līdz 255, un to sauc par kartēšanu arduino valodā.

Tam ir vienkāršs kods:

y = karte (x, 0,1023: 0,255) // kur x ir ievades mainīgais

Pēc tam jūs varat veikt pwm uz tapas, izmantojot:

analogWrite (PWM tapas nr., y) // ierakstiet saņemto kartēto vērtību 10. tapai

PWM PIEMĒRS:

Ar šo piemēru mēs apgūsim abas tehnikas. Šim nolūkam jums ir nepieciešams:

1. Potenciometrs
2. Divas gaismas
3. Divi 100 omu rezistori

Veiciet savienojumus, kā parādīts shēmā:

APKURES DIAGRAMMA:

KODS:

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
}

Kā tas strādā

Piedāvātā Arduino PWM signālu ģeneratora projekta pamatdarbu var izpētīt no šī punkta

Tapai Nr. 9 var piešķirt patvaļīgu pwm vērtību, savukārt tapai Nr. 10 norāda pwm vērtību atbilstoši potenciometra stāvoklim attiecībā pret zemi. Turpiniet mainīt šo patvaļīgo 9. kontakta vērtību, kā arī pagrieziet potenciometru, lai redzētu atšķirīgu pwm izvadi abās tapās.




Pāri: Augstas strāvas motora vadības ķēde, izmantojot Arduino Nākamais: 2,4 GHz 10 kanālu tālvadības slēdzis