Arduino PWM jelgenerátor áramkör

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a bejegyzésben részletesen tanulmányozzuk, hogyan lehet Arduino alapú PWM jelgenerátor áramkört készíteni, amelyet egy potenciométerrel vagy egy fazékkal beállíthatunk vagy beállíthatunk bármilyen előnyös munkaciklus arányra.

ÁltalAnkit Negi



MI A PWM?

A pwm vagy az impulzusszélesség moduláció, amint maga a neve is sugallja, az impulzusok szélességének modulálása, vagyis az, hogy az impulzus mennyi ideig magas vagy alacsony egy adott időszakban. Ez megváltoztatja az impulzus munkaciklusát, amely végül meghatározza az impulzus átlagos értékét, mivel a munkaciklus az idő elosztva a teljes időtartammal.

És a frekvencia nagyon fontos szerepet játszik a pwm-ben, amelynek elég magasnak kell lennie ahhoz, hogy stabil kimenetet generáljon



A Pwm különféle célokra történik, például alacsony feszültségen működő eszköz vezetésére, vagy kapcsolási célokra, például SMPS-ben.

PWM ARDUINO UNO HASZNÁLATÁVAL

A Pwm egyike azoknak a tényezőknek, amelyek az arduino-t a legegyszerűbb fejlesztői táblává teszik, mivel a pwm úgy valósítható meg, hogy csak egy vonalkódot ad a programjához. Ne feledje, hogy az arduino UNO-n különálló digitális csapok állnak rendelkezésre a pwm számára, ami azt jelenti, hogy ezek a csapok pwm kimenetet adhatnak.

Az arduino UNO-n összesen 6 pwm tű áll rendelkezésre, amelyek 3, 5, 6,9,10 és 11 a 14 digitális tűből. Vegye figyelembe, hogy a pwm csapok száma az arduino táblák típusától függően változik.

Most kétféleképpen hajthat végre pwm-t az arduino:

1. Analóg érték közvetlen hozzárendelésével a pwm csaphoz 0 és 255 között.

Mivel az arduino-ban lévő digitális csapok legfeljebb 5 V-ot tudnak szolgáltatni, ez azt jelenti, hogy a 0 analóg értéke 0 volt, a 255 pedig 5 volt.

És ennek végrehajtásához csak hozzá kell adnia ezt a kódot a programjához:

analogWrite (PWM pólusszám, 0 és 255 közötti érték)

Például: analogWrite (10,64) // írjon 64 analóg értéket a 10. számú pwm csapra.

Ez azt jelenti, hogy :: (5/255) * 64 volt = 1,25 volt, azaz 25% -os munkaciklus.

2. Az arduino analóg csapjaitól kapott bemenetnek megfelelő érték hozzárendelésével.
A bemenet olyan komponensekből származhat, mint egy IR-érzékelő vagy egy potenciométer.

Ne feledje, hogy az arduino 0-1023 közötti értékben fogad analóg bemenetet, ami 0-5 voltnak felel meg. Tehát ahhoz, hogy pwm-et hajtson végre egy csapon, ezt a bemeneti értéket ekvivalensen kell konvertálni 0 és 255 közötti számra, és ezt az arduino nyelvén leképezésnek nevezzük.

Ehhez van egy egyszerű kód:

y = térkép (x, 0,1023: 0,255) // ahol x az input változó

Ezután pwm-et hajthat végre egy csapon az alábbiak használatával:

analogWrite (PWM pin no, y) // beérkezett leképezett értéket írjon a 10. tűre

PWM PÉLDA:

Ezzel a példával mindkét technikát megtanuljuk. Ehhez szüksége van:

1. Potenciométer
2. Két led
3. Két 100 ohmos ellenállás

Csatlakoztassa a kapcsolási rajz szerint:

KÖRDIAGRAMM:

KÓD:

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
}

Hogyan működik

A javasolt Arduino PWM jelgenerátor projekt alapvető működését a következő bekezdésből tanulmányozhatjuk

A 9. sz. Tűhöz tetszőleges pwm érték rendelhető, míg a A 10. ábra pwm értéket ad meg a potenciométer földhöz viszonyított helyzetének megfelelően. Folyamatosan változtassa meg ezt a tetszőleges értéket a 9. érintkezőnél, valamint forgassa el a potenciométert, hogy mindkét pin különböző pwm kimenetet lásson.




Előző: Nagy áramú motorvezérlő áramkör Arduino segítségével Következő: 2,4 GHz-es 10 csatornás távvezérlő kapcsoló