16 portli arduino boshqaruv releyidagi eskiz. Releyni Arduino-ga qanday ulash mumkin. Video eskiz natijasi

Ushbu maqolada arduino eskizlarida o'rni boshqarishning turli xil variantlari ko'rsatilgan. Misollar Arduino Uno-da sinovdan o'tkazildi, ammo ularni boshqa Arduino platalariga osongina qo'llash mumkin: Uno, Mega, Nano.

Ulanish diagrammasi

Ushbu misolda ulanish uchun barcha kerakli elementlar allaqachon o'rnatilgan standart ishlatiladi.Ulanish diagrammasi juda oddiy: o'rni moduli Arduino platasining 5-piniga ulangan. Shu bilan birga, soddaligi uchun biz hatto haqiqiy yukni ham ulay olmaymiz - o'rni har bir holat o'zgarishi bilan chertadi, biz bu sekin urishlarni eshitamiz va biz eskiz ishlayotganini tushunamiz.

Rele bilan ishlash uchun eskiz

/* * Arduino yordamida o'rni boshqarish uchun eskiz * SONGLE SRD-05VDC relesidan foydalaning * Boshqarish piniga LOW signali qo'llanilganda OCHIQ o'rni. * Boshqaruv piniga YUQORI signal qo'llanilganda YAPISH o'rni. * * Ushbu misolda biz har 5 soniyada o'rni ochamiz va yopamiz. * * PIN_RELAY o'rni ulangan PIN raqamini o'z ichiga oladi, biz uni nazorat qilamiz * * O'rnatish funksiyasida o'rni boshlang'ich holatini o'rnating (yopiq) * Agar yuk (masalan, lampochka) ulangan bo'lsa o'rni, keyin eskizni boshlagandan so'ng, u har 5 soniyada yonadi va o'chadi * * Miltillash davrini o'zgartirish uchun siz delay() funksiyasi parametrini o'zgartirishingiz kerak: 1000 millisekundni o'rnatish orqali siz 1 soniya kechikishga ega bo'lasiz. * * Haqiqiy loyihalarda o'rni sensorlar ulanishi orqali har qanday tashqi hodisalarni aniqlashga javoban yoqiladi * */ #define PIN_RELAY 5 // O'rni ulash uchun ishlatiladigan pinni aniqlang // Bu funktsiyada boshlang'ichni aniqlang. settings void setup() ( pinMode(PIN_RELAY, OUTPUT); // O'rni pinini chiqish sifatida e'lon qilish digitalWrite(PIN_RELAY, HIGH); // O'rni o'chirish - yuqori signal yuborish ) void loop() ( digitalWrite(PIN_RELAY, LOW) ); // O'rni yoqing - past signal darajasidagi kechikishni yuboring (5000); digitalWrite (PIN_RELAY, HIGH); // O'rni o'chiring - signalning yuqori kechikishini yuborish (5000); )

Harakat sensori bilan o'rni nazorat qilish eskizi

Haqiqiy loyihalarda rele holatining o'zgarishi atrof-muhitning ba'zi reaktsiyalariga javoban sodir bo'lishi kerak. Misol uchun, ishga tushirilgan harakat sensori signaliga javoban, o'rni yordamida kontaktlarning zanglashiga olib, yorug'likni yoqishingiz mumkin. Ushbu eskizda biz bunday ulanish variantini ko'rib chiqamiz.

Rele ulanish diagrammasi

Shuni tushunish kerakki, haqiqiy loyihalarda ular umuman arduinosiz - sensorning signal chiqishini o'rni bilan ulash orqali amalga oshiriladi.

Eskiz namunasi

Ushbu misolda biz digitalRead() funksiyasidan foydalangan holda tsiklga PIR holatini tekshirishni qo'shamiz. Agar biz YUQORI bo'lsak, bu sensor ishga tushirilganligini anglatadi va biz harakat qilamiz - o'rni yoqing. Agar siz unga lampochkani biriktirsangiz, u yonadi. Ammo, avvalgi misolda bo'lgani kabi, siz shunchaki bosishni tinglashingiz mumkin.

