Tym razem pragnę zaprezentować mój projekt zdalnego sterowania wyjść przekaźnikowych, działający po Ethernecie.
Powstał on z myślą o zdalnym sterowaniu oświetleniem tak z domu jak i spoza sieci domowej, przez internet. Nic nie stoi na przeszkodzie aby przy pomocy wyjść powstałego sterownika, włączać także inne urządzenia elektryczne.
Cel projektu:
Wykonanie sterownika będącego hostem w sieci Ethernet, umożliwiającego zdalne sterowanie urządzeń elektrycznych poprzez przekaźniki.
Cechy:
- wysyłanie rozkazów sterujących, przy pomocy aplikacji użytkownika.
- możliwość sterowania z wewnątrz o raz z zewnątrz sieci
- kompatybilność z układami Arduino
Poniższy diagram przedstawia sposób użycia budowanego sterownika w sieci:
Podzespoły jakich użyłem do zbudowania sterownika:
- mikro-kontroler Atmel Atmega8
- niezależny moduł kontrolera Ethernet, oparty o układ Wiznet W5100, (dla Arduino)
- ULN2003: scalony układ zawierający 7 wyjść typu "otwarty kolektor"(układ Darlingtona)
- 6 przekaźników sterowanych napięciem 5V
Schemat blokowy sterownika:
Zasada działania w skrócie
Mikrokontroler przy użyciu modułu Wiznet odbiera rozkaz sterowania zadanym wyjściem z aplikacji użytkownika, czego efektem jest zmiana stanu odpowiedniego portu i wysterowanie danego wyjścia przekaźnikowego za pośrednictwem układu ULN2003A i zasilenie docelowego układu, jakim chcemy sterować.
Mikrokontroler
Układem głównym sterownika jest mikrokontroler jednoukładowy Atmega8 rodziny AVR. W budowanym rozwiązaniu wykorzystałem układ w obudowie DIP-28 przystosowany do montażu przewlekanego. Dla realizacji projektu będącego przedmiotem tego opracowania, istotna była ogólna dostępność wybranego mikrokontrolera oraz jego niska cena. Mikrokontrolery rodziny AVR są popularne wśród elektroników - konstruktorów ze względu na łatwość ich programowania i uruchomienia. W przypadku chęci rozbudowania układu, można w podstawce umieścić inny mikrokontroler rodziny AVR w obudowie DIP-28 o większej pamięci flash, gdyż konfiguracja pinów jest jednakowa. Do większości układów wystarczy podłączyć jedynie zasilanie, by stanowiły kompletny system, gotowy do zaprogramowania i działania. ATMEGA8 posiada 28 pinów z czego 23 to programowalne porty wejścia-wyjścia. Mikrokontroler ATMEL ATMEGA8 może działać z użyciem wewnętrznego oscylatora RC, jednak w realizowanym projekcie użyty został zewnętrzny rezonator kwarcowy, dzięki czemu układ pracuje z maksymalną częstotliwością 8 MHz. Możliwości tego mikrokontrolera są wystarczające do podołania przyjętym na wstępie założeniom.
Wiznet W5100
Kontroler Ethernet przystosowany do układów Arduino, podłączenie za pośrednictwem złącz pinowych z płytą główną sterownika. Zastosowany moduł Ethernet zapewnia sprzętową obsługę stosu TCP/IP. Zastosowanie go znacznie odciążyło mikro-kontroler i ułatwiło implementację kodu. komunikacja pomiędzy Atmegą a Wiznetem zrealizowana jest po magistrali SPI.
Istotne cechy:
- sprzętowa obsługa protokołów TCP, UDP, IPv4, ICMP, ARP, IGMP, PPPoE
- do 4 połączeń jednocześnie
- full duplex
- pobór prądu 183 mA max
Scalony Darlington ULN2003
Zadaniem układu ULN2003A jest wysterowanie odpowiednich przekaźników zależnie od stanów logicznych podawanych na układ z mikro-kontrolera. Układ taki jest wymagany, bo wydajność prądowa portu mikro-kontrolera jest zbyt mała aby zasilać cewkę przekaźnika.
ULN 2003A posiada 7 niezależnych wejść i odpowiadających im wyjść.
Poniższy schemat przedstawia realizację pojedynczego wejścia i wyjścia w układzie.
(żródło: Texas Instruments)
Do wyprowadzenia COM doprowadzane jest dodatnie napięcie odniesienia. W momencie, gdy na wejściu B pojawi się stan wysoki, nastąpi otwarcie wejściowego tranzystora. Przez jego złącze kolektor-emiter popłynie prąd, w efekcie na bazie tranzystora wejściowego pojawi się stan wysoki, co spowoduje jego otwarcie. To z kolei wywoła stan niski na jego kolektorze(przez złącze kolektor-emiter popłynie prąd).Między wyprowadzeniem COM i Output wystąpi różnica potencjałów. Z wyprowadzeń tych sterowany jest przekaźnik sterujący zadanym wyjściem. Cechą charakterystyczną ULN2003A jest odwracanie logiki. Podanie stanu wysokiego na którekolwiek z wejść układu spowoduje, że na odpowiadającym mu wyjściu pojawi się stan niski.
(żródło: Texas Instruments)
Schemat ideowy sterownika
Projekt przystosowałem do zewnętrznego zasilania 12V DC. Maksymalny pobór prądu przy wysterowanych, wszystkich wyjściach urządzenia wynosi 560 mA. Na wejściu układu zastosowano dwa stabilizatory napięcia stałego : +5V (7805) dla zasilenia mikro-kontrolera, modułu Wiznet W5100 i układu ULN2003A, oraz +3,3V (LF33CV) jako dodatkowe źródło napięcia wymagane przez moduł Wiznet W5100. Dioda prostownicza na wejściu zasilającym sterownika podłączona w kierunku przewodzenia, zabezpiecza przed błędną polaryzacją zasilania. Wartości kondensatorów filtrujących napięcie na wejściach oraz wyjściach stabilizatorów zostały dobrane zgodnie ze specyfikacją producentów układów, podobnie jak wartości elementów podłączonych do mikro-kontrolera ATMEGA8. Jest bardzo ważne aby kondensatory filtrujące napięcie wejściowe były prawidłowo dobrane,zgodnie ze specyfikacją stabilizatorów. Ich nieodpowiednia wartość, lub co gorsza brak, może spowodować niestabilną pracę mikro-kontrolera i całego sterownika. Cewki przekaźników zastosowanych w układzie umożliwiają sterowanie napięciem 5V, co jest rozwiązaniem konstrukcyjnie wygodnym. Napięcie znamionowe jakie może być sterowane przez zastosowane przekaźniki to 250V, prąd znamionowy 10A. Mikro-kontroler odbiera rozkazy sterujące z modułu Ethernet za pośrednictwem magistrali SPI i steruje odpowiednie wejście układu ULN 2003A poprzez podanie stanu wysokiego na portach PD0 - PD6 mikrokontrolera ATMEGA8. Wyjścia układu ULN2003A sterują wyjściami przekaźnikowymi. W momencie pojawienia się na zadanym wyjściu stanu niskiego, przez cewkę danego przekaźnika popłynie prąd, powodując jego wysterowanie. Jednocześnie na katodzie podłączonej do wyjścia diody LED pojawia się stan niski. Ponieważ anody diod LED spolaryzowane są napięciem dodatnim, wysterowanie wyjścia skutkuje także świeceniem diody sygnalizującej zadziałanie wyjścia. Do portu PB1 podłączono mikro-przycisk umożliwiający reset ustawień urządzenia. W projekcie zostało przewidziane 9 - pinowe złącze KANDA umożliwiające programowanie mikrokontrolera bez potrzeby wyciągania układu z podstawki, poprzez interfejs ISP. Podłączenie modułu Wiznet W5100 umożliwiają złącza pinowe na płycie głównej urządzenia. Układ prototypowy został zrealizowany na uniwersalnej płycie wierconej, umożliwiającej montowanie elementów elektronicznych poprzez montaż przewlekany. Rozwiązanie takie było wygodne, gdyż dało możliwość łatwej modyfikacji elektronicznej układu na etapie testów, oraz było niedrogie. Znając rozmieszczenie elementów ułatwiło to zaprojektowanie finalnej płyty PCB. Projekt płyty finalnej, podobnie jak schemat ideowy, powstał w narzędziu do projektowania obwodów drukowanych Eagle.
Layout płyty
Druk PCB został zaprojektowany na dwustronnym laminacie o wymiarach 140mm x 100mm.
Widok prototypu sterownika
Na razie tyle. W kolejnej części napiszę trochę na temat części software-owej projektu. Pozdrawiam wszystkich! :)