Przekaźnik to nic innego jak przeÅ‚Ä…cznik, który do swojego dziaÅ‚ania wykorzystuje zjawisko pola elektromagnetycznego do zmiany poÅ‚ożenia swoich styków. Najczęściej zbudowany jest z cewki nawiniÄ™tej na rdzeÅ„ ferromagnetyczny, tworzÄ…c elektromagnes. Podczas przepÅ‚ywu prÄ…du przez cewkÄ™, wytwarzane jest pole magnetyczne, którego natężenie wzrasta wraz ze zwiÄ™kszeniem siÄ™ natężenia przepÅ‚ywajÄ…cego prÄ…du. Wytworzone w ten sposób pole magnetyczne przyciÄ…ga do siebie magnetycznÄ… kotwiczkÄ™, która zwiera i/lub rozwiera styki kolenego obwodu. Jak to wyglÄ…da?
W naszym przypadku, najczęściej stosowane przekaźniki pracujÄ… z napiÄ™ciem zasilania cewki wynoszÄ…cym 5V, pozwala to na wytworzenie odpowiednio silnego pola magnetycznego do przyciÄ…gniÄ™cia ów kotwiczki, zmieniajÄ…c tym samym poÅ‚ożenie styków.
W zelażnoÅ›ci od budowy przekaźnika, możemy spotkać siÄ™ z różnÄ… iloÅ›ciÄ… styków odpowiadajÄ…cÄ… iloÅ›ci możliwych obwodów. Styki te oznaczone sÄ… jako COM (common - wspólny), NC (normally close - normalnie zamkniÄ™ty) oraz NO (normally open - normalnie otwarty). Normalnie zamkniÄ™ty to taki, który bez przyÅ‚ożenia napiÄ™cia do cewki pozostaje zamkniÄ™ty, czyli zwarty. Normalnie otwarty zaÅ› na odwrót. Po przyÅ‚ożeniu napiÄ™cia do cewki, poÅ‚ożenie styków zmienia siÄ™ na przeciwny - normalnie zamkniÄ™ty siÄ™ otwiera, a normalnie otwarty zamyka.
Przkeźniki stosujemy najczęściej w przypadku, gdy chcemy za pomocÄ… niskonapiÄ™ciowych sygnaÅ‚ów (np. z Arduino) wÅ‚Ä…czyć obowdy pracujÄ…ce z dużo wiÄ™kszymi napiÄ™ciami i prÄ…dami, nawet sieciowymi 230V. Dlatego podczas pracy i budowy takiego urzÄ…dzenia należy zachować szczególnÄ… ostrożność!
W sklepach możemy znaleźć bardzo szerokÄ… gamÄ™ przekaźników pracujÄ…cych na różnych napiÄ™ciach zasilania oraz napięć i prÄ…dów przepÅ‚ywajÄ…cych przez jego styki. Najczęściej spotykane przekaźniki 5V, mogÄ…cych przepuÅ›cić przez siebie prÄ…d 10A przy napiÄ™ciu sieciowym 230V.
Pomimo tego, że do działania przekaźnika wymagane jest tylko przyłożenie odpowiedniego napięcia zasilania cewki, to aby bezpiecznie sterować jego działaniem za pomocą mikrokontrolera, wymagane jest zbudowanie odpowiedniego układu sterującego:
Na powyższym schemacie zastosowano dodatkowy optoizolator, tranzystor NPN, diodę zabezpieczającą oraz dwa rezystory. Sygnał z mikrokontrolera podawany jest na wejście SIG bezpośrednio do optoizloatora OK1 poprzez rezystor ograniczający prąd R1.
Zadaniem optoizolatora jest zabezpieczenie naszego układu cyfrowego w przypadku uszkodzenia przekaźnika i przedostania się wysokiego napięcia poza jego styki. W najgorszym scenariuszu, uszkodzeniu ulegną elementy sterujące przekaźnikiem z optoizolatorem włącznie.
WyjÅ›cie optoizolatora poÅ‚Ä…czone jest z kolei przez rezystor R2 do bramki tranzystora NPN T1. O ile rezystor R1 najczęściej posiada wartość 1 kΩ - 10 kΩ, to dobór wartoÅ›ci rezystora R2 jest zależny od zastosowanego tranzystora T2, który razem fototranzystorem optoizolatora tworzÄ… ukÅ‚ad Darlingtona. Dlatego należy pamiÄ™tać o mnożeniu siÄ™ ich wspóÅ‚czynników wzmocnienia i maksymalnym prÄ…dzie bramki tranzystora T2. NajczeÅ›ciej jednak, wartość rezystora R2 to kila lub kilkadziesiÄ…t Ω.
Ostatnim elementem jest dioda D1 podÅ‚Ä…czona równolegle do uzwojeÅ„ cewki przekaźnika, która ma na zadanie zabezpieczyć ukÅ‚ad przed wystÄ…pieniem napiÄ™cia wstecznego, które może indukować siÄ™ w cewce podczas wyÅ‚Ä…czenia przekaźnika. Generowane napiÄ™cie może wielokrotnie przewyższyć napiÄ™cie zasilania samego przekaźnika. Zastosowanie diody Schottky w kierunku zaporowym jest odpowiednie, jednak spokojnie możemy zastosować tanie diody impulsowe 1N4148 lub SY345-8L. DobierajÄ…c jednak diodÄ™ musimy zwrócić uwagÄ™ na jej parametr prÄ…du przewodzenia, ponieważ on powie nam, czy wytrzyma prÄ…d wsteczny wygenerowany przez cewkÄ™. Dioda taka powinna być umieszczona jak najbliżej styków cewki przekaźnika.
JeÅ›li nie czujemy siÄ™ na siÅ‚ach, aby wykonać wÅ‚asny sterownik przekaźnika, możemy skorzystać z szerokiej gamy gotowych moduÅ‚ów. A jest na prawdÄ™ w czym wybierać. DostÄ™pne sÄ… moduÅ‚y z pojedynczym przekaźnikiem lub nawet szesnastoma przekaźnikami. Niektóre posiadajÄ… wspomniany optoizolator, niektóre go nie posiadajÄ…. RóżniÄ… siÄ™ również iloÅ›ciÄ… pinów sterujÄ…cych, parametrami pracy czy prÄ™dkoÅ›ciÄ… dziaÅ‚ania.
Najczęściej spotkamy się z modułami z optoizolatorem oraz przekaźnikiem SONGLE. W zależności od modułu, przekaźnik załączany jest przy podaniu stanu wysokiego lub niskiego na pin sterujący.
Sporą i bardzo ofertę znajdziecie w sklpeie elty.pl - same przekaźniki oraz gotowe moduły.
Datasheet przekaźników SONGLE.
Jak wspomniałem, przekaźnik w zależności od budowy modułu może być załączany podaniem stanu wysokiego lub niskiego (zwarciem do masy). Z naszego punktu widzenia lepszym wyborem mogą okazać się te załączane stanem niskim, ponieważ domyślnie nieskonfigurowane piny mikrokontrolera posiadają stan nieustalony, a to z kolei nie wpłynie na stabilność zachowania się przekaźnika (pozostanie on wyłączony) i nie załączy się losowo podczas uruchomienia układu.
W poprzednim schemacie przedstawiona była konfiguracja sterowania stanem wysokim. Dla sterowania stanem niskim, może wyglądać to następująco:
Sterowanie za pomocą Arduino jest banalnie proste - tak proste jak świecenie diodą LED podłączoną do cyfrowego pinu. Wszystko co musimy zrobić, to podłączyć masę, zasilanie oraz wybrać cyfrowy pin w Arduino do sterowania wejściem przekaźnika.
void setup()
{
pinMode(3, OUTPUT);
}
void loop()
{
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
}
Powyższy program. co sekundę będzie włączał i wyłączał nasz przekaźnik.
Chciałbym przy okazji obalić często panujący mit, że załączanie przekaźnika stanem niskim niesie za sobą oszczędność energii, ponieważ cyfrowy pin nie musi być ciągle w stanie wysokim.
Po części to prawda, jednak wymagane ~2mA do podtrzymania zaÅ‚Ä…czenia przekaźnika to nic w przypadku, gdy zasilana cewka przekaźnika pobiera prÄ…d na poziomie ~60mA. JeÅ›li zależy nam na oszczÄ™dnoÅ›ci energii podczas pracy z przekaźnikami, powinniÅ›my zwrócić swojÄ… uwagÄ™ na przekaźniki bistabilne.
Przekaźniki bistabilne znane sÄ… już od wielu lat. Niestety ich popularność nie jest zbyt wysoka, a to wielki bÅ‚Ä…d. Na szczęście powoli siÄ™ to zmienia za sprawÄ… wzrostu zapotrzebowania na elektronikÄ™ o niskim zużyciu energii ze wzglÄ™dów ekologicznych :) lub koniecznoÅ›ci pracy ukÅ‚adu na zasilaniu bateryjnym.
Nie sposób siÄ™ domyÅ›leć, że podtrzymanie dziaÅ‚ania standardowego przekaźnika kosztuje nas okoÅ‚o 60mA, a to wcale nie maÅ‚o w porównaniu z zapotrzebowaniem Atmega328 pracujÄ…cego z czÄ™stotliwoÅ›ciÄ… 16MHz i napiÄ™ciu 5V wynoszÄ…cym 16-30mA. CiÄ…gÅ‚e zasilanie cewki przekaźnika może skrócić pracÄ™ naszego ukÅ‚adu nawet 4-5 krotne.
Dodatkowo nie zapowiada siÄ™, aby tradycyjne przekaźniki przez najbliższy czas byÅ‚y zdolne do niskiego poboru energii, dlatego zbawieniem mogÄ… być wÅ‚aÅ›nie przekaźniki bistabilne, które pobierajÄ… energiÄ™ tylko podczas zmiany stanu poÅ‚ożenia styków.
IstotnÄ… cechÄ… przekaźników bistabilnych jest również ich pamięć. Styki pozostanÄ… w tym samym poÅ‚ożeniu, nawet w przypadku zaniku zasilania ukÅ‚adu sterujÄ…cego. Niesie to również pewne niebezpieczeÅ„stwo. W przypadku tradycyjnego przekaźnika, gdy cewka nie jest zasilana, styki sÄ… zwarte w konfiguracji COM-NC. Tak wiÄ™c podÅ‚Ä…czenie np. elementu grzejnego pod jego obwód byÅ‚o relatywnie bezpieczne po powrocie napiÄ™cia zasilania. W przypadku przekaźnika bistabilnego takie zaÅ‚ożenie może mieć opÅ‚akane dla nas skutki, ponieważ w chwili powrotu zasilania ukÅ‚ad i ponownego uruchomienia programu, jego styki mogÄ… znajdować siÄ™ w dowolnym poÅ‚ożeniu (np. ustawiony wczeÅ›niej stan zaÅ‚Ä…czenia obwodu z elementem grzejnym i puszczenia stodoÅ‚y z dymem).
Dlatego bardzo ważne jest, aby podczas inicjalizacji programu odczytać aktualny stan poÅ‚ożenia styków, albo od razu ustawić ich stan w domyÅ›lnym, znanym nam dla nas poÅ‚ożeniu (tzw. reset przekaźnika). Na szczęście jest to proces bardzo prosty, gdyż zaÅ‚Ä…czenie i rozÅ‚Ä…czenie styków nie musi być wykonywane naprzemiennie. ProÅ›ciej mówiÄ…c - jeÅ›li stan wysoki powoduje zaÅ‚Ä…czenie przekaźnika, to ponowne wystawienie stanu wysokiego nie spowoduje zmiany poÅ‚ożenia styków.
Koniec konców, w funkcji setup() możemy usatwić pin tak, aby wygenerować sygnaÅ‚ wyÅ‚Ä…czajÄ…cy przekaźnik, nie ważne czy wczeÅ›niej byÅ‚ on wyÅ‚Ä…czony czy zaÅ‚Ä…czony
Wszystko zależy od tego ilu cewkowy jest przekaźnik, ale podstawÄ… utrzymania poÅ‚ożenia styków w okreÅ›lonej pozycji jest zastosowanie dodatkowego, specjalnego materiaÅ‚u obwodu magnetycznego z wbudowanym magnesem przytrzymujÄ…cym styki w stanie zaÅ‚Ä…czenia.
W przypadku przekaźników z jednÄ… cewkÄ…. zaÅ‚Ä…czenie styków wymaga podania odpowiedniego napiÄ™cia na cewkÄ™, aby je zamkÄ…nÄ…c. Aby odwrócić ich stan, kierunek prÄ…du musi zmienić siÄ™ na przeciwny:
W przypadku przekaźników z dwoma cewkami, podanie napiÄ™cia na jednÄ… z nich powoduje "zaÅ‚Ä…czenie" styków, natomiast podanie napiÄ™cia na drugÄ… cewkÄ™ powoduje rozÅ‚Ä…czenie (reset).
Takim dwucewkowym przekaźnikiem może być HFD2/005-M-L2(555) zastosowanym w module oferowanym przez sklep elty.pl.
ModuÅ‚ zbudowany jest tak, że stan styków zmienia siÄ™ w chwili wystÄ…pienia zbocza narastajÄ…cego lub opadajÄ…cego. JeÅ›li przekaźnik znajduje siÄ™ aktualnie w stanie zaÅ‚Ä…czenia (zwarcia styków COM i NO). wyÅ‚Ä…czenie, czyli zwarcie styków COM i NC nastÄ™puje w chwili pojawienia siÄ™ zbocza narastrajÄ…cego.
Aby mieć więc pewność, że przekaźnik podczas uruchomienia programu jest wyłączony, musimy zrealizować poniższy program, czyli sprawić, że ostatnią zmianą zbocza, będzie zbocze narastające.
void setup()
{
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
delay(1000);
digitalWrite(3, HIGH);
delay(1000);
}
void loop() { }
Aby sytuacja była odwrotna, doprowadzamy, aby ostatnim występującym zboczem było zbocze opadające.
void setup()
{
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
}
void loop() { }
Szalenie istotnÄ… cechÄ… tego moduÅ‚u jest to, że kiedy nie zmieniamy poÅ‚ożenia styków przekaźnika, moduÅ‚ pobiera bardzo znikomy prÄ…d rzÄ™du 100uA w przypadku wyÅ‚Ä…czonego przekaźnika (zwarcie COM-NC) i okoÅ‚o 50uA w przypadku jego zaÅ‚Ä…czenia (zwarcie COM-NO). WiÄ™c jeÅ›li zależy nam na oszczÄ™dnoÅ›ci energii lub pracy urzÄ…dzenia na zasilaniu bateryjnym, przekaźnik bistabilny to idealne rozwiÄ…zanie.
Powyższy moduÅ‚ wyposażony jest w przekaźnik, który niestety nie nadaje siÄ™ dla pracy z polskim napiÄ™ciem sieciowym 230V, ponieważ jego styki wytrzymujÄ… maksymalnie napiÄ™cie 125V i prÄ…d 1A. Ale doskonale sprawdzi siÄ™ z napiÄ™ciem staÅ‚ym 30V i prÄ…dzie 2A.
Jak widać poniżej, załączenie przekaźnika i odłączeniu od niego zasialania, nadal posiada zwarte styki COM-NO, dostarczając z akumulatorka energię do drugiej płytki Arduino.
Nie lada problemem, który jest czÄ™sto ignorowany przez projektantów sÄ… zakÅ‚ócenia generowane przez styki przekaźnika. Dlatego jeÅ›li projektujemy wÅ‚asne urzÄ…dzenie nie wykorzystujÄ…ce Arduino, bezwzglÄ™dnie pamiÄ™tajmy o filtrowaniu zasilania mikokontrolerta. Warto też pamiÄ™tać, że styki przekaźnika sÄ… częściami ruchomymi, to też cierpiÄ… na dwa niepożądanie zjawiska - wystÄ™powanie Å‚uku elektrycznego podczas przeÅ‚Ä…czania oraz drgania styków w momencie stykania siÄ™ par styków.
Aby utrudnić wystÄ™powanie tych zjawisk, możemy doÅ‚Ä…czyć prosty ukÅ‚ad tÅ‚umiÄ…cy - popularnie nazywany gasikiem. UkÅ‚ad taki jest wÅ‚Ä…czany (w zależnoÅ›ci od potrzeb) równolegle do styków przekaźnika lub samego odbiornika. Najbardziej popularnym gasikiem jest poÅ‚Ä…czenie szeregowe dwóch elementów - kondensatora oraz rezystora. Ich wartoÅ›ci dobieramy na podstawie napiÄ™cia pracy odbiornika oraz pobieranego przez niego prÄ…du. Dobór tych parametrów nie jest taki prosty, a sam temat gasików to temat rzeka. Możemy jednak posÅ‚użyć siÄ™ poniższym nomogramem z katalogu ELFA.
PrzykÅ‚adowo dla obciążenia 230V i prÄ…du 1A wartość C=0.1uF R=20Ω