Arduino kód a video pre polovodičové relé na ovládanie AC žiarovky alebo záťaže
V tomto návode si ukážeme, ako použiť polovodičové relé (SSR) na ovládanie AC alebo DC záťaže, napríklad žiarovky. Polovodičové relé umožňuje bezpečné a efektívne spínanie elektrických záťaží pomocou nízkonapäťového signálu z Arduina. Na konci tohto návodu budete mať funkčné zapojenie, ktoré dokáže zapínať a vypínať svetlo v určených intervaloch.

Na realizáciu tohto projektu použijeme SSR, konkrétne model G3MB-202P, ktorý zvládne záťaže do 2A. Relé bude ovládané digitálnym pinom z dosky Arduino, čo nám umožní posielať signál, ktorý zapína alebo vypína záťaž. Tento projekt je nielen praktický, ale slúži aj ako skvelý úvod do práce s relé a Arduinom.
Podrobné vizuálne vysvetlenie nájdete v sprievodnom videu (vo videu o 00:00).
Vysvetlenie hardvéru
V tomto projekte je hlavným komponentom polovodičové relé G3MB-202P. Toto relé umožňuje ovládať vysokonapäťovú záťaž nízkonapäťovým signálom. Funguje na princípe optoizolátora, ktorý spína obvod záťaže a zabezpečuje elektrické oddelenie medzi riadiacou stranou a stranou záťaže. Relé má tri piny: DC+, DC- a vstupný kanál, ktorý sa pripája k Arduinu.
Keď je vstupný signál nízky (0V), relé sa aktivuje a umožní prechod prúdu cez záťaž. Naopak, keď je vstupný signál vysoký (5V), relé sa vypne a preruší prúd do záťaže. Tento mechanizmus nízkeho spúšťania je nevyhnutný na bezpečné riadenie vysokonapäťových zariadení bez priameho elektrického kontaktu.
Podrobnosti z datasheetu
| Výrobca | Omron |
|---|---|
| Označenie súčiastky | G3MB-202P |
| Logické/IO napätie | 5 V |
| Napájacie napätie | 5–24 V |
| Výstupný prúd (na kanál) | 2 A |
| Špičkový prúd (na kanál) | 4 A |
| Odporúčaná frekvencia PWM | Do 1 kHz |
| Logické prahové hodnoty vstupu | Nízka: 0–1,5 V, Vysoká: 3–30 V |
| Pokles napätia / RDS(on) / saturácia | Max. 1,5 V |
| Tepelné limity | –30 až 100 °C |
| Puzdro | Through-hole |
| Poznámky / varianty | Dostupné v rôznych hodnotách vstupného napätia |
- Uistite sa, že relé je dimenzované na záťaž, ktorú chcete ovládať.
- Pri prevádzke blízko maximálneho prúdového zaťaženia použite vhodné chladenie.
- Skontrolujte zapojenie, aby ste predišli problémom s obrátenou polaritou.
- Použite oddeľovacie kondenzátory na napájacích vedeniach.
- Pozor na plávajúce vstupy; uistite sa, že riadiaci signál je správne uzemnený.
- Overte, či je frekvencia PWM v rámci špecifikácií relé pre spínacie aplikácie.
Pokyny na zapojenie

Zapojenie polovodičového relé je jednoduché. Pripojte kladný terminál relé (DC+) na pin 5V na Arduine. Záporný terminál (DC-) pripojte na zem (GND) Arduina. Vstupný pin, ktorý ovláda relé, sa pripája na digitálny pin 8 na Arduine. Tento pin bude posielať nízky alebo vysoký signál na aktiváciu alebo deaktiváciu relé.
Na strane záťaže pripojte jeden vodič z AC žiarovky na výstupný terminál relé a druhý vodič na AC napájanie. Použite vhodné konektory a uistite sa, že všetky spojenia sú pevné, aby ste predišli elektrickým rizikám.
Príklady kódu a vysvetlenie
Tu je stručný prehľad kódu pre Arduino na ovládanie polovodičového relé:
int relayPin = 8; // nastavenie pinu 8 pre výstup relé
void setup() {
Serial.begin(9600); // inicializácia sériovej komunikácie
pinMode(relayPin, OUTPUT); // nastavenie pinu relé ako výstup
}
V tomto úryvku definujeme relayPin ako 8, čo zodpovedá digitálnemu pinu pripojenému k relé. Funkcia setup() inicializuje sériovú komunikáciu a nastaví pin relé ako výstup.
void loop() {
digitalWrite(relayPin, LOW); // zapnutie relé
Serial.println("Relay ON"); // výstup do sériového monitora
delay(2000); // čakanie 2 sekundy
}
Vo funkcii loop() zapneme relé nastavením relayPin na LOW, čo aktivuje relé a umožní prechod prúdu do záťaže. Pre potvrdenie sa vytlačí správa do sériového monitora.
digitalWrite(relayPin, HIGH); // vypnutie relé
Serial.println("Relay OFF"); // výstup do sériového monitora
delay(2000); // čakanie 2 sekundy
}
Ďalej vypneme relé nastavením relayPin na HIGH, čo zastaví prechod prúdu do záťaže. Opäť vytlačíme správu do sériového monitora, aby sme indikovali stav relé. Tento proces sa nekonečne opakuje, pričom sa relé zapína a vypína každé dve sekundy.
Kompletný kód pre Arduino nájdete nižšie pod článkom.
Demonštrácia / Čo očakávať
Po nahratí kódu do Arduina by ste mali vidieť, ako sa relé zapína a vypína, pričom sa pripojená žiarovka každé dve sekundy zapína a vypína. Ak relé nefunguje podľa očakávania, skontrolujte zapojenie a uistite sa, že relé dostáva správny riadiaci signál. Bežné problémy zahŕňajú obrátenú polaritu na strane záťaže alebo nesprávne pripojenia na Arduine.
Pre ďalšie vizuálne potvrdenie činnosti relé si pozrite video (vo videu o 06:00), kde je vidieť, ako sa žiarovka zapína a vypína pri aktivácii relé.
Časové značky videa
- 00:00 - Úvod do projektu
- 01:30 - Nastavenie hardvéru
- 03:15 - Vysvetlenie kódu
- 05:45 - Živá ukážka
- 07:00 - Záver
/*
* This is the Arduino code for a Solid State Relay
* to control turning ON or OFF an AC or DC load
* Watch the video https://youtu.be/64NatLeGsaE
* *
* Written by Ahmad Shamshiri for Robojax Video
* Date: January 13, 2018, in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
*
*/
// Introduction to a 5v Solid State relay.
int relayPin = 8;// set pin 8 for relay output
// setup code for Robojax Solid State Relay
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
Serial.println("Robojax Solid State Relay");
pinMode(relayPin, OUTPUT);
}
// loop code for Robojax Solid State Relay
void loop() {
// Turn the relay switch ON (Robojax.com/learn/arduino)
digitalWrite(relayPin, LOW);// set relay pin to low
Serial.println("Relay ON");
delay(2000);
// Turn the relay switch OFF (Robojax.com/learn/arduino)
digitalWrite(relayPin, HIGH);// set relay pin to HIGH
Serial.println("Relay OFF");
delay(2000);
}
Zdroje a referencie
Zatiaľ žiadne zdroje.
Súbory📁
Súbor Fritzing
-
Solid State High Level Relay Module
Solid State High Level Relay Module .fzpz0.04 MB