2-labaratoriya ishi mikro kontrollerlar yordamida keng impulsli modulyatsiya hosil qilish ishdan maqsad


Download 320.34 Kb.
Sana23.03.2023
Hajmi320.34 Kb.
#1288811
Bog'liq
2-labaratoriya ishi mikro kontrollerlar yordamida keng impulsli


2-labaratoriya ishi
MIKRO KONTROLLERLAR YORDAMIDA KENG IMPULSLI MODULYATSIYA HOSIL QILISH
Ishdan maqsad:
Arduino Mikrokontrollerlari yordamida keng impulsli modulyatsiya hosil qilish ni o`rganish
Nazariy qism:
Impuls kengligi modulyatsiyasi (PWM) - doimiy amplituda va impuls chastotasida impulslarning ish aylanishini o'zgartirish orqali yukdagi quvvatni nazorat qilish usuli.
Impuls kengligi modulyatsiyasini qo'llashning ikkita asosiy yo'nalishi mavjud:
1. Ikkilamchi quvvat manbalarida turli quvvat regulyatorlari, yorug'lik manbalarining yorqinligi regulyatorlari, kollektor motorlarining aylanish tezligi va boshqalar. Bunday hollarda PWM dan foydalanish tizimning samaradorligini sezilarli darajada oshirishi va uni amalga oshirishni soddalashtirishi mumkin.
2. Mikrokontrollerning raqamli chiqishi yordamida analog signalni qabul qilish. Raqamli-analogli konvertorning bir turi (DAC). Amalga oshirish juda oson, minimal tashqi komponentlarni talab qiladi. Ko'pincha bitta RC zanjiri etarli.
PWM yordamida tartibga solish printsipi signalning doimiy amplitudasi va chastotasida impulslarning kengligini o'zgartirishdir.
D iagrammada siz PWM signalining asosiy parametrlarini ko'rishingiz mumkin:

Ui - pulsning amplitudasi;


Ton – faol (yoqilgan) signal holati vaqti;
Tof - signalning o'chirilgan holati vaqti;
Tpwm - bu PWM davri vaqti.
Hatto intuitiv ravishda ham aniqki, yukdagi quvvat signalni yoqish va o'chirish vaqtining nisbati bilan mutanosibdir.
Ushbu nisbat PWM ning ish aylanishini aniqlaydi:
Kw = Ton / Tpwm.
Bu signalning qancha davr ekanligini ko'rsatadi.
O'zgarishi mumkin:
0 dan - signal har doim o'chirilgan;
1 gacha - signal har doim yoqilgan.
Eng ko'p ishlatiladigan foiz to'ldirish omili. Bunday holda, u 0 dan 100% gacha.
Yukdagi elektr quvvatining o'rtacha qiymati qat'iy proportsionaldir

to'ldirish omili. Ular PWM, masalan, 20%, deb aytishganda, ular aynan ish aylanishini anglatadi.


ATmega168/328 mikrokontrollerlari asosidagi Arduino platalarida 6 ta apparat puls kengligi modulyatorlari mavjud. PWM signallari pinlarda yaratilishi mumkin
3, 5, 6, 9, 10, 11. Men bu haqda yuqorida yozganman.
Uskuna PWM nazorati tizim funktsiyasi yordamida amalga oshiriladi
analogWrite().

void analogWrite(pin, val);


Funktsiya chiqishni PWM rejimiga qo'yadi va uning ish aylanishini o'rnatadi. PINni chiqish rejimiga o'rnatish uchun analogWrite() dan foydalanishdan oldin pinMode() funksiyasini chaqirish shart emas.
Argumentlar:
pin - PWM signalini yaratish uchun pin raqami.
val - bu PWM ish aylanishi. Qo'shimcha sozlamalarsiz, val 0 dan 255 gacha va 0 dan 100% gacha bo'lgan ish aylanishiga to'g'ri keladi. Bular. Arduino-da PWM tizimining bit chuqurligi 8 bit.
analogWrite(9, 25); // PWM 9 pinida = 10%

Endi, ushbu bilimlardan foydalanib, biz oxirgi dasturimizni biroz o'zgartiramiz, shunda tugma bosilganda LED yorqinroq va yorqinroq yonishni boshlaydi. "Va u qachon bo'ladi


maksimal darajada yonish, nima bo'ladi?". Yaxshi savol va bir xil darajada yaxshi javob: qachon
LED maksimal darajaga etadi (va bu 255 gacha bo'lgan 51 gradatsiyaning har biri 5 marta bosish. Nima uchun? Bu raqamlar juda yaxshi va bir-biriga bo'linadigan qoldiqlarsiz, shuning uchun biz uchun to'g'ri) biz faqat uning oxirgisini olamiz va qayta o'rnatamiz. qiymat 0 ga qaytariladi va keyin biz ayovsiz doiraga ega bo'lamiz.
int switchPin = 12;

int diode = 11;


boolean lastB = LOW;
boolean currentB = LOW;

int diodelevel = 0;


void setup()

{
pinMode(switchPin, INPUT);
pinMode(diode, OUTPUT);
}

boolean debounce(boolean last)

{
boolean current = digitalRead(switchPin);
if (last != current)
{
delay(5);
current = digitalRead(switchPin);
}
return current;

}

void loop()



{
currentB = debounce(lastB);
if (lastB == LOW && currentB == HIGH)
{
diodelevel = diodelevel + 51;
}
lastB = currentB;
if (diodelevel > 255) diodelevel = 0;
analogWrite(diode, diodelevel);

}




Topshiriqlar.

  1. Pwm pinlari yordamida Ikkita svetadiodni biri max yorqinlik chiqarganda ikkinchisi min qiymatga erishsin.



  1. Pwm pinlari yordamida berilgan 5 ta rangli svetadiodlarni yoqinliklarini boshqaring .1- max 30 , 2- max max 50, 3- max 70 ,4 – max 90 , 5- max 120

i=10 ga

  1. 2 ta sveta diod 2ta knopka oling va pwn pinni max qiymatini 50 deb oling . agar birinchi knopka bosilsa 1- svetadiod max ga erishsin ,2- knopka bosilsa esa 2- svetadiod max ga erishsin .



  1. 2 ta sveta diod 3 ta knopka oling va pwn pinni max qiymatini 50 deb oling . agar birinchi knopka bosilsa 1- svetadiod max ga erishsin ,2- knopka bosilsa esa 2- svetadiod max ga erishsin 3 knopka bosilganda esa yoniq turgan 1-2 svtodiodlar max qiymatli svetodiodlar min ga erishsin.

  2. 1 potensiometr 2 ta sveto diod va 3ta knopka oling . potensiometr qarshiligi 300 bolganda va 1- knopka bosilganda ko`k svetodiod max yorqinlikda yonsin aks holda qizil sveto diod yonsin .

  3. 3 knopka , 1 RGB svetodiod oling. 1- knopka bosilganda svetodiod qizil yonsin, 2- knopka bosilganda svetodiod ko’k yonsin, 3- knopka bosilganda svetodiod yashil yonsin

1 )https://www.tinkercad.com/things/hGN6ClHDilJ
2) https://www.tinkercad.com/things/hGN6ClHDilJ (knopka)
Download 320.34 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling