Laboratoriya ishi №22. Elektr haydovchi misolida aylanishni o‘zgartirish. Laboratoriya ishining maqsadi


Download 0.59 Mb.
bet1/4
Sana18.06.2023
Hajmi0.59 Mb.
#1582728
  1   2   3   4
Bog'liq
22,23,24-labaratoriya


Laboratoriya ishi № 22.
Elektr haydovchi misolida aylanishni o‘zgartirish.
Laboratoriya ishining maqsadi: Yetti segmentli bir xonali ko‘rsatkich bilan tanishish va uni loyihalarda qo‘llash.
Laboratoriyaning nazariy qismi.
Dala / bipolyar tranzistorni Arduinoga ulash - bu darsda biz qurilma va elektron avtomatlashtirishda tranzistorlardan foydalanishni ko‘rib chiqamiz. Biz namlik sensori yoki fotorezistor ko‘rsatkichlariga qarab shahar motorining ishlashini dasturlashtiramiz. If, else iboralarini ishlatishni eslaylik va C ++ tilida tez -tez ishlatiladigan unsigned int ma'lumotlar turini ko‘rib chiqamiz.
Transistorning qurilmasi va ishlash printsipi
Transistor - bu elektr tebranishlarini kuchaytirish va ishlab chiqarishga mo‘ljallangan yarimo‘tkazgichli qurilma. Transistorlar - bu shahar tarmoqlarining kalitlari (tugmalari). Bipolyar tranzistorlar elektr zanjirlarini 50 V gacha, dala effektli tranzistorlar 100 V gacha bo‘lgan qurilmalarni (5 V kuchlanishli) boshqarishi mumkin. O‘zgaruvchan tokli tarmoqlarda men o‘z o‘rni ishlataman.

Rasm Dala effektli va bipolyar tranzistorli qurilma
Tranzistorning tagida yoki darvozasida kuchlanish bo‘lmasa, emitent va kollektor birikmasi muvozanatda bo‘ladi, toklar ular orqali o‘tmaydi va nolga teng. Shunday qilib, bipolyar tranzistorning tagiga 5 V kuchlanishni qo‘llash orqali biz 50 voltgacha bo‘lgan elektr zanjirlarini yoqishimiz mumkin. Bugungi kunda bu yarimo‘tkazgich element deyarli har qanday qurilmada (telefon, kompyuter va hk) mavjud.
Transistorlar mantiqiy mikrosxemalar, xotira va kompyuter mikroprotsessorlarini yaratish uchun asosdir. Transistor - bu yarimo‘tkazgichli materialdan, odatda uch terminalli, yuqori kuchlanishli oqimni kirish signali orqali boshqarishga imkon beradigan elektron element. Transistorni ishlatish DC motorini Arduino -ga ulashning eng oson yo‘li.


Laboratoriyaning amaliy qismi.
Modelni yig‘ish uchun bizga quyidagilar kerak:

    • Arduino Uno / Arduino Nano / Arduino Mega platasi;

    • plata (doska);

    • 1 bipolyar tranzistor;

    • 1 ta doimiy dvigatel;

    • 1 dan 10 kOm gacha bo‘lgan 2 ta rezistor;

    • papa-papa va papa-mama simlari.

Siz shahar motorini to‘g‘ridan -to‘g‘ri Arduino raqamli yoki analog portlariga ulay olmaysiz. Buning sababi, Arduino platasidagi pinlar 40 mA dan yuqori tokni uzatishga qodir emas. Bunday holda, shahar motoriga yukga qarab, yuzlab milliamperlar kerak bo‘ladi. Shu sababli, yuqori kuchlanishli elektr zanjirini L293D tranzistorli yoki Dvigatel qalqoni bilan boshqarishga ehtiyoj bor.


Modelning Arduinoga ulanish sxemasi quyidagicha:

DC motorini Arduinoga ulash sxemasi
Elektr sxemasini yuqoridagi rasmda ko‘rsatilgandek yig‘ing. Agar siz panelda yig‘ilishiga diqqat bilan qarasangiz, tranzistor tugma vazifasini bajarayotganini sezasiz. Agar tugma itargich bosilganda elektr zanjirini yopsa, u holda tranzistor tayanchga kuchlanish qo‘llanilganda tokni o‘tkaza boshlaydi. Shunday qilib, biz Arduino-da avtomatik yoki yarim avtomatik dvigatelni boshqarishimiz mumkin.
Ushbu model uchun quyidagi dastur mos keladi:
void setup() {
pinMode(11, OUTPUT); // 13 pin ni chiqishini e’lon qilamiz
}
void loop() {
digitalWrite(11, HIGH); // svetodiodni yoqamiz
delay(2000); // 2 sekund kutamiz
digitalWrite(11, LOW); // svetodiodni o‘chiramiz
delay(2000); // 2 sekund kutamiz
}
Agar siz payqagan bo‘lsangiz, bu darsdan olingan eskiz - Arduinodagi LEDni yoqish. Mikroprotsessor nuqtai nazaridan, Pin13 bilan nima bog‘liqligi muhim emas - LED, tranzistor yoki Arduinodagi Lightsaber uchun LED drayveri. E'tibor bering, R1 rezistori tranzistorning poydevorini erga tortadi va R2 qarshiligi mikrokontroller portini ortiqcha yuklanishdan himoya qiladi.
Kod. Sensorli motorni boshqarish
Arduino DC motorini boshqarish kodini boshqacha yozish mumkin. Keling, kontaktlarning zanglashiga fotorezistorni qo‘shamiz va xonadagi yorug‘lik darajasi pasayganda motorni avtomatik ravishda yoqamiz. Suyuqlik darajasi sensori yoki boshqa sensorlardan ham foydalanishingiz mumkin. Eskizda biz DC motorini boshqarish (yoqish / o‘chirish) uchun if va else iboralaridan foydalanamiz.

Arduino UNOda shahar motorini boshqarish
// A0 analog kirish uchun nom bering
#define sensor A0
// A0 analog kirish qiymatlari uchun nom bering
// unsigned int faqat musbat sonlarni qabul qiladi
unsigned int value = 0;
void setup() {
// 11 pin tranzistorli chiqish bo‘ladi (англ. «output»)
pinMode(11, OUTPUT);
}
void loop() {
// A0 analog kirishda fotorezistordan qiymatni o‘qing
value = analogRead(sensor);
// Agar qiymat 500 dan past bo‘lsa, tranzistorni yoqing
if (value<500) digitalWrite(9,HIGH);
// Aks holda (agar qiymati> 500 bo‘lsa), tranzistorni o‘chiring
if (value>500) digitalWrite(9, LOW);
}


Download 0.59 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4




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