Arduino kod i video za solid-state relej za kontrolu AC sijalice ili opterećenja
U ovom tutorijalu ćemo istražiti kako koristiti solid-state relej (SSR) za upravljanje AC ili DC opterećenjem, kao što je sijalica. Solid-state relej omogućava sigurno i efikasno prebacivanje električnih opterećenja koristeći niskonaponski signal sa Arduina. Do kraja ovog tutorijala, imat ćete funkcionalnu postavku koja može uključivati i isključivati svjetlo u zadanim intervalima.

Za implementaciju ovog projekta, koristit ćemo SSR, konkretno model G3MB-202P, koji može podnijeti opterećenja do 2A. Relejem će upravljati digitalni pin sa Arduino ploče, omogućavajući nam da pošaljemo signal koji uključuje ili isključuje opterećenje. Ovaj projekt nije samo praktičan, već služi i kao odličan uvod u rad s relejima i Arduinom.
Za detaljno vizualno objašnjenje, svakako pogledajte prateći video (u videu na 00:00).
Objašnjenje hardvera
U ovom projektu, primarna komponenta je G3MB-202P solid-state relej. Ovaj relej omogućava upravljanje visokonaponskim opterećenjem pomoću niskonaponskog signala. Radi koristeći opto-izolator za prebacivanje kruga opterećenja, pružajući električnu izolaciju između upravljačke strane i strane opterećenja. Relej ima tri pina: DC+, DC- i ulazni kanal, koji se povezuje na Arduino.
Kada je ulazni signal nizak (0V), relej se aktivira i omogućava protok struje kroz opterećenje. Suprotno tome, kada je ulazni signal visok (5V), relej se isključuje, prekidajući struju do opterećenja. Ovaj mehanizam niskog okidača je ključan za sigurno upravljanje visokonaponskim uređajima bez direktnog električnog kontakta.
Detalji iz tehničke specifikacije
| Proizvođač | Omron |
|---|---|
| Broj dijela | G3MB-202P |
| Logički/IO napon | 5 V |
| Napon napajanja | 5–24 V |
| Izlazna struja (po kanalu) | 2 A |
| Vršna struja (po kanalu) | 4 A |
| PWM frekvencijska smjernica | Do 1 kHz |
| Ulazni logički pragovi | Nizak: 0–1,5 V, Visok: 3–30 V |
| Pad napona / RDS(on) / zasićenje | 1,5 V max |
| Toplotna ograničenja | –30 do 100 °C |
| Pakovanje | Through-hole |
| Napomene / varijante | Dostupan u različitim nazivnim ulaznim naponima |
- Provjerite da je relej predviđen za opterećenje kojim želite upravljati.
- Koristite odgovarajuće hlađenje ako radite blizu maksimalne nazivne struje.
- Dvaput provjerite ožičenje kako biste izbjegli probleme s obrnutim polaritetom.
- Koristite decoupling kondenzatore na linijama napajanja.
- Pazite na plutajuće ulaze; osigurajte da je upravljački signal pravilno uzemljen.
- Potvrdite da je PWM frekvencija unutar specifikacija releja za aplikacije prebacivanja.
Upute za ožičenje

Ožičenje solid-state releja je jednostavno. Spojite pozitivni terminal releja (DC+) na 5V pin na Arduinu. Negativni terminal (DC-) treba spojiti na uzemljenje (GND) Arduina. Ulazni pin, koji upravlja relejem, povezuje se na digitalni pin 8 na Arduinu. Ovaj pin će slati nizak ili visok signal za aktivaciju ili deaktivaciju releja.
Na strani opterećenja, spojite jednu žicu sa AC sijalice na izlazni terminal releja, a drugu žicu na AC napajanje. Obavezno koristite odgovarajuće konektore i osigurajte da su svi spojevi čvrsti kako biste spriječili električne opasnosti.
Primjeri koda i objašnjenje
Evo kratkog pregleda Arduino koda za upravljanje solid-state relejem:
int relayPin = 8; // postavi pin 8 za izlaz releja
void setup() {
Serial.begin(9600); // inicijaliziraj serijsku komunikaciju
pinMode(relayPin, OUTPUT); // postavi pin releja kao izlaz
}
U ovom odlomku definiramo relayPin kao 8, što odgovara digitalnom pinu spojenom na relej. Funkcija setup() inicijalizira serijsku komunikaciju i postavlja pin releja kao izlaz.
void loop() {
digitalWrite(relayPin, LOW); // uključi relej
Serial.println("Relay ON"); // ispis na serijski monitor
delay(2000); // čekaj 2 sekunde
}
U funkciji loop(), uključujemo relej postavljanjem relayPin na LOW, što aktivira relej i omogućava protok struje do opterećenja. Poruka se ispisuje na serijski monitor radi potvrde.
digitalWrite(relayPin, HIGH); // isključi relej
Serial.println("Relay OFF"); // ispis na serijski monitor
delay(2000); // čekaj 2 sekunde
}
Zatim isključujemo relej postavljanjem relayPin na HIGH, što zaustavlja protok struje do opterećenja. Ponovo ispisujemo poruku na serijski monitor kako bismo označili status releja. Ovaj proces se ponavlja beskonačno, uključujući i isključujući relej svake dvije sekunde.
Za kompletan Arduino kod, pogledajte puni kod učitan ispod članka.
Demonstracija / Šta očekivati
Kada se kod učita na Arduino, trebali biste vidjeti kako se relej uključuje i isključuje, paleći i gaseći spojenu sijalicu svake dvije sekunde. Ako relej ne funkcionira kako se očekuje, provjerite spojeve ožičenja i osigurajte da relej prima ispravan upravljački signal. Uobičajeni problemi uključuju obrnuti polaritet na strani opterećenja ili pogrešne spojeve na Arduinu.
Za dodatnu vizualnu potvrdu rada releja, pogledajte video (u videu na 06:00) gdje se prikazuje sijalica kako se pali i gasi dok se relej aktivira.
Vremenske oznake videa
- 00:00 - Uvod u projekat
- 01:30 - Podešavanje hardvera
- 03:15 - Objašnjenje koda
- 05:45 - Demonstracija uživo
- 07:00 - Zaključak
/*
* 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);
}
Resources & references
No resources yet.
Files📁
Fritzing File
-
Solid State High Level Relay Module
Solid State High Level Relay Module .fzpz0.04 MB