Czasami chcesz, aby twoje Arduino kontrolowało urządzenia zasilane prądem zmiennym, takie jak lampy, wentylatory lub inne urządzenia domowe. Ale ponieważ Arduino działa przy napięciu 5 V, nie może bezpośrednio sterować urządzeniami o wyższym napięciu.
W tym miejscu pojawia się moduł przekaźnika. Możesz użyć modułu przekaźnika do sterowania siecią prądu zmiennego, a Arduino do sterowania przekaźnikiem.
W tym poradniku dowiesz się, jak skonfigurować jednokanałowy moduł przekaźnika, aby włączył lampę lub inne urządzenie, ale zacznijmy od krótkiego wprowadzenia do przekaźników.
Jak działają przekaźniki?
Przekaźnik jest przełącznikiem elektromagnetycznym sterowanym przez stosunkowo mały prąd, który może kontrolować dużo większy prąd.
Oto prosta animacja ilustrująca, jak przekaźnik wykorzystuje jeden obwód do załączenia innego obwodu.
Początkowo pierwszy obwód jest wyłączony i nie płynie przez niego prąd, dopóki coś (albo czujnik, albo zamknięcie przełącznika) go nie włączy. Drugi obwód jest również wyłączony.
Gdy mały prąd przepływa przez pierwszy obwód, aktywuje elektromagnes, który wytwarza pole magnetyczne wokół niego.
Zasilony elektromagnes przyciąga do siebie styk w drugim obwodzie, zamykając przełącznik i pozwalając na przepływ znacznie większego prądu przez drugi obwód.
Kiedy prąd przestaje płynąć, styk wraca do swojej pierwotnej pozycji, ponownie wyłączając drugi obwód.
Podstawy przekaźnika
Typowo przekaźnik ma 5 pinów, trzy z nich to zaciski wysokiego napięcia (NC, COM, i NO), które podłącza się do urządzenia, którym chcemy sterować.
Prąd sieciowy wchodzi do przekaźnika na wspólny (COM) zacisk. Natomiast użycie zacisków NC & NO zależy od tego, czy chcemy włączyć czy wyłączyć urządzenie.
Pomiędzy pozostałymi dwoma pinami (coil1 i coil2) znajduje się cewka, która działa jak elektromagnes.
Gdy przez cewkę płynie prąd, elektromagnes zostaje naładowany i przesuwa wewnętrzne styki przełącznika. W tym czasie styk normalnie otwarty (NO) łączy się z zaciskiem wspólnym (COM), a styk normalnie zamknięty (NC) zostaje rozłączony.
Gdy prąd przestaje płynąć przez cewkę, styk wewnętrzny wraca do stanu początkowego tj. zacisk normalnie zamknięty (NC) łączy się z zaciskiem wspólnym (COM), a zacisk normalnie otwarty (NO) ponownie się otwiera.
Jest to znane jako przełącznik jednobiegunowy, dwupozycyjny (SPDT).
Moduł przekaźnika jednokanałowego
W tym poradniku użyjemy modułu przekaźnika jednokanałowego. Istnieją jednak inne moduły z dwoma, czterema i ośmioma kanałami. Możesz wybrać ten, który najlepiej pasuje do Twoich potrzeb.
Ten moduł jest przeznaczony do przełączania tylko jednego urządzenia o dużej mocy z Twojego Arduino. Posiada przekaźnik o obciążalności do 10A na kanał przy 250VAC lub 30VDC.
LEDs
Na module przekaźnika znajdują się dwie diody LED wskazujące pozycję przekaźnika.
Dioda LED zasilania zaświeci się, gdy moduł jest zasilany. Dioda Status LED zaświeci się, gdy przekaźnik jest włączony.
Zespół zacisków wyjściowych
Mamy trzy kanały przekaźnika wyprowadzone na niebieskie zaciski śrubowe. Kanały są oznakowane zgodnie z ich funkcją: wspólny (COM), normalnie zamknięty (NC) i normalnie otwarty (NO)
Nazwy wyjaśniają stan kanału w odniesieniu do przełącznika w stanie spoczynku.
COM (Common): Jest to pin, który powinieneś podłączyć do sygnału (prądu sieciowego w naszym przypadku), który planujesz przełączyć.
NC (Normally Closed): Konfiguracja normalnie zamknięta jest używana, gdy chcemy domyślnie wyłączyć przekaźnik. W tej konfiguracji przekaźnik jest zawsze zamknięty i pozostaje zamknięty, dopóki nie wyślesz sygnału z Arduino do modułu przekaźnika, aby otworzyć obwód.
NO (Normally Open): Konfiguracja normalnie otwarta działa w drugą stronę, w której przekaźnik jest zawsze otwarty, dopóki nie wyślesz sygnału z Arduino do modułu przekaźnika, aby zamknąć obwód.
Piny sterujące
Po drugiej stronie modułu znajdują się trzy piny – pin Ground i pin VCC do zasilania modułu oraz pin IN do sterowania przekaźnikiem.
Pin wejściowy jest aktywny niski, co oznacza, że przekaźnik zostanie aktywowany, gdy pociągniemy pin NISKO i stanie się nieaktywny, gdy pociągniemy pin WYSOKI.
Pinout modułu przekaźnika jednokanałowego
Przyjrzyjrzyjmy się pinoutowi modułu przekaźnika jednokanałowego.
Piny sterujące:
Pin IN jest używany do sterowania przekaźnikiem. Jest to pin aktywny niski, co oznacza, że przekaźnik zostanie aktywowany, gdy pociągniemy pin NISKO i stanie się nieaktywny, gdy pociągniemy pin WYSOKO.
GND jest połączeniem z masą.
VCC dostarcza zasilanie do modułu.
Zaciski wyjściowe:
Pin COM jest podłączony do sygnału, który zamierzasz przełączyć.
PinNC jest domyślnie podłączony do pinu COM, chyba że wyślesz sygnał z Arduino do modułu przekaźnika, aby przerwać połączenie.
PinNO jest domyślnie otwarty, chyba że wyślesz sygnał z Arduino do modułu przekaźnika, aby wykonać połączenie.
Okablowanie modułu przekaźnika jednokanałowego z Arduino UNO
Gdy wiemy już wszystko o module przekaźnika, czas go wykorzystać!
Ostrzeżenie:
Ta płytka oddziałuje z WYSOKIM napięciem zmiennym. Nieprawidłowe lub niewłaściwe użycie może spowodować poważne obrażenia lub śmierć. Dlatego jest ona przeznaczona dla osób doświadczonych i obeznanych z wysokim napięciem zmiennym.
Przygotujmy nasz moduł przekaźnika do włączania lampy.
Zacznijmy od podłączenia pinu VCC na module do 5V na Arduino i pinu GND do masy. Podłącz pin cyfrowy #6 do wejścia IN, aby sterować przekaźnikiem.
Będziesz musiał również umieścić moduł przekaźnika w linii z urządzeniem zasilanym prądem zmiennym (w naszym przypadku lampą), którym próbujesz sterować. Będziesz musiał przeciąć linię AC i podłączyć jeden koniec przeciętego przewodu (wychodzącego ze ściany) do COM, a drugi do NC lub NO w zależności od tego, jaki ma być stan spoczynku urządzenia.
Jeśli urządzenie AC będzie wyłączone przez większość czasu, a Ty od czasu do czasu będziesz chciał je włączyć, powinieneś podłączyć drugi koniec do NO. Podłącz do NC, jeśli urządzenie będzie włączone przez większość czasu.
W tym projekcie chcemy, aby nasza lampa była wyłączona w stanie spoczynku i świeciła, gdy aktywujemy przekaźnik, więc podłączymy jeden koniec do COM, a drugi do NO.
Następująca ilustracja pokazuje okablowanie.
Kod arduino
Gdy nasz sprzęt jest już skonfigurowany, spójrzmy na kod, który włącza lampę.
Oto prosty kod, który włączy lampę na 3 sekundy i wyłączy ją na kolejne 3 sekundy.
int RelayPin = 6;void setup() {// Set RelayPin as an output pinpinMode(RelayPin, OUTPUT);}void loop() {// Let's turn on the relay...digitalWrite(RelayPin, LOW);delay(3000);// Let's turn off the relay...digitalWrite(RelayPin, HIGH);delay(3000);}
Objaśnienie kodu:
Kontrola modułu przekaźnikowego za pomocą Arduino jest tak prosta jak sterowanie diodą LED. Szkic rozpoczyna się od zadeklarowania pinu, do którego podłączony jest pin wejściowy modułu przekaźnika.
int RelayPin = 6;
W funkcji setup definiujemy ten pin jako wyjściowy.
pinMode(RelayPin, OUTPUT);
Teraz w funkcji loop włączamy/wyłączamy urządzenie poprzez wyciągnięcie pinu przekaźnika odpowiednio LOW/HIGH.
digitalWrite(RelayPin, LOW)
przeciągamy pin LOW natomiast digitalWrite(RelayPin, HIGH)
przeciągamy pin HIGH.
digitalWrite(RelayPin, LOW);delay(3000);digitalWrite(RelayPin, HIGH);delay(3000);