W tym projekcie połączymy przekaźnik z mikrokontrolerem PIC PIC16F877A. Przekaźnik jest urządzeniem mechanicznym do włączania lub wyłączania urządzeń wysokonapięciowych i prądowych z niższych poziomów napięcia. Przekaźnik zapewnia izolację między dwoma poziomami napięcia i jest zwykle używany do sterowania urządzeniami prądu przemiennego. Od przekaźników mechanicznych po półprzewodnikowe, w elektronice dostępne są różne typy przekaźników. W tym projekcie wykorzystamy przekaźnik mechaniczny.
W tym projekcie zrobimy następujące rzeczy:
- Wprowadzimy przełącznik do wprowadzania danych przez użytkownika.
- Steruj żarówką 220 V AC z przekaźnikiem 5 V.
- Do sterowania przekaźnikiem użyjemy tranzystora BC547 NPN, a tranzystor będzie sterowany z PIC16F877A. Dioda LED poinformuje o stanie WŁĄCZENIA lub WYŁĄCZENIA przekaźnika.
Jeśli jesteś nowy w mikrokontrolerze PIC, zacznij od Rozpoczynanie pracy z mikrokontrolerem PIC.
Wymagany składnik:
- PIC16F877A
- Kryształ 20 Mhz
- 2 szt. Ceramiki 33pF
- 3 sztuki rezystorów 4.7k
- Rezystor 1k
- 1 dioda LED
- Tranzystor BC547
- Dioda 1N4007
- Przekaźnik sześcienny 5V
- Żarówka AC
- Płytka prototypowa
- Przewody do łączenia części.
- Adapter 5 V lub dowolne źródło zasilania 5 V z prądem co najmniej 200 mA.
Przekaźnik i jego działanie:
Przekaźnik działa tak samo jak typowy przełącznik. Przekaźniki mechaniczne wykorzystują tymczasowy magnes wykonany z cewki elektromagnetycznej. Kiedy zapewniamy wystarczającą ilość prądu przez tę cewkę, zostaje ona pobudzona i ciągnie za ramię. Dzięki temu obwód podłączony przez przekaźnik może być zamknięty lub otwarty. Wejście i wyjście nie mają żadnych połączeń elektrycznych, dlatego izoluje wejście i wyjście. Dowiedz się więcej o przekaźniku i jego budowie tutaj.
Przekaźniki można znaleźć w różnych zakresach napięcia, takich jak 5 V, 6 V, 12 V, 18 V itp. W tym projekcie użyjemy przekaźnika 5 V, ponieważ nasze napięcie robocze wynosi tutaj 5 V. Ten przekaźnik sześcienny 5V jest w stanie przełącznik 7A obciążenia przy 240VAC lub 10A obciążenia przy 110VAC. Jednak zamiast tego ogromnego obciążenia użyjemy żarówki 220 VAC i przełączymy ją za pomocą przekaźnika.
To jest przekaźnik 5V, którego używamy w tym projekcie. Prąd znamionowy jest jasno określony dla dwóch poziomów napięcia, 10 A przy 120 V AC i 7 A przy 240 V AC. Musimy podłączyć obciążenie na przekaźniku mniejsze niż określona wartość.
Ten przekaźnik ma 5 pinów. Jeśli zobaczymy pinout, zobaczymy-
L1 i L2 jest kołek wewnętrznego elektromagnes jest. Musimy kontrolować te dwa kołki do włączania przekaźnika „ ON ” lub „ OFF ”. Następne trzy piny to POLE, NO i NC. Biegun połączony jest z wewnętrzną płytą metalową, która zmienia swoje połączenie po włączeniu przekaźnika. W normalnych warunkach POLE jest zwarty z NC. NC oznacza normalnie podłączony. Po włączeniu przekaźnika biegun zmienia swoją pozycję i zostaje połączony z NO. NO oznacza normalnie otwarte.
W naszym układzie wykonaliśmy połączenie przekaźnika z tranzystorem i diodą. Przekaźnik z tranzystorem i diodą jest dostępny na rynku jako Moduł Przekaźnikowy, więc gdy używasz Modułu Przekaźnikowego nie musisz podłączać jego obwodu sterownika (tranzystor i dioda).
Przekaźnik jest używany we wszystkich projektach automatyki domowej do sterowania urządzeniami domowymi AC.
Schemat obwodu:
Kompletny obwód do połączenia przekaźnika z mikrokontrolerem PIC podano poniżej:
W powyższym schemacie PIC16F877A jest używany, w której na portu B LED i tranzystora jest połączony, który dalej jest sterowany za pomocą przełącznika TAC w RBO. R1 dostarczanie prądu polaryzacji do tranzystora. R2 jest rezystorem obniżającym, używanym w przełączniku dotykowym. Zapewni logikę 0, gdy przełącznik nie jest wciśnięty. 1N4007 jest dioda zacisk stosowany do cewki przekaźnika elektromagnetycznego. Gdy przekaźnik się wyłączy, są szanse na skoki wysokiego napięciaa dioda stłumi to. Do wysterowania przekaźnika potrzebny jest tranzystor, który wymaga prądu przekraczającego 50 mA, którego mikrokontroler nie jest w stanie zapewnić. Możemy również użyć ULN2003 zamiast tranzystora, mądrzejszym wyborem jest, jeśli do aplikacji wymagane są więcej niż dwa lub trzy przekaźniki, sprawdź obwód modułu przekaźnika. LED naprzeciwko portu RB2 powiadomi „ przekaźnik jest włączony ”.
Ostatni obwód będzie wyglądał następująco:
Możesz nauczyć się sterowania przekaźnikiem za pomocą Arduino tutaj, a jeśli naprawdę jesteś zainteresowany przekaźnikiem, sprawdź tutaj wszystkie obwody przekaźników.
Objaśnienie kodu:
Na początku pliku main.c dodaliśmy linie konfiguracyjne dla pic16F877A, a także zdefiniowaliśmy nazwy pinów w PORTB.
Jak zawsze najpierw musimy ustawić bity konfiguracyjne w mikrokontrolerze pic, zdefiniować kilka makr, w tym biblioteki i częstotliwość kryształu. Możesz sprawdzić kod dla wszystkich w pełnym kodzie podanym na końcu. Zrobiliśmy RB0 jako dane wejściowe. W tym pinie jest podłączony przełącznik.
#zawierać
Następnie wywołaliśmy funkcję system_init (), w której zainicjowaliśmy kierunek pinów, a także skonfigurowaliśmy domyślny stan pinów.
W funkcji system_init () zobaczymy
void system_init (void) { TRISBbits.TRISB0 = 1; // Ustawienie Sw jako wejścia TRISBbits.TRISB1 = 0; // ustawienie LED jako wyjścia TRISBbits.TRISB2 = 0; // ustawienie pinu przekaźnika jako wyjścia LED = 0; PRZEKAŹNIK = 0; }
W funkcji głównej stale sprawdzamy naciśnięcie wyłącznika, jeśli wykryjemy naciśnięcie wyłącznika, wykrywając stan wysoki na RB0; czekamy jakiś czas i sprawdzamy czy włącznik jest jeszcze wciśnięty czy nie, jeżeli wyłącznik jest jeszcze wciśnięty to odwrócimy stan PRZEKAŹNIKA i pinu LED.
void main (void) { system_init (); // System przygotowuje się while (1) { if (SW == 1) {// naciśnięto przełącznik __delay_ms (50); // opóźnienie odbicia, jeśli (SW == 1) {// przełącznik jest nadal wciśnięty LED =! LED; // odwrócenie statusu pinów. RELAY =! RELAY; } } } powrót; }
Pełny kod i film demonstracyjny dla tego interfejsu przekaźnika podano poniżej.