3. 8×8 matritsali indikatorlarda “O’tishga ruxsat” / “O’tish ta’qiqlangan” belgisini akslantirish
Ma’lumki “o’tishga ruxsat” yoki “o’tish ta’qiqlangan” simvoli indikatori ko’pgina qurilmalarda ya’ni binolarga kirish chiqish turniketlarida, markazlashtirilgan holda boshqariluvchi avtomatik qulfli eshiklarda ishlatiladi. Bunda “o’tishga ruxsat” yoki “o’tish ta’qiqlangan” simvoli indikatorining almashishi ruxsat berishni nazorat qiluvchi avtomatlashtirilgan modullar orqali yoki qandaydir tugmacha/qayta ulagich orqali boshqariladi.
Bunday indakatsiya qurilmalarini 11-rasmdagi ko’rinishdagidek, aynan bitta matritsali indikatorlarda amalga oshirish mumkin.
11-rasm. 8×8 matritsali svetodiodlarda amalga oshirilgan “o’tish” yoki “o’tish ta’qiqlangan” simvol ko’rinishi
Hozirda dunyoda RGB turidagi ikki xil rangli svetodiodlar matritsasi keng tarqalgan. Optoelektron qurilmalar ishlab chiqaruvchilar keng spektrdagi RGB tipidagi bir xil yoki ikki xil rangli to’g’ri to’rtburchak shaklidagi svetodiodli matritsalarni chiqarishmoqda. Ushbu svetodiodli matritsalarning namunaviy o’lchamlari 10 mm dan tortib 100 mmgacha bo’lib, 5x7 yoki 8x8 nuqtali piksellashtirilganligini uchratish mumkin. Masalan, GNM-23881BEG, RL- M2388SGBW, TBA2311SURKCGKWA, SLD2388BNA5BD matritsalar bir
turdagi ikki rangli matritsali indikatorlar oilasiga tegishlidir. Ushbu matritsali indikatorlarning o’lchami 60×60 mm atrofida, 8×8 nuqtali pikselga ega, har bir
piksel svetodiodi diametri 5 mm bo’lib, qatorlar bo’yicha umumiy anod
sxemasiga asosan ulangan.
Bunday svetodiodlar matritsasi svetodiodlari qatorlarga tegishli guruhga yig’ilgan. Aynan shu qatorda umumiy anod yoki umumiy katod ulanishiga e’tibor qaratish kerak. Chunki ulanishiga qarab, axborotni chiqarish usuliga qarab axborotni chiqishini ta’qiqlash mumkin. Buning uchun dinamik indikatsiya usulini qo’llash kerak bo’ladi.
12-rasmda qator bo’yicha umumiy anod sxemasi orqali ulangan ikki xil rangli svetodiodli matritsani dinamik indikatsiya printsipida yoritish sxemasi keltirilgan. Statik indikatsiyadan farqli ravishda, dinamik indikatsiyada istalgan svetodiodni ixtiyoriy vaqt momentida boshqarib bo’lmaydi. Ushbu tur indikatsiya usulida matritsali indikator svetodiodlariga axborotlarni chiqarish ketma-ket tartibda barcha qatorlar yoki ustunlar adresi bo’yicha navbatma- navbat amalga oshiriladi.
rasm. Ikki rangli 8×8 svetodiodli matritsada ko’k strelka belgisi amalga
oshirilgan dinamik indikatsiya sxemasi
rasmda xuddi shu sxema bo’yicha svetodiodli matritsada qizil krestik
belgisini yoritish amalga oshirilgan. Har bir muayyan vaqt momentida qaysidir ustun va bir necha qator adreslanadi. Aynan qaysi svetodiodlar yoritilganligi svetodiodli matritsaning 221, 192, 163, 134, 35, 66, 97, 138 (yuqoridagi indeks svetodiodli matritsa datasheetidagi qator tartibini bildiradi) chiqishlaridagi joriy ikkilik kodga bog’liq.
13-rasm. Ikki rangli 8×8 svetodiodli matritsada qizil krestik belgisi amalga
oshirilgan dinamik indikatsiya sxemasi
Rasmdagi svetodiodli matritsadagi qora rang bilan ajratilgan 24 (23), 21 (20), … , 7 (8), 10 (11) chiqimlar mikrokontroller ishlayotgan paytda mantiqiy “0” ga ya’ni “yerga” ulanadi. Natijada ustunlar bo’yicha kelayotgan ikkilik kodga mos holda svetodiodlar birin-ketin miltillab boshlaydi. Aslida svetodiod yonishi uchun mantiqiy “0” berish zarurb ammo mikrokontroller uchun bu
mantiqiy “1” demakdir. Buni quyidagi sxema orqali tushintirish mumkin.
Svetodiodni yonishi uchun, u orqali nurlatishga yetarli tok o’tishi kerak. Matritsaning har birqatori chiqimi zarur paytda kuchlanish yoki tok manbaiga ulanishi kerak. Ya’ni matritsa qatorlari chiqimlari tok cheklovchi rezistorlar va kuchlanish manbai, ushbu svetodiod kirishiga to’ridan to’g’ri ulanadi. Natijada svetodiodlarga berilayotgan tok cheklanadi.
Bunday svetodiodlarni boshqarish uchun quyidagilar kerak bo’ladi:
Qatorlarni tok manbaiga ulash uchun yuqori kalit;
Svetodiodlar katodlarini tok manbaining umumiy chiqishiga (yerga)
kommutatsiyalashga hizmat qiluvchi quyi kalitlar;
Kalitlarni ulab uzishni boshqaruvchi mikrokontroller.
2.13-rasmda svetodiodlar qatori/ustunini alohida boshqaruvchi diskret elementlardan tuzilgan printsipial sxema keltirilgan.
14-rasm. Svetodiodni boshqarish sxemasi
Bir tarafdan nazariy jihatdan ushbu 14-rasmdagi sxema ortiqchadek ko’rinishi mumkin. Ammo aslida amalda bunday emas. Quyi kalit Darlington juftligini, yuqori kalit balanslashtirilgan Shiklai kaskadini hosil qiladi. Yuqorigi kalitda mikrokontrollerdan chiqayotgan boshqarish signalini “yuqori” mantiqiy
sathga o’zgartirish amalga oshiriladi. Quyi kalitda esa “quyi” mantiqiy sathga o’tish amalga oshadi.
Natijada kalitlar ishlashi orqali quyidagilarga erishiladi:
svetodiodlarni kuchli tok bilan ta’minlovchi kalitlar bilan mikrokontroller chiqishidagi signal sathlari maslashtiriladi;
quyi kalitlar yordamida svetodiodlarni boshqaruvchi signallar inverslanadi;
v) qurilma montaj platasidagi elementlar soni qisqaradi. Chunki Darlington va SHiklai sxemalari to’plami 2, 4, 7, 8 kanalli yagona integral mikrosxema shaklida ishlab chiqariladi hamda mikrokontroller chiqishlariga to’g’ridan to’g’ri ulashga imkon beradi.
Quyidagi 15-rasmda indikatsiya qurilmasining printsipial sxemasi
keltirilgan.
Ushbu sxemada quyidagi komponentlar ishlatilgan:
Atmega48PA-AU mikrokontrolleri (TQFP32 korpusli SMD);
2 ta ULN2803 seriyali mikrosxemasi (SO18-300 korpusiga
joylashtirilgan 8-kanalli Darlington sxemasi to’plami);
74HC595 seriyali mikrosxema (SO16-150 korpusiga joylashtirilgan siljituvchi registr);
LD1117-5.0 yoki 7805 seriyali stabilizator (SOT223 yoki boshqa SMD korpusli mikrosxema);
YUqorida keltirilgan svetodiodli matritsalardan biri, masalan ko’p tarqalgan RL-M2388SGBW svetodiodli matritsa;
BC807-16 seriyali tranzistorlar (SOT23 korpusga joylangan 8 dona PNP turidagi tranzistor);
BC847B seriyali tranzistorlar (SOT23 korpusga joylangan 9 dona NPN turidagi tranzistor);
15-rasm. AVR mikrokontrollerida yig’ilgan printsipial sxema.
BZV55-C4V7 seriyali stabilitron (SOD80 korpus);
Ikkita elektrolitik kondensator( 220 mkF × 25 V);
1206 korpusga joylangan turli xil nominalli rezistorlar;
1206 korpusga joylangan turli xil nominalli keramik kondensator;
Atmel AVR mikrokontroller ISP programmatoriga mos keluvchi
ixtiyoriy olti kontaktli shina (ko’pincha PLS turidagi).
Yuqoridagi 15-rasmda keltirilgan sxemada “o’tish ta’qiqlangan” belgisini matritsali indikatorda yoritish uchun mikrokontrollerning signal kirishini manbaning musbat chiqishiga ulash kerak. “O’tishga ruxsat” belgisini yoritish uchun esa, manba umumiy chiqishi (“yer”)ga ulash kerak bo’ladi.
Buning uchun mikrokontroller signal kirishini doimo joriy holatini xuddi klaviatura tugmalariga so’rov shakllantirilgani kabi tekshirib turadi. Bunda mikrokontroller kirishini himoyalash uchun tranzistor bazasiga stabilitron ulangan (15-rasmga qarang).
Indikatorning ishlash algoritmi switch/case operatori yordamida amalga oshirilgan. Bunda algoritm bo’yicha apparatli taymer uzilishlari ustunlar matritsasini skanerlash qatordagi mavjud axborotlarni jadvalli qidirish chaqiriladi. Matritsali svetodiodlarni yoritish dasturi AVR Studio 4.18 muhitida yozilgan. Ushbu dasturiy ta’minot bilan ishlash to’g’risida bir qancha texnik adabiyotlarda ma’lumotlar keltirilgan. 16-rasmda ushbu dasturning blok sxemasi keltirilgan.
Mikrokontroller ishga tushishi bilan, mikrokontroller portlari va taymerlarini sozlash tugallanishi bilan asosiy while() tsikli ishga tushadi. SHunga bog’liq holda qurilma etarlicha sodda tuzilgan bo’lib, “O’tishga ruxsat” va “O’tish ta’qiqlangan” holatlarga so’rovlarni shakllantirish bevosita tugallanmaydigan tsikl orqali amalga oshirilgan. Tasvirni aylantirish kadr bo’yicha uzilishlarni qayta ishlash Timer2 registri to’lib toshishi natijasida sodir bo’ladi. Uzilishlarni qayta ishlash chastotasi 480 Hz atrofida bo’ladi. Bu esa
matritsa ustunlarini 480/8=60 Hzda skanerlash imkonini beradi. Ushbu minimal chastotada svetodiodlarning miltillashini inson ko’zi ilg’amaydi.
16-rasm. Indikatorlarni boshqaruvchi dastur blok sxemasi.
Mikrokontroller ichki RC generatori orqali 8 MHzda taktlanadi. Aslida bunday katta chastotaning keragi yo’q. Ammo tanlangan mikrokontroller Timer2 registri taktlash chastotasini 64 ga bo’lish xususiyatiga ega. SHuningdek taymer razryadligini e’tiborga oladigan bo’lsak (28 =256 gacha sanash) 8000000/64/256
= 488 Hz chastotani ya’ni 480 Hz ga yaqin chastotani olishimiz mumkin.
Svetodiodli matritsada shakllanuvchi tasvirlar ikkilik kodlar ko’rinishida jadval usulida beriladi. Ammo “O’tishga ruxsat” va “O’tish ta’qiqlangan” belgilarini shakllantirish massivi bir-biridan farq qiladi.
11 kadrli “O’tishga ruxsat” belgisini shakllantirish uchun ustunlar jadvalini bir qadamli oddiy siljitishni tashkil qilish uchun char tipidagi 8 dan +3 elementli massiv kifoya qiladi. 3 ta bo’sh qator “O’tishga ruxsat” belgisi yugurish yo’lagini ajratish uchun kerak.
“O’tish ta’qiqlangan” belgisini svetodiodli matritsada yoritish uchun dasturda 8 ta qatordan iborat 5 ta yoki undan ko’p kadrli kamida 40 ta ikkilik so’z kerak bo’ladi. Ya’ni kadrlar o’rtasidagi qadam 8 ga teng.
“O’tishga ruxsat” belgisini amalga oshiruvchi massiv qatorlari quyida
keltirilgan.
char drawing_matrix0[0x0B] =
{
0b00011000,
0b00111100,
0b01111110,
0b11111111,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00000000,
0b00000000,
0b00000000
};
Timer2 taymer uzilishlarini qayta ishlash dasturi quyidagicha bo’ladi: ISR(TIMER2_OVF_vect)
{
switch(global_state_flag
{ case(0x00):
{ show_cross(); break;
} case(0x01):
{ show_arrow(); break;
}
}
}
void show_arrow(void)
{ char index0 = column_number + shift_index; if(index0 >= drawing_matrix0_size)
index0 = index0 - drawing_matrix0_size;
PORTB = 0x00; //ULN2803 barcha kanali berk hc595_light_diode(drawing_matrix0[index0]); //qatorni chiqarish PORTB |= _BV(column_number); //ustunni yoritish column_number++; //joriy ustun raqamini bittaga orttirish if(column_number >= max_LEDs_column)
column_number = 0x00;
}
Xulosa.
Ushbu kurs ishida AVR mikrokontrollerlarini tadqiq qilishda Chip Blaster AVR programmatoridan foydalangan holda, eng ko’p tarqalgan AT90S2313,AT90S8515 va ATmega32 mikrokontrollerlari – CodeVisionAVR paketidan foydalangan holda C tilida dasturlanildi.
Mikrokontrollerlarini tadqiq qilishda kompyuterga AVR Studio 4.19 build 730 integrallashgan dasturlash muhiti, ISIS Proteus 7.64 imitator dasturiy paketi, CodeVision AVR 2.05.0. dasturlash muhiti, WinAVR dasturi, Chip Blaster AVR programmatori o’rnatilgan va sozlangan bo’lishi lozim.
Shuningdek, bu kurs ishida ishni ishlash davomida quyidagi ishlar amalga oshirildi:
Atmel AVR mikrokontrollerlari strukturasi va asosiy qurilmalari ishlash printsipi o’rganildi;
Chip blaster AVR programmatorini o’rnatish va sozlash ko’nikmalari shakllantirildi;
ISIS Proteus dasturida AVR mikrokontrollerlarining simulyatsion
modelini tuzish algoritmi ishlab chiqildi;
CodeVisionAVR paketida AVR mikrokontrollerlarini dasturlash va
tekshirish amalga oshirildi.
AVR mikrokontrollelarini ishlatilish sohalari juda ko’p hisoblanadi. Mikrokontrollerlar avtomobillarlarda turli xil intelluktual datchiklar ko’rinishida, o’yinchoqlar, kompyuterning bosh platasida, mobil telefonlarida tormoqga ulanish kontrollerlari, zaryadlash qurilmalari, tutun va olov detektorlari, maishiy texnikada, turli xil infraqizil nurli masofaviy boshqaruv pultlari sifatida ishlatlib kelinmoqda. Shunday ekan bunday mikrokontrollerlardan unumli foydalanishimiz kerak. Bu kurs ishida yuqoridagi fikrlar batafsil o’rganib chiqildi.
Dostları ilə paylaş: |