/* PIR sensori yordamida Arduino rölesini boshqarish uchun eskiz PIN_RELAY o'rni ulangan pin raqamini o'z ichiga oladi, biz uni boshqaramiz PIN_PIR ulangan PIR sensori bilan pin raqamini o'z ichiga oladi O'rnatish funksiyasida boshlang'ichni o'rnating. o'rni o'rni (yopiq) Loop funktsiyasining korpusida, digitalRead funksiyasidan foydalangan holda sensordan yuqori darajadagi signal mavjudligini tekshiring. Sensorning joriy qiymatini tuzatish uchun port monitorida sensorning joriy qiymatini ko'rsating. */ #define PIN_RELAY 8 // O'rni ulash uchun ishlatiladigan pinni aniqlang #define PIN_PIR 5 // PIR sensorini ulash uchun ishlatiladigan pinni aniqlang // Ushbu funktsiyada biz dastlabki sozlamalarni aniqlaymiz void setup() ( Serial.begin (9600); pinMode(PIN_RELAY, OUTPUT); // O'rni pinini chiqish sifatida e'lon qiling digitalWrite(PIN_RELAY, HIGH); // O'rni o'chiring - yuqori signal yuboring ) void loop() ( int val = digitalRead(PIN_PIR) ); // Harakat sensori qiymatini alohida o'zgaruvchiga o'qing, agar (val == HIGH) ( Serial. println("Sensor ishga tushirildi"); raqamli Yozish (PIN_RELAY, LOW); // O'rni yoqing - past signal darajasini yuboring ) boshqa ( digitalWrite(PIN_RELAY, HIGH); // O'rni o'chiring - yuqori signal darajasini yuborish ) kechikish(1000); // Qiymatlarni soniyada bir marta tekshiring. )

/*
*
* ArduinoKit tajriba to'plami
* 13-sonli tajriba uchun dastur kodi: 13-chizma
*
* Estafeta
*
* http://sayt uchun yozilgan
*
*
* Arduino hamjamiyatidan yordam.
* http://www.arduino.cc saytiga tashrif buyuring
*
*
*
* RELENI BOSHQARISH UCHUN TRANSISTORDAN FOYDALANISH
*
* O'rni elektr bilan boshqariladigan mexanik kalitdir.
* O'rni portlarga qaraganda ko'proq kuchlanish va oqimni boshqarishi mumkin
* Arduino yoki aytaylik tranzistor to'plamga kiritilgan. Agar
* siz akkor chiroqni boshqarish uchun Arduino dan foydalanmoqchisiz,
* kofe qaynatgich yoki 220V quvvatga ega boshqa elektron qurilma,
* Estafeta - buni qilishning ajoyib usuli.
* O'rni osongina kommutatsiya, kommutatsiya, katta bo'lishi mumkin
* Arduino porti taklif qiladigan kuchlanishdan ancha yuqori.
* Biz o'rni boshqarish uchun tranzistordan foydalanamiz,
* xuddi biz haydash uchun tranzistordan foydalanganimiz kabi
* 12-sonli tajribadagi dvigatel (boshlang'ich to'plam, dasturchi va robototexnika).
*
* O'rnimizni lasan, sim, metall yadro va
* kontaktlarni almashtirish. Quvvat lasanga qo'llanilganda, yadro
* magnitlangan va langarni (tutqichni) tortadi, shu bilan
* kontaktlarni almashtiradi. O'rni kontaktlari to'liq izolyatsiya qilinganligi sababli
* Arduino-dan siz boshqarish uchun o'rni xavfsiz ishlatishingiz mumkin
* xavfli kuchlanish, LEKIN! Iltimos, agar siz allaqachon bo'lsangiz, shunday qiling
* yuqori kuchlanish bilan qanday xavfsiz ishlashni biling va biling!
*
* O'rni uchta kontaktga ega, - COM (umumiy), NC (odatda yopiq)
* va NO (odatda ochiq). O'rni o'chirilganda, MAQOMOTI chiqadi
* NC (odatda yopiq) terminalga ulangan va yoqilganda,
* MAQOMOTI pin NO ga ulangan (odatda ochiq).
*
* Ushbu kod juda oddiy - u o'rni bir soniya davomida yoqadi
* o'chadi, bir soniya kutadi va tajribadagidek miltillovchi bilan yana yoqiladi
* LED!
*
* Uskunani ulash:
*
* Tranzistor:

* Tranzistorning uchta chiqishi bor. Yassi tomonga qarab
* pinlar pastga tushirilganda, pin tayinlashlari quyidagicha (chapda
* o'ngda): KOLLEKTOR, BAZA, EMITTER.
*
* BASEni 1K rezistor orqali raqamli port 2 ga ulang.
*
* EMITTERni erga (GND) ulang.
*
* O'rni bobini:
*
* O'rnimizni boshqarish uchun ishlatilishi mumkin bo'lgan lasan kontaktlari mavjud
* yukni boshqarish uchun o'rni va kontaktlar. tepada yoki
* o'rni pastki qismida rasm yoki belgi bo'lishi kerak,
* lasan kontaktlarini ko'rsatuvchi.
*
* Bobinning bir tomonini tranzistorning kollektoriga ulang.
*
* Bobinning boshqa tomonini +5 voltli quvvat manbaiga ulang.
*
* Diyot:
*
* O'rnimizni siz quvvatlantirish uchun lasan bor
* langarni torting. Quvvat o'chirilganda, bobin hosil bo'ladi
* tranzistorga zarar etkazishi mumkin bo'lgan kuchlanishning oshishi. Bu
* Diyot tranzistorni kuchlanish kuchlanishidan himoya qiladi.
*
* Diyot simini, KATODni +5 voltli quvvat manbaiga ulang.
*
* Diodning ikkinchi uchini, ANODEni tranzistorning KOLLEKTORiga ulang.
*
* O'rni va LED kontaktlari:
*
* O'rni kontaktlari yoqilgan yoki bo'lishi mumkin bo'lgan hamma narsani almashtirishi mumkin
* o'chiring, lekin biz ushbu darsda o'rni kontaktlaridan foydalanamiz
* LEDlarni yoqish va o'chirish uchun.
*
* O'rni kontakt guruhining umumiy chiqishini rezistorga ulang
* 330 Ohm. Rezistorning ikkinchi chiqishi +5 volt.
*
* NC o'rni kontakt guruhining chiqishini ulang (odatda yopiq)
* LED 1 ning musbat (uzun) terminaliga.
*
* NO o'rni kontakt guruhining chiqishini ulang (odatda ochiq)
* ikkinchi LEDning ijobiy (uzun) chiqishiga - LED 2.
*
* Ikkala LEDning salbiy simlarini (qisqa oyoqlarini) ulang
* erga (GND).
*
*
*
* Yozilgan dasturga sharh
* 2014 yil 26 noyabr
* maxsus http: // sayt uchun
*
*
*/
const int relayPin = 2; // tranzistorni boshqarish uchun port
const int timeDelay = 1000; // kechikish milodiy, o'rtasida. va o'chirilgan.

