Uploaded by dimauchun

8-mavzu. Mikrokontrollerlarni analogli signallari qabul qilish

advertisement
8-mavzu. Mikrokontrollerlarni analogli signallari qabul qilish va qayta
ishlash.
Reja:
1. Analogli (PWM) boshqaruv signallari tushunchasi.
2. Boshqaruv algoritmlari va dasturlari.
3. Boshqariluvchi elektrodvigatellar turlari.
Tayanch
so`zlar:
analogli
boshqarish,
boshqarish,
algoritim,
dastur,
elektrodvigatellar, divigatel turlari.
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 kanchalik ko‘p bulsa, motor shunchalik katta
tezlikka erishishga ulguradi. SHunday usul bilan uning aylanish tezligi boshqariladi.
Quyidagi rasmda vaqt kvantining yuqori kuchlanish berilgan qismi foiziga
mos keluvchi tasvirlar keltirilgan.
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.
7.1-rasm. Kvantlash.
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
}
Ushbu misoldagi 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 rasmda keltiramiz.
7.2-rasm. Elektrodvigatelni ulash 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 rasmda
keltiramiz.
7.3-rasm. Elektrodvigatelni kuchsiz signal bilan boshqarish uchun ulash sxemasi
Boshqa hollarda esa, qo‘shimcha fizik qurilmalardan (masalan, chastotani
o‘zgartiruvchi qurilmadan) foydalanishga to‘g‘ri keladi.
7.4-rasm. Chastotali koveyer sxemasi
Nazorat uchun savollar
1. Analogli chiqish signali deganda nimani tushunasiz?
2. PWM deganda nimani tushunasiz?
3. Katta quvvatli elektrodvigatellarni qanday boshqarish mumkin?
4. Kuchaytirgich nima va undan qanday foydalanish mumkin?
5. Chastota o‘zgartirgich nimaga kerak?
8- ma`ruza
Mavzu: Arduino Nano mikrokontrollerida analogli chiqish signallari.
Reja
1)
Arduino Nano mikrokontrollerida analogli chiqish signallari
2)
Impuls kengligi modulyatsiyasi
3)
Boshqarish qurilmalari (rele, tranzistor va boshqalar), algoritmlari
va dasturlari.
Tayanch so`zlar: Arduino Nano, LED PWM analog DC Dvigatel tezligi
Kirishda bo'lgani kabi, raqamli chiqishdan ko'ra mikrokontrollerning chiqishi
ustidan ko'proq nazorat kerak. Masalan, chiroqning yorug'ligini yoki terishdagi
ko'rsatgichning burilishini yoki motor tezligini nazorat qilish mumkin. Bunday
hollarda analog chiqish kerak bo'ladi. To'g'ridan-to'g'ri mikrokontrollerdan farq
qilishni xohlashimiz mumkin bo'lgan narsalar yorug'lik, tovush moslamalari yoki
motorlar tomonidan boshqariladigan narsalardir. Ularning ko'pchiligi uchun
mikrokontroller va yakuniy chiqish qurilmasi o'rtasida boshqa kontroller
bo'ladi. Yoritish regulyatorlari, motor kontrollerlari va boshqalar mavjud bo'lib,
ularning aksariyati ketma-ket raqamli aloqaning qandaydir shakllaridan foydalangan
holda boshqarilishi mumkin. Bu erda o'zgaruvchan kuchlanish bilan boshqarilishi
mumkin bo'lgan oddiy elektr qurilmalari haqida gap boradi. Arduino va boshqa
raqamli mikrokontrollerlar odatda o'zgaruvchan kuchlanishni ishlab chiqara
olmaydi, ular faqat yuqori kuchlanish yoki past kuchlanish hosil qilishi
mumkin. Buning o'rniga, muntazam intervallarda bir qator kuchlanish impulslarini
ishlab chiqarish va pulslarning kengligini o'zgartirish orqali analog kuchlanishni
"soxta" qilasiz. Bu deyiladi impuls kengligi modulyatsiyasi (PWM) . Olingan
o'rtacha kuchlanish ba'zan psevdo-analog kuchlanish deb ataladi . 8.1-rasmdagi
grafik PWM qanday ishlashini ko'rsatadi. Siz pinni past pulsatsiya qilganingiz kabi
vaqt davomida yuqori puls qilasiz. Pimning baland bo'lgan vaqti ( pulsewidth deb
ataladi ) pastdan yuqoriga yana pastga o'tish uchun ketadigan umumiy vaqtning
yarmini tashkil qiladi. Bu nisbat ish aylanishi deb ataladi va o'chirishdan yana
o'chirishgacha bo'lgan umumiy vaqt davrdir . Bu holda ish aylanishi 50%, samarali
kuchlanish esa umumiy kuchlanishning yarmini tashkil qiladi.
8.1-rasm. 50% ish aylanishi bilan PWM maksimal chiqish kuchlanishining 50%
samarali kuchlanishiga ega. Vaqt o'tishi bilan kuchlanish yarim vaqtning yarmida
yonadi va yarim vaqt o'chadi.
Agar siz pauzadan ko'ra qisqaroq vaqt davomida pulsatsiya qilish orqali ish
aylanishini 50% dan kamroq qilinsa, 8.2-rasmda ko'rsatilganidek, pastroq samarali
kuchlanishga ega bo'lasiz:
Arduino Nano uchun bosqichma-bosqich tasvirlangan juda oddiy qo'llash
mumkin. Bu yerda biz LEDda analog chiqishni olamiz. Ushbu LED o'chadi va keyin
o'chadi. Arduino Nano 0 dan 255 gacha bo'lgan diapazonda analog chiqishni beradi.
Texnik jihatdan chiqish raqamli, lekin PWM ko'rinishida, lekin u analogga
o'xshaydi. Arduino Nano platalarida Arduino UNO kabi 6 ta PWM (analog pin)
mavjud, ular PIN № 3,5,6,9,10,11
8.2-rasm. 33% ish aylanishi bilan impuls-kenglik-modulyatsiya (PWM)
grafigi. Samarali kuchlanish maksimal kuchlanishning uchdan bir qismidir. Vaqt
o'tishi bilan, kuchlanish vaqtining uchdan bir qismida va uchdan ikki qismida
o'chadi.
Davr odatda juda kichik vaqt, ko'pi bilan bir necha mikrosoniya yoki
millisekundlar tartibida. Arduino platalarida uzluksiz PWM signalini ishlab
chiqaradigan bir nechta pinlar mavjud. Arduino Nano 33 IoT-da. ular 2, 3, 5, 6, 9,
10, 11, 12, A2, A3 va A5 pinlari. Arduino Uno-da ular 3, 5, 6, 9, 10 va 11-pinlardir.
Ularni
boshqarish
uchun
siz
analogWrite () buyrug'idan
quyidagi
tarzda
foydalanasiz:
1
analogWrite(pin, duty);

pin pulsatsiya qiladigan pinga ishora qiladi

burch 0 dan 255 gacha bo'lgan qiymatdir. 0 0 voltga, 255 esa 5 voltga to'g'ri
keladi. Bir nuqtaning har bir o'zgarishi psevdo-analog chiqish kuchlanishini 5/255
yoki 0,0196 voltga o'zgartiradi.
Impuls kengligi modulyatsiyasining qo'llanilishi
AnalogWrite() ning
eng
oddiy
qo'llanilishi LED
yorug'ligini
o'zgartirishdir. 3-rasmda ko'rsatilganidek, raqamli chiqish uchun LEDni ulang,
so'ngra uning
yorqinligini
uchun analogWrite()
o'zgartirish
dan
foydalaning. Biroq, u chiziqli miqyosda o'zgarmasligini sezasiz.
8.3-rasm. Raqamli chiqish uchun ishlatganingiz bilan bir xil sxema bilan LEDni
xiralashtirishingiz
mumkin. Faqat LED
ulangan
pinda analogWrite()
dan
foydalanish.
AnalogWrite() buyrug'i yordamida DC motorining tezligini o'zgartirishingiz
mumkin . Sxema 4-rasmda keltirilgan. Siz 4-rasmda ko'rsatilgan motorni yoqish va
o'chirish
uchun xuddi
shunday
tranzistor
sxemasidan foydalanasiz,
lekin
mikrokontrollerning chiqish pinini baland yoki past o'rnatish o'rniga analogWrite()
dan foydalanasiz . bu. Transistor vosita to'xtashi va ishga tushishi mumkin
bo'lgan tezlikdan tezroq yoqiladi va o'chadi, shuning uchun natijada vosita silliq
tezlashadi va sekinlashadi. DC motorni boshqarish haqida ko'proq ma'lumot olish
uchun quyidagi havolalarga qarang:
Dvigatelning bir terminali yuqori oqim quvvat manbaiga, ikkinchisi esa
MOSFETning drenaj piniga ulangan. MOSFET manba pinini erga ulangan va uning
eshigi mikrokontrollerning chiqish piniga ulangan. Himoya diyotining katodi
MOSFET manbasiga, anod esa drenajga ulangan.
8.4-rasm. MOSFET yordamida Arduino bilan motorni boshqarish sxemasi.
Filtr zanjirlari - bu faqat ma'lum bir chastota diapazonidagi kuchlanish
o'zgarishiga imkon beradigan sxemalar. Masalan, past chastotali filtr ma'lum bir
diapazondan yuqori chastotalarni bloklaydi. Bu shuni anglatadiki, agar kuchlanish
soniyada ma'lum bir necha martadan ko'proq o'zgarsa, bu o'zgarishlar filtrdan
o'tmaydi va faqat o'rtacha kuchlanish ko'rinadi. Tasavvur qiling-a, sizning PWM
sekundiga 1000 tsikl yoki 1000 Gerts (Gts) da ishlaydi . Agar sizda 1000 Gts dan
yuqori chastotalarni bloklaydigan filtr sxemasi bo'lsa, siz impulslar o'rniga filtrning
boshqa tomonida faqat o'rtacha kuchlanishni ko'rasiz. Asosiy past chastotali filtr 5rasmda ko'rsatilganidek ulangan rezistor va kondansatördan iborat:
8.5-rasm. Asosiy past o'tkazuvchan filtr. LEDning anodi kuchlanishga ulangan
va uning katodi kondansatkichning bir terminaliga ulangan.
Kondensatorning boshqa terminali erga ulangan. Rezistor LED va kondansatör
uchrashadigan birikmaga ulanadi. Rezistorning ikkinchi uchi mikrokontrollerning
chiqish piniga ulangan.
Bloklangan chastota va kondansatör va rezistorning qiymatlari o'rtasidagi
bog'liqlik quyidagicha:
chastota = 1/ (2p *qarshilik * sig'im)
1,5 kiloohm rezistor va 0,1 mikrofaradli kondansatör 1061 Gts dan yuqori
chastotalarni o'chiradi. Agar siz filtrlarga qiziqsangiz, qaysi biri yaxshiroq ishlashini
bilish uchun u yerdan turli qiymatlarni sinab ko'ring.
Servomotorlar -
bu
tishli
mexanizmlar
va
o'rnatilgan
potansiyometr
(o'zgaruvchan qarshilik) kombinatsiyasi bo'lgan motorlar bo'lib, ularning o'rnini 180
graduslik diapazonda aniq belgilash imkonini beradi. Ular o'yinchoqlar va boshqa
kichik mexanik qurilmalarda juda keng tarqalgan. Ularda uchta sim bor:

quvvat (odatda +5V)

zamin

boshqaruv
+5V ni to'g'ridan-to'g'ri 5V quvvat manbaiga ulang (Arduinoning 5V yoki 3.3V
chiqishi bitta servo uchun ishlaydi, lekin bir nechta servo uchun emas). Uni
mikrokontroller bilan bir xil erga erga ulang. Tekshirish pinini mikrokontrollerdagi
istalgan chiqish piniga ulang. Keyin burchakni o'rnatish uchun nazorat piniga bir
qator impulslarni yuborishingiz kerak. Puls qancha uzun bo'lsa, burchak shunchalik
katta bo'ladi.
Servoni impuls qilish uchun siz odatda 5 voltli, 1 va 2 millisekund (ms) oralig'ida
musbat impuls berasiz, sekundiga taxminan 50 marta takrorlanadi (ya'ni impulslar
orasidagi
20
millisekund). Pulsning
kengligi
servoning
holatini
aniqlaydi. Servolarning sayohati har xil bo'lishi mumkinligi sababli, berilgan impuls
kengligi va ma'lum bir servo burchak o'rtasida aniq moslik yo'q, lekin ko'pchilik
servolar 1,5 ms impulslarni qabul qilganda harakatlanish markaziga o'tadi. Bu
impuls kengligi modulyatsiyasining alohida holati bo'lib, siz pulsni o'zgartirasiz,
ammo davr 20 millisekundda o'zgarmasdir. Buning uchun siz o'zingizning
dasturingizni yozishingiz mumkin, ammo Arduinoda servolarni boshqarish uchun
kutubxona
mavjud. Bu
haqda
ko'proq
ma'lumot
olish
uchun Servo
laboratoriyasiga qarang .
Chastotani o'zgartirish
Impuls kengligi modulyatsiyasi karartma va dvigatelni boshqarish uchun psevdoanalog kuchlanishni yaratishi mumkin, ammo siz uni karnayda tovush balandligini
yaratish uchun ishlata olasizmi? Esda tutingki, siz ish davrini o'zgartiryapsiz, lekin
signal davri emas, shuning uchun chastota o'zgarmaydi. Agar siz karnayni PWM
signalini ishlab chiqaruvchi pinga ulagan bo'lsangiz, siz bitta barqaror ohangni
eshitasiz.
Agar siz Arduino mikrokontrollerida o'zgaruvchan signalni yaratmoqchi
bo'lsangiz, buni siz uchun bajaradigan tone() buyrug'i mavjud:
Nazorat savollari.
1. Mikrokontrollerida analogli chiqish signallari nima?
2. Impuls kengligi modulyatsiyasi nima?
3. Boshqarish qurilmalarining algoritmlari va dasturlariqanday tuziladi?
4. Chastotani o'zgartirish nima?
9-mavzu. Mikrokontroller yordamida raqamli sensorlardan signallarni qabul
qilish va ularni qayta ishlash texnologiyalari.
Reja:
1. Raqamli sensor tushunchasi va turlari.
2. Raqamli sensor bilan analogli sensorning farqi.
3. Raqamli signallarni qayta ishlash algoritmlari va dasturlari.
Tayanch so’z iboralar: Sensor, Raqamli signallar, termometr, Analogli sensorlar.
Sensor (datchik) deganda biror bir ob’ektning joriy holati to‘g‘risida o‘lchash
ishlarini amalga oshiruvchi va ma’lumot beruvchi qurilma tushuniladi. Sensorga
oddiy termometr, barometr kabi qurilmalarni misol qilib keltirish mumkin.
Sensorning asosini qandaydir modda yoki jarayonga sezuvchanlik xususiyatiga ega
bo‘lgan qism tashkil qiladi. Ko‘pincha bunday qismlar tashqi ta’sir oqibatida
o‘zining ma’lum xususiyatlarini o‘zgartirish qobiliyatiga ega bo‘ladi. Masalan,
fotosensor yorug‘lik ta’sirida o‘zining elektr tokini o‘tkazish darajasini o‘zgartiradi,
oddiy simobli termometr esa issiqlik ta’sirida simob xajmining kattalashishi
xususiyatiga asoslangan.
Sensorlar, asosan, mexanik va elektron turlarga bo‘linadi. Masalan, agar
barometr gaz bosimi ta’sirida porshenning surilish darajasiga asoslangan bo‘lsa,
mexanik, bosim ta’sirida elektr tokini o‘tkazish xususiyati o‘zgarishiga (masalan,
mikrofonda) asoslangan bo‘lsa elektron sensor hisoblanadi.
Zamonaviy avtomatlashtirish sohasida, asosan, elektron datchiklardan
foydalaniladi. Lekin ba’zida mexanik sensorlardan ham foydalaniladi (masalan,
issiqlik relesi).
Elektron datchiklar ham, o‘z navbatida, 2 turga bo‘linadi: raqamli va
analogli.Raqamli sensorlar, odatda, “bor” yoki “yo‘q”, “baland” yoki “past”, “rost”
yoki “yolg‘on” kabi faqat ikkita ma’lumot berishga mo‘ljallangan. Bunday
sensorlarga qo‘ng‘iroq tugmachasi, elektromagnit rele kabilarni misol keltirish
mumkin.
Analogli sensorlar esa ma’lum bir son oralig‘idagi miqdorlarni uzatishga
mo‘ljallangan bo‘ladi. Masalan, termometr o‘zi mo‘ljallangan, aytaylik 0 gradusdan
100 gradusgacha bo‘lgan oraliqdagi issiqlik miqdorini aniqlab beradi.
Tabiatda analogli signallar uzluksiz xarakterga ega bo‘ladi. Masalan, yer
yuzidagi havoning harorati, uzluksiz vaqt oralig‘ida, aytaylik, -70 garadusdan +70
gradusgacha bo‘lgan haqiqiy sonlarning ixtiyoriysiga teng bo‘lishi mumkin. Lekin,
elektronikada uzluksiz vaqt oralig‘idan foydalanish imkoniyati mavvjud emas. Biror
bir ob’ektning harorati to‘g‘risidagi informatsiyani ma’lum vaqt momentlaridagina
olish mumkin. Ya’ni, harorat to‘g‘risidagi ma’lumotlar, masalan, har sekundda yoki
millisekundda olib turilishi mumkin. Bunday holatda harorat miqdorlari diskret
xarakterga ega bo‘ladi.
Quyida biz faqat raqamli sensorlar orqali olingan ma’lumotlarni arduino
mikrokontrolleri yordamida qayta ishlash algoritmlarini ko‘rib chiqamiz.
Misol sifatida tovush sensoridan foydalanib, xona chirog‘ini qarsak
yordamida yoqib-o‘chirish masalasini ko‘rib chiqamiz. Masala bir marta qarsak
chalganda chiroq yonishi, yana bir marta chalganda o‘chishini mikrokontroller
yordamida avtomatlashtirishdan iborat.
Umumiylikka zarar etkazmasdan, xona chirog‘i sifatida kichik quvvatli oddiy
diodli lampadan foydalanamiz. Katta quvvatli chiroqni boshqarish uchun diodli
lampaga yuborilgan signalni kontaktli relega yuborish va uning vazifasi etib xona
chirog‘ini yoqib-o‘chirishni (vklyuchatel vazifasini) belgilash kifoya.
Boshqaruv dasturining kodi quyidagi ko‘rinishga ega bo‘ladi.
boolean statuslamp; // lampaning o‘chiq yoki yoniq holati o‘zgaruvchisi
void setup() {
// tovush signalini A0 pindan olamiz
pinMode(A0,INPUT);
// boshqaruv signalini D05 pinga yuboramiz
pinMode(5, OUTPUT);
// Dastlab chiroq o‘chiq deb faraz qilamiz
statuslamp=false;
digitalWrite(12, statuslamp);
}
// Asosiy takrorlanuvchi dastur tanasi
void loop() {
// Agar sensordan yuqori signal kelsa lampochka holatini teskarisiga
// almashtiramiz, ya’ni o‘chiq bo‘lsa yoniq, yoniq bo‘lsa o‘chiq deb olamiz.
if(analogRead(A0)>500) {statuslamp=!statuslamp;
// Signalni lampaga yuboramiz
digitalWrite(12,statuslamp);
// Keyingi qarsakni kutamiz
delay(500); }
}
Ushbu kodni kompillyatsiya qilib, mikrokontroller xotirasiga joylasak,
ko‘zlangan maqsadga erishamiz.
Nazorat uchun savollar
1. Sensor deganda nimani tushunasiz?
2. Sensorlarning qanday turlarini bilasiz?
3. Raqamli sensor bilan analogli sensorning qanday farqi bor?
4. Diskret analogli signal qanday hosil qilinadi?
5. Qarsak yordamida xona chirog‘ini boshqarish algoritmini tavsiflang.
10-mavzu. Mikrokontroller yordamida analogli sensorlardan signallarni
qabul qilish va ularni qayta ishlash texnologiyalari.
Reja:
1. Analogli signallar beruvchi sensorlar va ularning ishlash prinsiplari.
2. Arduino Nano mikrokontrollerida analogli signallarni qayta ishlash
algoritmlari va dasturlari.
3. Analogli signallarni normalash (map funksiyasi).
Tayanch so’z iboralar: Arduino Nano mikrokontrolleri, Analogli sensorlar,
Gaz sensori.
Avvalgi mavzumizda raqamli va analogli signallar to‘g‘risida qisqacha
ma’lumot berib o‘tgan edik. Endi analogli sensorlar turlari va ularning ishlash
prinsiplari to‘g‘risida tushunchalar beramiz.
Analogli sensorlar biror tashqi ta’sir natijasida o‘z xususiyatlarini o‘zgartirish
prinsipi bo‘yicha ishlaydi. Sensor xususiyati deganda moddaning xajmi, rangi,
zichligi, elektr tokini o‘tkazuvchanlik darajasi va xokozolarni tushunamiz.
Masalan, avval aytib o‘tganimizdek, simob unga berilgan issiqlik miqdoriga
qarab o‘z xajmini o‘zgatiradi. Ba’zi kimyoviy moddalar issiqlik miqdoriga qarab
elektr tokiga bo‘lgan qarshiligini o‘zgartiradi. Bunday xususiyatlardan haroratni
o‘lchash jarayonida foydalanish mumkin.
Analogli
sensorlar
ma’lumotlaridan
mikrokontrollerlar
yordamida
foydalanish uchun ularga muntazam ravishda so‘rovlar jo‘natilib, informatsiya
olinishi lozim. Aynan shu jarayon analogli signallarni diskretlab, foydalanish
imkoniyatini beradi.
Avtomatlashtirish jarayonida analogli sensorlar signallardan foydalanishni
quyidagi masala misolida ko‘rib chiqamiz.
MQ seriyali uglevodorod gazlari sensorlari ma’lumotlaridan foydalanib,
havodagi metan, propan, etan gazlari va spirt miqdorini monitoring qilishni arduino
nano mikrokontrolleridan foydalanib tashkil qilish masalasini ko‘rib chiqamiz.
Bu masalani quyidagi algoritm yordamida hal qilish mumkin.
1. Gaz sensorini A0 analogli kirish piniga ulaymiz.
2. Havodagi gaz miqdoriga qarab ogohlantiruvchi diodli lampalar yordamida
shartli monitoring qilamiz: agar gaz miqdori juda kam (1%gacha) bo‘lsa
yashil lapma yonadi, o‘rtacha (1 dan 5 % gacha) bo‘lsa sariq lampa yonadi,
ko‘p (5% dan ortiq) bo‘lsa qizil lampa yonadi, bunda gaz miqdori ortgani
sari chirokning yorug‘lik darajasi ortib boradi.
3. Gaz miqdori 10% dan ortsa, tovushli signal ishga tushadi.
Dastur kodi quyidagi ko‘rinishga ega bo‘ladi.
#define gaz A0 // Gaz sensorni A0 pinga ulaymiz
// Monitoring lampalari va tovushli signal pinlarini belgilaymiz.
int qizil=5;
int sariq=6;
int yashil=7;
int tovush=2;
// Gazlanganlik darajalarini belgilaymiz
int g1=100, g2= 150, g3=200;
void setup()
{
// Pinlarning maqsadlarini aniqlaymiz
pinMode(qizil, OUTPUT);
pinMode(sariq, OUTPUT);
pinMode(yashil, OUTPUT);
pinMode(tovush, OUTPUT);
// Boshlanishida barcha lampalar va buzzer o‘chiq
analogWrite(qizil, 0);
digitalWrite(sariq, LOW);
digitalWrite(yashil, LOW);
digitalWrite(tovush, LOW);
Serial.begin(9600);
}
void loop() {
// Sensordan ma’lumot so‘raymiz
int sensor = analogRead(gaz);
Serial.println(sensor);
//Agar gaz miqdori kam bo‘lsa, faqat yashil chiroq yonadi
if(sensor<g1)
{
analogWrite(qizil, 0);
digitalWrite(sariq, LOW);
digitalWrite(yashil, HIGH);
digitalWrite(tovush, LOW);
}
//Agar gaz miqdori o‘rtacha bo‘lsa, yashil o‘chib,sariq chiroq yonadi
else if(sensor<g2)
{
analogWrite(qizil, 0);
digitalWrite(sariq, HIGH);
digitalWrite(yashil, LOW);
digitalWrite(tovush, LOW);
}
//Agar gaz miqdori ko‘p bo‘lsa, qizil gaz miqdoriga mos yorug‘likda yonadi
else
{
int norma=map(sensor,0,1024,0,255);
analogWrite(qizil, norma);
digitalWrite(sariq, LOW);
digitalWrite(yashil, LOW);
if(sensor>g3) digitalWrite(tovush, HIGH); else digitalWrite(tovush, LOW);
}
delay(1000); // 1 sekund kutamiz.
}
Nazorat savollari:
1. Analogli sensorning ishlash prinsipi qanday?
2. Analogli chiqish signallari qanday hosil qilinadi?
3. Analogli kirish signallari analogli chiqish signaliga qanday normalanadi?
4. Gaz sensoridan foydalanish dasturi algoritmini tavsiflang.
11-mavzu. Arduino Nano mikrokontrollerida analogli signallarni qayta
ishlash algoritmlari va dasturlari.
Reja:
1. Arduino Nano mikrokontrollerida analogli signallarni qayta ishlash
algoritmlari va dasturlari.
2. Analogli signallarni normalash (map funksiyasi).
Tayanch so’z iboralar: Arduino Nano mikrokontrolleri, Analogli sensorlar,
Gaz sensori.
Kalit so'zlar: analog sensor, rms , analog signal, ADC, quvvat monitoringi,
algoritm.
Zamonaviy elektr sensorlar bizning real dunyomizdan turli xil jismoniy
miqdorlar, jarayonlar yoki xususiyatlarni o'lchashda muhim rol o'ynaydi,
keyinchalik ular qayta ishlanishi va yakuniy foydalanish mumkin bo'lgan raqamli
ma'lumotlarga aylantirilishi mumkin bo'lgan elektr signallariga aylantiriladi [1].
Garchi hozirgi vaqtda analog sensorlar ham, raqamli sensorlar ham keng qo'llanilsada, qaysi turdagi sensorlar yaxshiroq yoki eng ko'p afzalliklarga ega ekanligi
to'g'risida yakuniy chegara yo'q, chunki har bir o'lchash jarayoni ma'lum
xususiyatlarga ega ma'lum turdagi sensorni talab qiladi. Har xil turdagi signal
chiqishi bo'lgan sensorlar o'rtasidagi umumiy o'xshashlik sifatida biz raqamli
sensorlar aniqroq ekanligini eslatib o'tamiz, ular faqat cheklangan yoki diskret sonli
taxminiy o'qish qiymatlarini taqdim etishi mumkin (ichki/tashqi ADC diapazoni
bilan shartlangan), ular juda qimmat bo'lishi mumkin, shuningdek, elektr tokining
ortiqcha yuklanishi yoki qisqa tutashuvlarda osongina shikastlanishi mumkin;
analog sensorlar har doim ham aniq emas, ba'zan ularni apparat/dasturiy vositalar
yordamida kalibrlash kerak, ular deyarli cheksiz o'qish qiymatlari to'plamini taqdim
etishi mumkin, ular oddiy, arzon va mustahkam, lekin ba'zida signalni filtrlash yoki
konditsionerlash uchun qo'shimcha sxemalar talab qiladi va ADC yanada murakkab
tizimlarda [2]. Ushbu maqolaning maqsadi tarmoqdan tashqari uy xo'jaliklarida
elektr energiyasi iste'molini monitoring qilish tizimlari uchun qo'llaniladigan amaliy
qo'llash algoritmini sinab ko'rish va ishlab chiqishdir . Tajribalarni o'tkazish uchun
biz birlamchi faza pallasida seziladigan oqim yoki kuchlanishga mutanosib
o'qiladigan
kuchlanishni
chiqaradigan
kichik
induktiv
transformatorlarga
asoslangan ikkita arzon narxlardagi oqim va kuchlanish sensorlarini tanladik. Ushbu
ikkita element yordamida biz ushbu elektr tarmog'idagi quvvat sarfini hisoblashimiz
mumkin. Tizim ma'lumotlarni qayta ishlash uchun Atmega328 mikrokontrolleridan
foydalanadigan Arduino ma'lumotlar yig'ish platasiga asoslangan . Ichki 10-bitli
ADC moduli yordamida mikrokontroller analog kirishlardan signal ma'lumotlarini
oladi va o'zgartiradi. Signalni qayta ishlash uchun jalb qilingan modullarning batafsil
grafik diagrammasi 1-rasmda eng yaxshi tasvirlangan. 1- rasm. Analog signalni
qayta ishlash uchun ishlatiladigan elektron modullarning blok-sxema tasviri, ishlab
chiqarish bosqichidan raqamli ma'lumotlarni konvertatsiya qilish bosqichiga;
Shunday qilib, bizda quyidagi modullar mavjud: analog sensorni ko'rsatadi , belektron signalni konditsioner sxemasini ifodalaydi, c- 210 o'lchamlarini ifodalaydi,
mikrokontrollerning ADC moduli, d-raqamli ma'lumotlarni ADC dan raqamli
ma'lumotlarga moslashtirilgan holda o'zgartiradigan mikrokontrollerni ifodalaydi .
algoritm degani. Ushbu turdagi elektron platadan foydalanish imkoniyati shundan
iboratki, uni monitoring qurilmasidan to'liq avtomatlashtirilgan tizimga ko'tarish
mumkin bo'lib, u uy xo'jaligining energiya samaradorligini oshirishi mumkin, ba'zi
katta quvvat sarflaydigan qurilmalarning ish vaqtini rejalashtirish orqali. Qayta
tiklanadigan energiya manbasidan energiya ishlab chiqarishning eng yuqori
cho'qqisida egasining nazoratiga muhtoj.
1-rasm. Signalni qayta ishlash uchun modullar
Arduino platasining kirish analog signalini chiqish raqamli ma'lumotlariga
aylantirishda qanday ishlashini tushunishimiz kerak . Shakl 2. Arduino uchun
2,5VDC ofset moslashuvi bilan AC analog signal namoyishi . Ishlab
chiqaruvchining ma'lumotlar varaqlariga ko'ra, Arduino platasi va Atmega328
mikrokontrolleri faqat ijobiy kuchlanish bilan ishlaydi (eng yuqori kuchlanish
moslamasi 5VDC, eng past kuchlanish moslamasi esa 0VDC), shuning uchun 10
bitli ADC qiymatlari, degan xulosaga kelish mumkin. 0 dan 1024 gacha, 0VDC dan
5VDC gacha bo'lgan mos yozuvlar kuchlanishiga to'g'ridan-to'g'ri proportsionaldir.
Analog signal ham ijobiy, ham salbiy o'zgaruvchan qiymatlardan iborat bo'lganligi
sababli, sensor ulangan elektr uzatish liniyasi chastotasiga mos ravishda 50 Gts
chastotada hosil bo'lganligi sababli, bizning tajribamizda signal ofsetini o'zgartirish
uchun kuchlanish bo'luvchisi qo'llaniladi. 0VDC dan 2,5VDC gacha. Shunday qilib,
AC signali ofset qiymati bilan ifodalangan DC komponentiga ega bo'ladi va shuning
uchun ADC 2,5VDC dan yuqori va past yoki 512 raqamli qiymatdan yuqori va past
o'zgaruvchan ijobiy qiymatlarni o'qiydi (2-rasm).
2-rasm. Arduino uchun 2,5VDC ofset moslashuvi bilan AC analog signal
namoyishi .
3-rasm. Ikki analog signal qiymatini kuchlanish, oqim va quvvat sarfini
ko'rsatish uchun raqamli raqamli qiymatlarga aylantirish uchun hisoblash bloklari
bilan algoritm diagrammasi tavsifi.
(11) ga muvofiq quvvat sarfini ko'rsatish uchun mikrotrollerga yuklanadigan
algoritmni yaratdik (3-rasm) :
6-rasm. Ikki analog signal qiymatini kuchlanish, oqim va quvvat sarfini
ko'rsatish uchun raqamli raqamli qiymatlarga aylantirish uchun hisoblash bloklari
bilan algoritm diagrammasi tavsifi.
Tarmoqdan tashqarida bo'lgan uy xo'jaligining energiya iste'molini o'qish uchun
arzon narxlardagi elektr analog sensorlar yordamida arzon narxlardagi , qulay,
elektron yig'ish kartasiga mos keladigan algoritmni ishlab chiqish edi. Asl hissalar:
- Bizning amaliy tajribamiz uchun qaysi turdagi sensorlar eng mos kelishini
aniqlash. - Muayyan vazifaga moslashtirilgan elektron sxemani loyihalash. Signalni qabul qilish va talqin qilish uchun simulyatsiya jarayonini o'tkazish . Nazariy simulyatsiya natijalarini tasdiqlovchi hisoblash usulini ishlab chiqish. Kirish analog qiymatlarini ro'yxatga olingan quvvat sarfi, kuchlanish va tok kuchi
uchun raqamli qiymatlarga aylantiruvchi murakkab hisoblash algoritmini yaratish. o'lchovlarni o'tkazish va natijalarni sharhlash. Ishlab chiqilgan algoritm va hisoblash
usuli har qanday boshqa turdagi analog sensorlar va ilovalar uchun , masalan,
biometrika kabi, talablarga muvofiq dastlabki kodga kichik o'zgartirishlar kiritilgan
holda osonlik bilan ishlatilishi mumkin [5]. Shuningdek, butun tizimning
qo'llanilishi shundan dalolat beradiki, jihozlarning rejalashtirilgan iste'moli va
ishlashini nazorat qilish uchun Arduino chiqish pinlaridan foydalangan holda
energiya samaradorligi uchun avtomatlashtirish algoritmi ham ishlab chiqilishi
mumkin.
AnalogWrite() ning
eng
oddiy
qo'llanilishi LED
yorug'ligini
o'zgartirishdir. 3-rasmda ko'rsatilganidek, raqamli chiqish uchun LEDni ulang,
so'ngra uning
yorqinligini
o'zgartirish
uchun analogWrite()
foydalaning. Biroq, u chiziqli miqyosda o'zgarmasligini sezasiz.
dan
Rasm8.3. Raqamli chiqish uchun ishlatganingiz bilan bir xil sxema bilan LEDni
xiralashtirishingiz
mumkin. Faqat LED
ulangan
pinda analogWrite()
dan
foydalaning.
DC Dvigatel tezligini nazorat qilish
Siz
analogWrite() buyrug'i
yordamida
DC
motorining
tezligini
o'zgartirishingiz mumkin . Sxema 4-rasmda keltirilgan. Siz 4-rasmda ko'rsatilgan
motorni
yoqish
va
o'chirish
uchun xuddi
shunday
tranzistor
sxemasidan foydalanasiz, lekin mikrokontrollerning chiqish pinini baland yoki past
o'rnatish o'rniga analogWrite() dan foydalanasiz . bu. Transistor vosita
to'xtashi va ishga tushishi mumkin bo'lgan tezlikdan tezroq yoqiladi va o'chadi,
shuning uchun natijada vosita silliq tezlashadi va sekinlashadi.
DC motorni boshqarish haqida ko'proq ma'lumot olish uchun quyidagi
havolalarga qarang:

DC motorni boshqarish bo'yicha eslatmalar

Tegishli video: Nima uchun DC motorlarida PWM dan foydalanish kerak?
Rasm8.4.
MOSFET
yordamida
Arduino
bilan
motorni
boshqarish
sxemasi. Dvigatelning bir terminali yuqori oqim quvvat manbaiga, ikkinchisi esa
MOSFETning drenaj piniga ulangan. MOSFET manba pinini erga ulangan va uning
eshigi mikrokontrollerning chiqish piniga ulangan. Himoya diyotining katodi
MOSFET manbasiga, anod esa drenajga ulangan.
Eslatma: Filtr sxemalari
Filtr zanjirlari - bu faqat ma'lum bir chastota diapazonidagi kuchlanish
o'zgarishiga imkon beradigan sxemalar. Masalan, past chastotali filtr ma'lum bir
diapazondan yuqori chastotalarni bloklaydi. Bu shuni anglatadiki, agar kuchlanish
soniyada ma'lum bir necha martadan ko'proq o'zgarsa, bu o'zgarishlar filtrdan
o'tmaydi va faqat o'rtacha kuchlanish ko'rinadi. Tasavvur qiling-a, sizning PWM
sekundiga 1000 tsikl yoki 1000 Gerts (Gts) da ishlaydi . Agar sizda 1000 Gts dan
yuqori chastotalarni bloklaydigan filtr sxemasi bo'lsa, siz impulslar o'rniga filtrning
boshqa tomonida faqat o'rtacha kuchlanishni ko'rasiz. Asosiy past chastotali filtr 5rasmda ko'rsatilganidek ulangan rezistor va kondansatördan iborat:
Rasm8.5. Sxema: Asosiy past o'tkazuvchan filtr. LEDning anodi kuchlanishga
ulangan
va
uning
katodi
kondansatkichning
bir
terminaliga
ulangan. Kondensatorning boshqa terminali erga ulangan. Rezistor LED va
kondansatör
uchrashadigan
birikmaga
ulanadi. Rezistorning
ikkinchi
uchi
mikrokontrollerning chiqish piniga ulangan.
Bloklangan chastota va kondansatör va rezistorning qiymatlari o'rtasidagi
bog'liqlik quyidagicha:
chastota = 1/ (2p *qarshilik * sig'im)
1,5 kiloohm rezistor va 0,1 mikrofaradli kondansatör 1061 Gts dan yuqori
chastotalarni o'chiradi. Agar siz filtrlarga qiziqsangiz, qaysi biri yaxshiroq ishlashini
bilish uchun u yerdan turli qiymatlarni sinab ko'ring.
Servomotorlar
Ehtimol, analog chiqish sifatida qilishingiz mumkin bo'lgan eng hayajonli narsa
biror
narsaning
servomotordan
harakatini
boshqarishdir. Buning
foydalanishdir. Servomotorlar -
bu
oddiy
usullaridan
biri
tishli
mexanizmlar
va
o'rnatilgan potansiyometr (o'zgaruvchan qarshilik) kombinatsiyasi bo'lgan motorlar
bo'lib, ularning o'rnini 180 graduslik diapazonda aniq belgilash imkonini
beradi. Ular o'yinchoqlar va boshqa kichik mexanik qurilmalarda juda keng
tarqalgan. Ularda uchta sim bor:

quvvat (odatda +5V)

zamin

boshqaruv
+5V ni to'g'ridan-to'g'ri 5V quvvat manbaiga ulang (Arduinoning 5V yoki 3.3V
chiqishi bitta servo uchun ishlaydi, lekin bir nechta servo uchun emas). Uni
mikrokontroller bilan bir xil erga erga ulang. Tekshirish pinini mikrokontrollerdagi
istalgan chiqish piniga ulang. Keyin burchakni o'rnatish uchun nazorat piniga bir
qator impulslarni yuborishingiz kerak. Puls qancha uzun bo'lsa, burchak shunchalik
katta bo'ladi.
Servoni impuls qilish uchun siz odatda 5 voltli, 1 va 2 millisekund (ms) oralig'ida
musbat impuls berasiz, sekundiga taxminan 50 marta takrorlanadi (ya'ni impulslar
orasidagi
20
millisekund). Pulsning
kengligi
servoning
holatini
aniqlaydi. Servolarning sayohati har xil bo'lishi mumkinligi sababli, berilgan impuls
kengligi va ma'lum bir servo burchak o'rtasida aniq moslik yo'q, lekin ko'pchilik
servolar 1,5 ms impulslarni qabul qilganda harakatlanish markaziga o'tadi. Bu
impuls kengligi modulyatsiyasining alohida holati bo'lib, siz pulsni o'zgartirasiz,
ammo davr 20 millisekundda o'zgarmasdir. Buning uchun siz o'zingizning
dasturingizni yozishingiz mumkin, ammo Arduinoda servolarni boshqarish uchun
kutubxona
mavjud. Bu
laboratoriyasiga qarang .
haqda
ko'proq
ma'lumot
olish
uchun Servo
12-mavzu. Mikrokontrollerlar va tashqi qurilmalar orasida axborot
almashinuvini tashkil qilish texnologiyalari.
Reja:
1. Arduinoda ketma-ket UART port va undan foydalanish.
2. Serial kutubxonasi imkoniyatlari.
Tayanch so’z iboralar: protokol, UART protokoli, USB porti, funksiya,
Serial kutubxonasi.
UART (Universal asynchronous receiver/transmitter) protokoli deganda
ma’lumotni uzatish va qabul qilishning bugungi kunda eng keng tarqalgan
protokollari tushuniladi. UART protokollarining turlari ko‘p. Ular ichida eng
taniqlisi RS-232 (omma tilida COM yoki USB-port) dir.
Arduino Nano mikrokontrollerida RX – ma’lumot qabul qilish, TX ma’lumot
jo‘natish pinlari (rasmda chap yuqori qismda) hamda USB konnektor (rasmda eng
pastki qismda) UART protokoli vositasida ishlaydi.
Arduino Nano mikrokontrollerida ishlab chiqaruvchilar tomonidan USB porti
bilan ishlashga mo‘ljallangan Serial kutubxona (ob’ekt) yaratilgan, u Arduino IDE
muhitining standart kutubxonasi tarkibiga kiritilgan. YA’ni uni #include operatori
yordamida qo‘shimcha ulash talab qilinmaydi.
Quyida ushbu kutubxona funksiyalari (metodlar) to‘g‘risida ma’lumotlar
keltiramiz.
 if(Serial) funksiyasi portning ishga tayyorgarlik holatini tekshiradi.
 available() – o‘qish uchun ochiq bo‘lgan baytlar sonini tekshiradi. Ushbu
funksiya qancha miqdordagi ma’lumot kelib, buferda saqlanayotganligini
ko‘rsatadi. UART porti buferining umumiy xajmi 64 baytni tashkil qiladi.
 availableForWrite() – yozish uchun ochiq bo‘lgan baytlar sonini tekshiradi.
 begin() – berilgan tezlik bilan portga ulanishni tashkil qiladi.
 end() – aloqani uzadi va RX , TX pinlarni ozod qiladi.
 find() –buferdan berilgan satrni topib o‘qiydi.
 findUntil() – keltirilgan satr yoki terminal uchramaguncha buferdan
ma’lumotlarni o‘qiydi.
 flush() – UART porti buferini tozalaydi.
 parseFloat() – UART porti buferidan birinchi uchragan suzuvchi vergulli
sonni o‘qiydi. Boshqa barcha belgilar hisobga olinmaydi.
 parseInt() – UART porti buferidan birinchi uchragan butun sonni o‘qiydi.
Boshqa barcha belgilar hisobga olinmaydi.
 peek() – UART porti buferidan birinchi baytni (nima bo‘lishidan qat’iy nazar)
o‘qiydi.
 print() – ketma-ket port orqali ma’lumotlarni ASCII matn sifatida yuboradi.
 println() – ketma-ket port orqali ma’lumotlarni satr oxiri (\r) va yangi satr (\n)
belgilari bilan ASCII matn sifatida yuboradi.
 read() – ketma-ket portdan ma’lumot o‘qiydi.
 readBytes() – ketma-ket portdan berilgan xajmdagi ma’lumotni berilgan vaqt
tugaguncha o‘qiydi. Vaqt serial.setTimeout() funksiya orqali o‘rnatiladi.
 readBytesUntil() – ketma-ket portdan berilgan xajmdagi ma’lumotni berilgan
vaqt tugaguncha yoki terminal uchramaguncha o‘qiydi va massivga
joylashtiradi. Vaqt serial.setTimeout() funksiya orqali o‘rnatiladi.
 readString() – ketma-ket portdan berilgan xajmdagi ma’lumotni berilgan vaqt
tugaguncha o‘qiydi va satrga joylashtiradi. Vaqt serial.setTimeout() funksiya
orqali o‘rnatiladi.
 readStringUntil() – ketma-ket portdan berilgan xajmdagi ma’lumotni berilgan
vaqt tugaguncha yoki terminal uchramaguncha o‘qiydi va satrga joylashtiradi.
Vaqt serial.setTimeout() funksiya orqali o‘rnatiladi.
 setTimeout() – Serial.readBytesUntil(), Serial.readBytes(), Serial.parseInt()
va Serial.parseFloat() funksiyalari uchun vaqtni millisekundlarda belgilab
beradi.
 write() – ketma-ket port orqali ma’lumotlarni ikkilik kodda yuboradi.
O‘tgan mavzumizda biz ushbu funksiyalarning ba’zilaridan foydalangan edik.
Ulardan birinchisi
Serial.begin(9600);
funksiyasi bo‘lib, u bizni ketma ket port bilan sekundiga 9600 bit tezlik bilan ulab
berishni ta’minlagan.
Ikkinchisi
Serial.println(sensor);
Funksiya gaz sensoridan olingan ma’lumotni ketma-ket port orqali yuborib,
uning miqdorini Arduino IDE muhitining “Monitor porta” oynasida ko‘ri borish
imkoniyatini yaratgan.
Nazorat uchun savollar:
1. UART nima?
2. Arduino Nano mikrokontrollerida qanday ketma-ket portlar mavjud?
3. Serial kutubxonasi nimaga mo‘ljallangan?
4. Serial kutubxonasining asosiy funksiyalari tavsiflarini keltiring.
5. Serial kutubxonasining funksiyalaridan foydalanishga misollar keltiring.
13-mavzu. Avtomatlashtirilgan tizimlar uchun foydalanuvchi interfeyslari.
Reja:
1. Foydalanuvchi interfeysi tushunchasi.
2. Texnologik jarayonlar va qurilmalarni boshqarish interfeysi.
3. Scada SimLight tizimi imkoniyatlari.
Tayanch so’z iboralar: interfeys, SCADA SimLight tizimi, avtomatlashtirilgan
jarayonlar.
Foydalanuvchi interfeysi deganda dasturiy boshqariluvchi ob’ekt (masalan
kompyuter) bilan inson-foydalanuvchi muloqatini ta’minlovchi oyna (masalan,
WINDOWSning ishchi stoli) tushuniladi.
Interfeyslar, odatda, mantli va grafik turlarga bo‘linadi.
Matnli interfeyslar asosan klaviatura orqali xizmat so‘zlari bilan aloqa
o‘rnatishga mo‘ljallangan bo‘lib, ular asosan buyruqlar satri orqali amalga
oshiriladi. Bunday interfeyslarga DOS ekranini misol qilib keltirish mumkin.
Grafik interfeyslar kompyuter ekranining barcha nuqtalariga ma’lum
funksiyalarni biriktirib qo‘yuvchi grafik ko‘rinishdagi oynalardan iborat bo‘ladi.
Bunday interfeyslarda muloqatni sichqoncha orqali amalga oshirish imkoniyati
mavjud bo‘ladi. WINDOWSning ishchi stolini grafik interfeysiga misol keltirish
mumkin.
Grafik interfeyslarda ekrandagi kursor uchi qaysi nuqta ustida turgan bo‘lsa,
qilingan xarakat shu nuqtaga biriktirilgan vazifaga taaluqli bo‘ladi.
Avtomatlashtirilgan tizimlarda asosan grafik interfeyslardan foydalaniladi.
Ular avtomatlashtirilgan ob’ektlar to‘g‘risidagi ma’lumotlarni olish, holatini vizual
kuzatish, monitoring qilish va boshqaruv parametrlarini jo‘natish uchun xizmat
qiladi. Bunday interfeyslarga katta misol qilib AES larning avtomatlashtirilshan
boshqaruv interfeysini keltirish mumkin.
Hozirgi
kunda
avtomatlashtirilgan
jarayonlar
va
boshqaruvning
foydalanuvchi interfeyslari yaratish vositalari juda ko‘plab ishlab chiqilgan. Bunday
vositalardan biriga misol qilib SCADA tizimini keltirish mumkin. SCADA
(Supervisory Control And Data Acquisition - ma’lumot to‘plash va dispetcherlik
nazorati). Bu tizim interfeyslar yaratish va ob’ekt bilan ma’lumot almashish tizimini
yaratish uchun kuchli dasturiy vosita hisoblanadi.
Ushbu tizimning o‘rganish va kichik loyihalarni amalga oshirish uchun etarli
imkoniyatlarga ega bo‘lgan Scada SimpLight versiyasi ham mavjud. U yordamida
bizning fanimiz doirasidagi avtomatlashtirish ob’ektlari uchun foydalanuvchi
interfeyslarini yaratish mumkin.
Quyidagi rasmda Scada SimpLight tizimi yordamida bir necha minut
davomida joriy xona harorati va namligini monitoring qiluvchi foydalanuvchi
interfeysi taviri keltirilgan.
Nazorat savollari:
1. Foydalanuvchi interfeysi deganda nimani tushunasiz.
2. Avtomatlashtirilgan jarayonlarni boshqarish interfeysi qanday bo‘lishi
mumkin?
3. Scada tizimi nima?
4. SimLight tizimi qanday imkoniyatlarga ega.
Download