2-ma`ruza: Qurilmalarni mikrokontroller yordamida analogli (pwm) signallar bilan boshqarish texnologiyalari


Download 229.5 Kb.
Pdf ko'rish
Sana09.05.2023
Hajmi229.5 Kb.
#1449747
Bog'liq
Avtomatlashtirish masalalari bankini yaratish



2-ma`ruza: Qurilmalarni mikrokontroller yordamida analogli (PWM) signallar 
bilan boshqarish texnologiyalari.
 
Mikrokontroller yordamida chiqariluvchi analogli (PWM) boshqaruv signallari 
oddiy diskretlangan analogli signallardan farq qiladi. Chunki, oddiy analogli signallar 
o`zining chastotasi va amplitudasi bilan aniqlanadi. Elektr signallari uchun amplituda 
asosan kuchlanishga mos keladi. Arduino Nano mikrokontrollerlar esa o`z pinlaridan 
faqat o`zgarmas (odatda 5 volt) kuchlanishli signallar chiqaradi. Ulardan analogli 
signallar sifatida foydalanish uchun signalni yuborish vaqti (puls kengligi) 
boshqariladi. Buning uchun signal yuborish vaqti o`zgarmas deb olinadi (kvantlarga 
bo`linadi) va ushbu vaqtning ma`lum bir qismida pin orqali yuqori kuchlanish (5 volt) 
yuboriladi, qolgan qismida esa past kuchlanish (0 volt) yuboriladi. Yuqori kuchlanish 
yuborilgan vaqt puls kengligi deb ataladi. Elektorodvigatellar misolida ushbu vaqtni 
aylanish tezlanishi uchun berilgan vaqt deb qarash mumkin. Ushbu vaqt qanchalik ko`p 
bo`lsa, motor shunchalik katta tezlikka erishishga ulguradi. Shunday usul bilan uning 
aylanish tezligi boshqariladi. 
Quyidagi 5.1-rasmda vaqt kvantining yuqori kuchlanish berilgan qismi foiziga 
mos keluvchi tasvirlar keltirilgan.
 
5.1-rasm. Puls kengliklari turlicha bo`lgan signallarning sxematik tasvirlari. 


Vaqt kvanti 255 ta teng bo`laklarga bo`linib, ularning tegishli foizida yuqori 
kuchlanish beriladi. Yuqoridagi rasm misolida 10% ga mos holatda 255 ta pulsning 25 
tasiga yuqori, qolgan 230 tasiga past kuchlanish yuboriladi, 90% lik holatda esa 
aksincha, 230 tasiga yuqori kuchlanish, 25 tasiga past kuchlanish yuboriladi. 
Bunday usul bilan oddiy diodli lampaning yorug`lik darajasini ham boshqarish 
mumkin. Quyidagi misol orqali diodli lapmaning yorug`lik darajasini kenglikli pulslar 
yordamida boshqarish jarayonini namoyish qilamiz. 
// boshqarish pinini belgilaymiz. 
int ledPin = 9;
// boshlang`ich yorug`lik darajasini o`rnatamiz. 
 float brightness = 0.;
// yoritish darajasining o`zgarish qadamini belgilaymiz. 
 float st = 1.;
void setup() 

// chiqish pini deb e`lon qilamiz 
pinMode(ledPin, OUTPUT);

void loop() 

// pinga berilgan kenglikdagi yuqori kuchlanish yuboramiz. 
 analogWrite(ledPin, brightness);


// kenglik miqdorini o`zgartiramiz. 
 brightness=brightness+st; 
// agar puls kengligi 0 yoki 255 ga etib borsa, orqasiga qaytaramiz. 
 if(brightness<=0||brightness>=255) {st=-st;} 
 // ko`rgazmali namoyish uchun takrorlanish tezligini pasaytiramiz. 
delay(10); 
// ushbu jarayonni doimiy ravishda takrorlaymiz 

 
Avvalgi bo`limdagi misolda diodli lampa o`rniga elektrodvigatelni ulab, uning 
aylanish tezligini ham boshqarish mumkin. Lekin, bunda elektrodvigatel kam quvvatli, 
puls bilan boshqariluvchi bo`lishi kerak. Bunday holatda elektrodvigatelni ulash 
sxemasini quyidagi 5.2-rasmda keltiramiz. 
 Elektrodvigatelni mikrokontroller yordamida boshqarish sxemasi. 
Agar elektrodvigatel yuqori quvvatli hamda puls bilan boshqariluvchi bo`lsa, 
mikrokontrollerdan chiqayotgan kuchsiz signalni kuchaytirish qurilmasi (masalan, 
tranzistor) ning boshqaruv signali sifatida ishlatish orqali elektrodvigatelning aylanish 
tezligini nazorat qilish mumkin. 


Bunday holatda elektrodvigatelni ulash sxemasini quyidagi 5.3-rasmda 
keltiramiz. 
 
 Elektrodvigatelni boshqarish signalini transistor orqali kuchaytirish sxemasi. 
Boshqa hollarda esa, qo`shimcha fizik qurilmalardan (masalan, chastotani 
o`zgartiruvchi qurilmadan) foydalanishga to`g`ri keladi.(5.4-rasm). 
 
Chastotani o`zgartiruvchi qurilma sxemasi.
 

Download 229.5 Kb.

Do'stlaringiz bilan baham:




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