// Kechikish vaqtini qisqartirishingiz mumkin, lekin shuni yodda tuting
// o'rni mexanik qurilma bo'lib, eskiradi
// agar almashtirish chastotasi juda tez bo'lsa, tezroq.
bekor o'rnatish()
{
pinMode (relayPin, OUTPUT); // portni chiquvchi sifatida belgilang
}
void loop()
{
digitalWrite(relayPin, HIGH); // o'rni yoqish

digitalWrite (relayPin, LOW); // o'rni o'chiring

kechikish (vaqtni kechiktirish); // 1 soniya pauza

Maqolada o'rni kabi elektron qurilma tasvirlangan, uning ishlash tamoyillari qisqacha tushuntirilgan, shuningdek, LEDlarni boshqarish misolidan foydalanib, modulni Arduino-ga DC rölesi bilan ulash ko'rib chiqiladi.

Bizga kerak bo'ladi:

  • Arduino UNO (yoki mos plata);
  • Arduino IDE yoki boshqa rivojlanish muhitiga ega shaxsiy kompyuter;
  • o'rni bo'lgan modul (masalan, bunday);
  • 220 ohmli 4 ta rezistor (10 ohmdan 1 megohmgacha bo'lgan rezistorlar to'plamini sotib olishni tavsiya qilaman);
  • 4 ta LED (masalan, bunday to'plamdan);
  • ulash simlari (bu kabi).

1 Ishlash printsipi va rele turlari

O'rni - elektr zanjirini yopish va ochish uchun elektromexanik qurilma. Klassik versiyada o'rni kontaktlarning ochilishi yoki yopilishini boshqaruvchi elektromagnitni o'z ichiga oladi. Oddiy holatda o'rni kontaktlari ochiq bo'lsa va nazorat kuchlanishi qo'llanilganda ular yopiladi, bunday o'rni yopish deb ataladi. Agar normal holatda o'rni kontaktlari yopiq bo'lsa va nazorat kuchlanishi qo'llanilsa, ular ochiladi, bu turdagi o'rni bosimining ko'tarilishi rölesi deb ataladi.

Bundan tashqari, ko'plab boshqa turdagi o'rni mavjud: kommutatsiya, bir kanalli, ko'p kanalli, doimiy yoki o'zgaruvchan tok o'rni va boshqalar.

2 Ulanish diagrammasi o'rni moduli SRD-05VDC-SL-C

Biz SRD-05VDC-SL-C yoki shunga o'xshash turdagi ikkita bir xil o'rni bo'lgan moduldan foydalanamiz.

Modulda 4 ta ulagich mavjud: quvvat ulagichlari K1 va K2, boshqaruv ulagichi va tashqi quvvat manbai uchun ulagich (jumper bilan).

SRD-05VDC-SL-C tipidagi o'rni yukni ulash uchun uchta kontaktga ega: ikkita ekstremal sobit, o'rtada esa - kommutatsiya. Bu zanjirlarni u yoki bu tarzda almashtiradigan o'ziga xos "kalit" bo'lgan o'rta kontaktdir. Modulda o'rni kontakti odatda yopiq bo'lganligi haqida ko'rsatma mavjud: "K1" va "K2" belgilari o'rta kontaktni chap tomondagi (rasmda) bilan bog'laydi. IN1 yoki IN2 (past kuchlanishli boshqaruv ulagichi) kirishiga nazorat kuchlanishini qo'llash o'rni K1 yoki K2 kontakt guruhining o'rta kontaktini o'ngga (quvvat ulagichi) almashtirishiga olib keladi. O'rnimizni almashtirish uchun etarli bo'lgan oqim taxminan 20 mA ni tashkil qiladi, Arduino raqamli pinlari 40 mA gacha bo'lishi mumkin.


Tashqi quvvat ulagichi Arduino platasi va o'rni moduli o'rtasida elektr izolyatsiyasini ta'minlash uchun ishlatiladi. Odatiy bo'lib, JD-VCC va VCC pinlari orasidagi ulagichda o'tish moslamasi mavjud. U o'rnatilganda, modul quvvat uchun boshqaruv konnektorining VCC piniga qo'llaniladigan kuchlanishdan foydalanadi va Arduino platasi moduldan galvanik ravishda ajratilmaydi. Agar siz modul va Arduino o'rtasida galvanik izolyatsiyani ta'minlashingiz kerak bo'lsa, modulga tashqi quvvat ulagichi orqali quvvat berishingiz kerak. Buning uchun jumper chiqariladi va JD-VCC va GND pinlariga qo'shimcha quvvat beriladi. Shu bilan birga, quvvat boshqaruv konnektorining VCC piniga ham beriladi (+5 V Arduino dan).

Aytgancha, o'rni bizning misolimizda bo'lgani kabi, nafaqat past oqim yukini o'zgartirishi mumkin. O'rni yordamida siz juda katta yuklarni yopishingiz va ochishingiz mumkin. Qaysi biri - ma'lum bir o'rni uchun texnik tavsifga qarash kerak. Misol uchun, ushbu SRD-05VDC-SL-C o'rni 10 A gacha bo'lgan oqim va 250 V AC yoki 30 V doimiy kuchlanishli tarmoqlarni almashtirishi mumkin. Ya'ni, masalan, kvartiraning yoritilishini nazorat qilish uchun foydalanish mumkin.

Estafeta nomini qayerdan olgan?

Britaniyalik olim Lord Reyli nomidan - 28,6%

Charchagan pochta otlarini almashtirish tartibidan - 57,1%

Yorqinlikni o'lchashning jismoniy miqdori nomidan - 0%


Ushbu misolda bizga Arduino va o'rni modulining galvanik izolyatsiyasi kerak emas, shuning uchun biz modulni to'g'ridan-to'g'ri Arduino platasidan quvvatlaymiz va jumperni joyida qoldiramiz. Keling, rasmda ko'rsatilgandek sxemani yig'amiz. Ishlatilgan rezistorlar - 220 Ohm, har qanday LED.


Agar LEDlar hech qachon o'chmasa, siz o'rni o'rta nuqtasini pinlarga emas, balki ulashingiz mumkin D4 Va D5 Arduino, lekin to'g'ridan-to'g'ri +5 V ga.

3 Releni boshqarish eskizi Arduino yordamida

Biz navbat bilan bir xil rangdagi bir juft LEDni yoqamiz va har soniyada boshqa rangdagi juftlikka o'tamiz. Keling, shunday eskiz yozaylik.

const int relay1 = 2; // 1-relening boshqaruv pinini const int relay2 = 3; // 2-o'rni boshqaruv pinini const int led1 = 4; // o'chirilgan chiqish - 1-LEDning quvvat manbai const int led2 = 5; // o'chirilgan chiqish - 2-chi LED bekor o'rnatishning quvvat manbai () ( pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); // ikkala o'rni ham o'rnating ularning asl holati: digitalWrite(relay1, HIGH); digitalWrite(relay2, HIGH); // LEDlarni quvvat bilan ta'minlash: digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); ) void loop() ( // ikkalasini almashtirish o'rni: digitalWrite (relay1, LOW); digitalWrite (relay2, LOW); kechikish (1000); // ikkala o'rni ham orqaga o'tkazing: digitalWrite (relay1, HIGH); digitalWrite (relay2, HIGH); kechikish (1000); )

Agar siz yuqoridagi sxema bo'yicha emas, balki D4 va D5 o'rniga o'rni markaziy nuqtasini to'g'ridan-to'g'ri + 5V ta'minotiga ulagan bo'lsangiz, u holda konstantalardan led1 Va led2 va eskizda ular bilan bog'liq bo'lgan barcha kodlardan qutulish uchun butunlay og'riqsiz bo'lishi mumkin.

Endi eskizni Arduino xotirasiga yuklaymiz. Bu men uchun qanday ko'rinadi. O'rni soniyada bir marta baland ovoz bilan chertadi va LEDlar quvnoq miltillaydi.


Aytgancha, boshqa turdagi kommutatsiya qurilmalari mavjud, masalan, optokupller. Ushbu qurilmalarda mexanik qismlar mavjud emas, bu ularning aşınma qarshiligini va javob tezligini sezilarli darajada oshiradi. Bundan tashqari, ular kichikroq va kamroq quvvat sarflaydi.

SRD-05VDC-SL-C o'rni texnik tavsifini (ma'lumotlar jadvalini) yuklab oling

O'rnimizni nisbatan kichik kuchlanish yordamida turli quvvat uskunalari va boshqa qurilmalarni almashtirish uchun ishlatiladi. Klassik versiyada eng oddiy o'rni nazorat kuchlanishi qo'llaniladigan lasan va boshqaruv ob'ektining sxemasini yopadigan yoki ochadigan kontaktdan iborat. Boshqarish funktsiyasidan tashqari, o'rni galvanik izolyatsiya tufayli boshqaruv pallasini himoya qilishni ham ta'minlaydi, chunki bobin va kontakt o'rtasida kuchlanishning bir zanjirdan ikkinchisiga o'tishiga imkon bermaydigan bo'shliq mavjud. Yaqinda mashhur Arduino platasi bilan tanish bo'lgan boshlang'ich hams o'z loyihalarida relelardan foydalanishga qiziqadi, lekin qaerdan boshlashni bilmaydi.


Shuning uchun ushbu material Arduino va o'rni ishlatish qulayligini ko'rsatadi. Avvalo, u Arduino bilan tanishadigan va ushbu kengash asosida to'playdigan yangi boshlanuvchilar uchun mo'ljallangan.



O'rni sxemasini yaratish uchun bizga Arduino, bitta 1KŌ qarshilik, bitta 10KŌ rezistor, bitta BC547 tranzistor, bitta 6V yoki 12V o'rni, bitta 1N4007 diod kerak va nazorat ob'ekti sifatida 12V fanni olish kerak. :



Tugmani bosgandan so'ng, fan yoqilishi va tugma yana bosilmaguncha aylanishi kerak. Bunday algoritm uchun eskiz:


int pinButton = 8; int o'rni = 2; int stateRelay = LOW; int state tugmasi; int oldingi = LOW; uzoq vaqt = 0; uzoq davom etish = 500; void setup() ( pinMode(pinButton, INPUT); pinMode(Relay, OUTPUT); ) void loop() (stateButton = digitalRead(pinButton); if(stateButton == HIGH && oldingi == LOW && millis() - vaqt > debouce) ( if(stateRelay == HIGH)( stateRelay = LOW; ) else ( stateRelay = HIGH; ) time = millis(); ) digitalWrite(Relay, stateRelay); oldingi == stateButton; )

Xo'sh, bizning sxemamiz qanday ishlaydi? Tugmachani bosgandan so'ng, Arduino 2-pinni yuqori mantiqiy holatga keltiradi, ya'ni pin 5 V kuchlanishga ega bo'ladi. Bu kuchlanish tranzistorni yoqish uchun ishlatiladi, u o'rni yoqadi, shundan keyin bizning yukimiz. (bu holda fan) asosiy quvvat manbaidan quvvatlanadi.


Siz tranzistorni quvvatlantirish va yuklash uchun 5V USB portidan foydalana olmaysiz, chunki etarli oqim bo'lmaydi. Shuning uchun, Arduino va tranzistor-rele pallasini quvvatlantirish uchun 7-12V tashqi Vcc ta'minotidan foydalanishingiz kerak. Yuk o'z quvvat manbaidan foydalanadi. Siz, masalan, chiroqni yuk sifatida ishlatishingiz va uni 220 V dan quvvatlantirishingiz mumkin. Va hech qanday holatda Arduino quvvatini va yuk kuchini ulamang!


Endi o'rni o'chirilganida kechikish qo'shib, dasturimizni biroz murakkablashtiramiz. Bu erda stayON o'zgaruvchisi kechikish davrini millisekundlarda belgilash uchun ishlatiladi (standart 5 soniya). Natijada, tugmani bosgandan so'ng, o'rni yoqiladi va 5 soniyadan keyin u o'chadi. Kod:


int pin tugmasi = 8; int o'rni = 2; int stateRelay = LOW; int state tugmasi; int oldingi = LOW; uzoq vaqt = 0; uzoq davom etish = 500; int stayON = 5000; //5000ms kechikish bekor oʻrnatish() ( pinMode(pinButton, INPUT); pinMode(Relay, OUTPUT); ) bekor loop() (stateButton = digitalRead(pinButton); if(stateButton == YUKORI && oldingi == LOW && millis( ) - vaqt > bekor qilish) ( if(stateRelay == HIGH)( digitalWrite(Relay, LOW); ) else ( digitalWrite(Relay, HIGH); kechikish(stayON); digitalWrite(Relay, LOW); ) time = millis () ; ) oldingi == holat tugmasi; )

Endi, ushbu misolda keltirilgan ma'lumotlar tufayli siz yangi Arduino loyihalaringizga o'rni xavfsiz qo'shishingiz mumkin.


Arduino yordamida boshqa fanni boshqarish sxemasi mumkin.

Kuchli yukni to'g'ridan-to'g'ri Arduino-ga ulash, masalan, yoritish chiroq yoki elektr nasos ishlamaydi. Mikrokontroller bunday yukni ishlatish uchun zarur quvvatni ta'minlamaydi. Arduino chiqishlari orqali oqishi mumkin bo'lgan oqim 10-15 mA dan oshmaydi. O'rni qutqarish uchun keladi, uning yordamida siz katta oqimni o'zgartirishingiz mumkin. Bunga qo'shimcha ravishda, agar yuk o'zgaruvchan tok bilan quvvatlansa, masalan, 220v, u holda siz umuman o'rnisiz qilolmaysiz. Arduino-ga kuchli yuklarni o'rni orqali ulash uchun odatda o'rni modullari ishlatiladi.

Kommutatsiyalangan yuklar soniga qarab, bir, ikki, uch, to'rt va undan ko'p kanalli o'rni modullari qo'llaniladi.

Men Aliexpress-da bir va to'rtta kanalli modullarni mos ravishda 0,5 va 2,09 dollarga sotib oldim.

4-kanalli HL-54S V1.0 moduli misolidan foydalanib, Arduino uchun modul o'rni qurilmasi.

Keling, ushbu modulning qurilmasini batafsil ko'rib chiqaylik, ushbu sxema bo'yicha barcha ko'p kanalli modullar odatda qurilgan.

Modulning sxematik diagrammasi.

Arduino chiqishlarini o'rni bobinidagi kuchlanish kuchlanishidan himoya qilish uchun J3Y tranzistor va 817C optokupller ishlatiladi. E'tibor bering, pindan signal In optokuplning katodiga qo'llaniladi. Bu shuni anglatadiki, o'rni kontaktlarni yopish uchun siz pinga murojaat qilishingiz kerakIn mantiqiy 0 (teskari signal).

Bundan tashqari, pindan signalga ega modullar mavjud In optokuplning anodiga qo'llaniladi. Bunday holda, siz topshirishingiz kerak har bir pin uchun mantiq 1In, o'rni ishlatish uchun.

Modullarni yoqish / o'chirish mumkin bo'lgan yuk kuchi plataga o'rnatilgan o'rni bilan cheklangan.

Bunday holda elektromexanik o'rni ishlatiladi. Songle SRD-05VDC-SL-C, u quyidagi xususiyatlarga ega:

Ishlash kuchlanishi: 5 V
Bobinning ish oqimi: 71 mA
Maksimal o'tish oqimi: 10A
Maksimal o'zgaruvchan doimiy kuchlanish: 28 V
Maksimal o'zgaruvchan tok kuchlanishi: 250 V
Ishlash harorati:-25 dan +70 ° C gacha

Songle SRD-05VDC-SL-C o'rni 5 ta pinga ega. 1 Va 2 o'rni kuchi. Aloqa guruhi 3 Va 4 odatda ochiq kontaktlar ( YO'Q), aloqa guruhi 3 Va 5 - odatda yopiq NC).

Shunga o'xshash o'rni turli xil kuchlanishlarda bo'ladi: 3, 5, 6, 9, 12, 24, 48 V. Bunday holda, o'rni modulini to'g'ridan-to'g'ri Arduino'dan quvvatlantirish imkonini beruvchi 5 voltli versiya ishlatiladi.

Doskada jumper bor ( JDVcc), o'rni Arduino yoki alohida quvvat manbaidan quvvatlantirish uchun.

Pinami In1,In2,In3,In4 modul Arduino ning raqamli pinlariga ulangan.

HL-54S V1.0 o'rni modulini Arduino-ga ulash.

Bizda 5 voltli o'rni bo'lgan modul mavjud bo'lganligi sababli, biz uni ushbu sxema bo'yicha ulaymiz, quvvatni Arduino-ning o'zidan olamiz. Misolda, men bitta o'rni ulayman, yuk sifatida 220 V lampochkadan foydalanaman.

Arduino-dan o'rni modulini quvvatlantirish uchun jumper pinlarni yopishi kerak " Vcc"Va" JDVcc”, odatda sukut bo'yicha u erda o'rnatiladi.

Agar sizning o'rni 5 volt bo'lmasa, modulni Arduino-dan quvvatlay olmaysiz, alohida manbadan quvvat olishingiz kerak.

Quyidagi diagramma modulni alohida manbadan qanday quvvatlantirishni ko'rsatadi. Ushbu sxema bo'yicha siz 5 V dan ko'p yoki kamroq quvvat olish uchun mo'ljallangan o'rni ulashingiz kerak. 5 voltli o'rni uchun bu sxema ham afzalroq bo'ladi.

Ushbu ulanish bilan siz pinlar orasidagi jumperni olib tashlashingiz kerak " Vcc"Va" JDVcc". Keyingi pin " JDVcc» ga ulanish + » tashqi quvvat manbai, pin « Gnd» ga ulanish - " quvvatlantirish manbai. Pin " Gnd", oldingi sxemada pinga ulangan" Gnd»Arduino bu sxemaga ulanmagan. Mening misolimda tashqi quvvat manbai 5 V, agar sizning o'rni boshqa kuchlanish uchun mo'ljallangan bo'lsa (3, 12, 24 V), tegishli tashqi quvvat manbaini tanlang.

Arduino orqali o'rni modulini boshqarish uchun eskiz.

Keling, Arduino-ga eskizni yuklaymiz, u lampochkani (miltillovchi chiroq) o'zi yoqadi va o'chiradi.

int relayPin = 7;

bekor o'rnatish()(
pinMode (relayPin, OUTPUT);
}

void loop() (
digitalWrite (relayPin, LOW);
kechikish (5000);
digitalWrite(relayPin, HIGH);
kechikish (5000);
}

Mos ravishda int relayPin = 7; pin ulangan Arduinoto raqamli pin sonini belgilang In1 modul o'rni. Siz har qanday raqamli pinga ulanishingiz va uni ushbu qatorda ko'rsatishingiz mumkin.

Mos ravishda kechikish (5000); yorug'lik yonadigan va o'chadigan vaqtning qiymatini o'zgartirishingiz mumkin.

Mos ravishda digitalWrite (relayPin, LOW); mantiqiy nolni qo'llashda ko'rsatilgan ( PAST), o'rni moduli kontaktlarni yopadi va chiroq yonadi.

Mos ravishda digitalWrite(relayPin, HIGH); mantiqiy birlikni qo'llashda ko'rsatilgan ( YUQORI), o'rni moduli kontaktlarni ochadi va chiroq o'chadi.

Ko'rib turganingizdek, qatorda digitalWrite (relayPin, LOW); chap parametr PAST. Agar o'rni kontaktlarni yopsa va yorug'lik yoqilsa, u holda pin In1 men kabi mantiqiy nolni boqish kerak. Agar chiroq yonmasa, biz parametrni almashtiradigan eskizni yuklang PAST ustida YUQORI.


Videodagi eskizning natijasi.

Keling, sxemaga soat tugmachasini qo'shamiz va uni bosganingizda, o'rni moduli lampochkani yoqadi.

Biz tugmachani 10k tortishish qarshiligi bilan bog'laymiz, bu tashqi pikaplarning kontaktlarning zanglashiga olib kelishiga ta'sir qilishiga yo'l qo'ymaydi.

Eskiz yuklanmoqda

Mos ravishda if(digitalRead(14)==YUQORI) tugma ulangan raqamli pin raqamini o'rnating. Siz har qanday bepul ulanishingiz mumkin. Misolda, bu analog pinA0, u raqamli 14 pin sifatida ham ishlatilishi mumkin.

Mos ravishda kechikish (300); qiymat millisekundlarda berilgan. Bu qiymat tugmani bosgandan yoki qo'yib yuborgandan so'ng qancha vaqt davomida harakatlar bajarilishi kerakligini bildiradi. Bu kontaktlarning zanglashiga qarshi himoya.

Ma'lumot uchun! Barcha analog kirishlarA0 dan ( 14) gacha raqamlangan A5 (19), raqamli sifatida foydalanish mumkin ( raqamli PWM).

Xulosa qilib aytganda, videodagi eskizning natijasi.

Arzonroq o'rni modullari o'z pallasida optokuplni o'z ichiga olmaydi, masalan, mening holatimda bitta kanalli modul bilan.



Bir kanalli rele modulining sxemasi. Ishlab chiqaruvchi optokuplni tejaydi, shuning uchun Arduino platasi galvanik izolyatsiyasini yo'qotdi. Bunday taxtaning ishlashi uchun pin ustida In mantiqiy nol bo'lishi kerak.

Modul relesini Arduino Due ga ulash.

Arduino Due 3,3 voltda ishlaydi, bu uning kirish/chiqishlarida bo'lishi mumkin bo'lgan maksimal kuchlanishdir. Yuqori kuchlanish bo'lsa, taxta yonib ketishi mumkin.

Savol tug'iladi, modulni o'rni bilan qanday ulash mumkin?

JDVcc jumperini olib tashlang. PIN-kodni ulash " Vcc» modulning o'rni platasida mahkamlash uchun "3,3 V» Arduino. Agar o'rni 5 voltga baholangan bo'lsa, pinni ulang " GND» modulli rele platasi, pinli « GND» Arduino Due. Pin " JDVcc» PIN ga ulanish « 5V» Arduino Due platasida. Agar o'rni boshqa kuchlanish uchun mo'ljallangan bo'lsa, biz rasmdagi kabi quvvatni o'rni bilan bog'laymiz, misolda u 5 volt. Agar sizda ko'p kanalli o'rni moduli bo'lsa, buni tekshiring « JDVcc » barcha o'rni bir tomoniga ulangan. Optokupler 3,3V signal bilan faollashtiriladi, bu esa o'z navbatida o'rni yoqish uchun ishlatiladigan tranzistorni faollashtiradi.

Arduino orqali kuchli yukni almashtirish uchun triak qattiq holat o'rni

Maqola yoqdimi? Do'stlar bilan baham ko'ring: