Amaliy ishi mikro kontrollerlar yordamida keng impulsli modulyatsiya hosil qilish ishdan maqsad


Download 325.03 Kb.
bet1/2
Sana04.09.2023
Hajmi325.03 Kb.
#1672656
  1   2
Bog'liq
amaliy ish


Amaliy 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 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 impuls kengligi modulyatorlari mavjud. PWM signallari quydagi pinlarda yaratilishi mumkin
3, 5, 6, 9, 10, 11.
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);

}



Download 325.03 Kb.

Do'stlaringiz bilan baham:
  1   2




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