- Wymagane składniki:
- Objaśnienie robocze:
- Objaśnienie obwodu:
- Objaśnienie programowania:
- Projektowanie obwodów i PCB za pomocą EasyEDA:
- Obliczanie i zamawianie PCB online:
W naszym domu często obserwujemy wahania napięcia w dostawie energii elektrycznej, które mogą powodować awarię naszych domowych urządzeń prądu przemiennego. Dziś budujemy tani obwód zabezpieczający przed wysokim i niskim napięciem, który odetnie zasilanie urządzeń w przypadku wysokiego lub niskiego napięcia. Wyświetli również komunikat ostrzegawczy na wyświetlaczu LCD 16x2. W tym projekcie użyliśmy mikrokontrolera PIC do odczytu i porównania napięcia wejściowego z napięciem odniesienia i podjęcia odpowiednich działań.
Zrobiliśmy ten obwód na PCB i dodaliśmy dodatkowy obwód na PCB w tym samym celu, ale tym razem przy użyciu wzmacniacza operacyjnego LM358 (bez mikrokontrolera). Dla celów demonstracyjnych wybraliśmy limit niskiego napięcia jako 150 V i limit wysokiego napięcia jako 200 V. W tym projekcie nie używaliśmy żadnego przekaźnika do odcięcia, po prostu zademonstrowaliśmy to za pomocą LCD, sprawdź wideo na końcu tego artykułu. Ale użytkownik może podłączyć przekaźnik do tego obwodu i połączyć go z GPIO PIC.
Sprawdź tutaj nasze inne projekty PCB.
Wymagane składniki:
- Mikrokontroler PIC PIC18F2520
- PCB (zamawiane w EasyEDA)
- IC LM358
- 3-pinowe złącze terminala (opcjonalnie)
- Wyświetlacz LCD 16x2
- Tranzystor BC547
- Rezystor 1k
- Rezystor 2k2
- Rezystor 30K SMD
- 10k SMD
- Kondensatory - 0,1 uf, 10 uF, 1000 uF
- 28-pinowa podstawa IC
- Burgsticks męskie / żeńskie
- 7805 Regulatory napięcia - 7805, 7812
- Programator Pickit2
- DOPROWADZIŁO
- Dioda Zenera - 5,1 V, 7,5 V, 9,2 V.
- Transformator 12-0-12
- Kryształ 12 MHz
- Kondensator 33pF
- Regulator napięcia (regulator prędkości wentylatora)
Objaśnienie robocze:
W tym obwodzie odcięcia wysokiego i niskiego napięcia odczytaliśmy napięcie AC za pomocą mikrokontrolera PIC za pomocą transformatora, prostownika mostkowego i obwodu dzielnika napięcia i wyświetliliśmy na wyświetlaczu LCD 16x2. Następnie porównaliśmy napięcie AC ze wstępnie zdefiniowanymi limitami i odpowiednio wyświetliliśmy komunikat ostrzegawczy na wyświetlaczu LCD. Podobnie jak w przypadku napięcia poniżej 150 V, pokazaliśmy „Niskie napięcie”, a jeśli napięcie przekracza 200 V, na wyświetlaczu LCD pojawi się tekst „Wysokie napięcie”. Możemy zmienić te ograniczenia w kodzie PIC podanym na końcu tego projektu. Tutaj użyliśmy regulatora wentylatora, aby zwiększyć i zmniejszyć napięcie wejściowe w celach demonstracyjnych w wideo.
W tym obwodzie dodaliśmy również prosty obwód zabezpieczający przed zbyt niskim i zbyt wysokim napięciem bez użycia mikrokontrolera. W tym prostym obwodzie użyliśmy komparatora LM358 do porównania napięcia wejściowego i odniesienia. Mamy więc tutaj trzy opcje w tym projekcie:
- Zmierz i porównaj napięcie AC za pomocą transformatora, mostka prostowniczego, obwodu dzielnika napięcia i mikrokontrolera PIC.
- Wykrywanie zbyt wysokiego i niskiego napięcia za pomocą LM358 za pomocą transformatora, prostownika i komparatora LM358 (bez mikrokontrolera)
- Wykryj zbyt niskie i zbyt wysokie napięcie za pomocą komparatora LM358 i podaj jego sygnał wyjściowy do mikrokontrolera PIC w celu wykonania kodu.
Tutaj zademonstrowaliśmy pierwszą opcję tego projektu. W którym obniżyliśmy napięcie wejściowe prądu przemiennego, a następnie przekształciliśmy je w prąd stały za pomocą prostownika mostkowego, a następnie ponownie zmapowaliśmy to napięcie prądu stałego na 5 V, a na koniec podaliśmy to napięcie do mikrokontrolera PIC w celu porównania i wyświetlenia.
W mikrokontrolerze PIC odczytaliśmy to odwzorowane napięcie DC i na podstawie tej odwzorowanej wartości obliczyliśmy przychodzące napięcie AC za pomocą podanego wzoru:
volt = ((adcValue * 240) / 1023)
gdzie adcValue jest równoważną wartością napięcia wejściowego DC na pinie ADC kontrolera PIC, a wolt jest zastosowanym napięciem AC. Tutaj przyjęliśmy 240 V jako maksymalne napięcie wejściowe.
lub alternatywnie możemy użyć podanej metody do odwzorowania równoważnej wartości wejściowej DC.
volt = map (adcVlaue, 530, 895, 100, 240)
gdzie adcValue jest równoważną wartością napięcia wejściowego DC na pinie ADC kontrolera PIC, 530 to minimalne równoważne napięcie DC, a 895 to maksymalna wartość równoważna napięcia DC. A 100 V to minimalne napięcie mapowania, a 240 V to maksymalne napięcie mapowania.
Oznacza to, że wejście 10 mV DC na pinie PIC ADC jest równe wartości równoważnej 2,046 ADC. Więc tutaj wybraliśmy 530 jako wartość minimalna, napięcie na pinie ADC PIC będzie wynosić:
(((530 / 2.046) * 10) / 1000) wolt
2.6v, które zostanie zmapowane jako minimalna wartość 100VAC
(To samo obliczenie maksymalnego limitu).
Sprawdź, czy funkcja mapy jest podana w kodzie programu PIC na końcu. Dowiedz się więcej o obwodzie dzielnika napięcia i mapowaniu napięć za pomocą ADC tutaj.
Praca nad tym projektem jest łatwa. W tym projekcie do zademonstrowania zastosowaliśmy regulator napięcia AC wentylatora. Do wejścia transformatora dołączyliśmy regulator wentylatora. A następnie zwiększając lub zmniejszając jego rezystancję otrzymujemy żądane napięcie wyjściowe.
W kodzie ustaliliśmy maksymalne i minimalne wartości napięcia dla wykrywania wysokiego i niskiego napięcia. Ustaliliśmy 200 V jako limit przepięcia i 150 V jako dolną granicę napięcia. Teraz po włączeniu obwodu widzimy napięcie wejściowe AC na wyświetlaczu LCD. Gdy napięcie wejściowe wzrośnie, możemy zobaczyć zmiany napięcia na wyświetlaczu LCD, a jeśli napięcie przekroczy limit, wyświetlacz LCD ostrzeże nas za pomocą „Alarmu wysokiego napięcia”, a jeśli napięcie spadnie poniżej limitu napięcia, wyświetlacz LCD ostrzeże nas, pokazując „ Ostrzeżenie o niskim napięciu ”. W ten sposób może być również używany jako wyłącznik elektroniczny.
Możemy ponadto dodać przekaźnik, aby podłączyć dowolne urządzenia AC do automatycznego odcinania niskiego lub wysokiego napięcia. Musimy tylko dodać linię kodu wyłączającą urządzenie, poniżej komunikatu ostrzegawczego LCD pokazującego kod. Sprawdź tutaj, aby używać przekaźnika z urządzeniami AC.
Objaśnienie obwodu:
W obwodzie zabezpieczającym przed wysokim i niskim napięciem zastosowaliśmy wzmacniacz operacyjny LM358, który ma dwa wyjścia podłączone do 2 i 3 pinów mikrokontrolera PIC. Dzielnik napięcia służy do dzielenia napięcia i łączy jego wyjście z pinem 4 numeru mikrokontrolera PIC. LCD jest podłączony do PORTB PIC w trybie 4-bitowym. RS i EN są bezpośrednio podłączone do B0 i B1, a piny danych D4, D5, D6 i D7of LCD są podłączone odpowiednio do B2, B3, B4 i B5. W tym projekcie zastosowaliśmy dwa stabilizatory napięcia: 7805 do zasilania mikrokontrolera i 7812 do układu LM358. Transformator obniżający napięcie 12v-0-12v jest również używany do obniżania napięcia AC. Pozostałe elementy są pokazane na schemacie poniżej.
Objaśnienie programowania:
Programowanie części tego projektu jest łatwe. W tym kodzie wystarczy obliczyć napięcie prądu przemiennego za pomocą zmapowanego napięcia 0-5 V pochodzącego z obwodu dzielnika napięcia, a następnie porównać je z predefiniowanymi wartościami. Możesz sprawdzić pełny kod PIC po tym projekcie.
Najpierw w kodzie umieściliśmy nagłówek i skonfigurowaliśmy bity konfiguracyjne mikrokontrolera PIC. Jeśli jesteś nowy w kodowaniu PIC, poznaj mikrokontroler PIC i jego bity konfiguracyjne tutaj.
Następnie użyliśmy pewnych funkcji do sterowania LCD, takich jak void lcdbegin () do inicjalizacji LCD, void lcdcmd (char ch) do wysyłania polecenia do LCD, void lcdwrite (char ch) do wysyłania danych do LCD i void lcdprint (char * str) do wysyłania ciągu do LCD. Sprawdź wszystkie funkcje w poniższym kodzie.
Poniżej podana funkcja służy do odwzorowania wartości:
długa mapa (long x, long in_min, long in_max, long out_min, long out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Podana funkcja int analogRead (int ch) służy do inicjalizacji i odczytu ADC:
int analogRead (int ch) {int adcData = 0; if (ch == 0) ADCON0 = 0x03; // kanał adc 0 else if (ch == 1) ADCON0 = 0x0b; // wybierz kanał adc 1 else if (ch == 2) ADCON0 = 0x0b; // wybierz kanał adc 2 ADCON1 = 0b00001100; // wybierz analogowe i / p 0,1 i 2 kanały ADC ADCON2 = 0b10001010; // czas wyrównywania utrzymujący limit czasu while (GODONE == 1); // rozpoczęcie konwersji wartość adc adcData = (ADRESL) + (ADRESH << 8); // Przechowuj 10-bitowe dane wyjściowe ADON = 0; // adc off return adcData; }
Z podanych linii pobierane są próbki ADC i obliczamy średnią z nich, a następnie obliczamy napięcie:
while (1) {long adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // pobieranie próbek {adcValue + = analogRead (2); opóźnienie (1); } adcValue / = 100; #if metoda == 1 wolt = (((float) adcValue * 240.0) /1023.0); #else volt = map (adcValue, 530, 895, 100, 240); #endif sprintf (wynik, "% d", volt);
I na koniec dana funkcja służy do wykonania akcji:
if (volt> 200) {lcdcmd (1); lcdprint („Wysokie napięcie”); lcdcmd (192); lcdprint ("Alert"); opóźnienie (1000); } else if (volt <150) {lcdcmd (1); lcdprint („Niskie napięcie”); lcdcmd (192); lcdprint ("Alert"); opóźnienie (1000); }
Projektowanie obwodów i PCB za pomocą EasyEDA:
Aby zaprojektować ten obwód detektora WYSOKIEGO i NISKIEGO napięcia, wybraliśmy internetowe narzędzie EDA o nazwie EasyEDA. Wcześniej korzystaliśmy z EasyEDA wiele razy i stwierdziliśmy, że jest bardzo wygodny w użyciu w porównaniu z innymi producentami PCB. Sprawdź tutaj wszystkie nasze projekty PCB. EasyEDA to nie tylko kompleksowe rozwiązanie do przechwytywania schematów, symulacji obwodów i projektowania PCB, ale oferuje również niedrogie usługi prototypowania PCB i pozyskiwania komponentów. Niedawno uruchomili usługę pozyskiwania komponentów, w ramach której mają duży zapas komponentów elektronicznych, a użytkownicy mogą zamówić wymagane komponenty wraz z zamówieniem PCB.
Projektując obwody i płytki drukowane, możesz również upublicznić projekty obwodów i płytek drukowanych, aby inni użytkownicy mogli je kopiować lub edytować i czerpać z tego korzyści, upubliczniliśmy również nasze układy obwodów i PCB dla tego wysokiego i niskiego napięcia Obwód ochronny, sprawdź poniższy link:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Poniżej znajduje się migawka górnej warstwy układu PCB z EasyEDA, możesz wyświetlić dowolną warstwę (górną, dolną, topową, dolną itp.) PCB, wybierając warstwę z okna „Warstwy”.
Możesz również sprawdzić widok zdjęcia PCB za pomocą EasyEDA:
Obliczanie i zamawianie PCB online:
Po zakończeniu projektowania PCB możesz kliknąć ikonę wyjścia produkcyjnego powyżej. Następnie uzyskasz dostęp do strony zamówienia PCB, aby pobrać pliki Gerber z Twojej płytki PCB i wysłać je do dowolnego producenta, znacznie łatwiej (i taniej) jest również zamówić ją bezpośrednio w EasyEDA. Tutaj możesz wybrać liczbę PCB, które chcesz zamówić, ile warstw miedzi potrzebujesz, grubość PCB, wagę miedzi, a nawet kolor PCB. Po wybraniu wszystkich opcji kliknij „Zapisz w koszyku” i sfinalizuj zamówienie, a kilka dni później otrzymasz PCB. Użytkownik może również udać się z lokalnym dostawcą PCB, aby wykonać PCB za pomocą pliku Gerber.
Dostawa EasyEDA jest bardzo szybka i po kilku dniach od zamówienia PCB otrzymałem próbki PCB:
Poniżej zdjęcia po wlutowaniu elementów na PCB:
W ten sposób możemy łatwo zbudować obwód zabezpieczający niskiego napięcia dla naszego domu. Ponadto wystarczy dodać przekaźnik, aby podłączyć do niego dowolne urządzenia prądu przemiennego, aby chronić go przed wahaniami napięcia. Po prostu podłącz przekaźnik z dowolnym pinem PIC MCU ogólnego przeznaczenia i napisz kod, aby ten pin był wysoki i niski wraz z kodem komunikatu ostrzegawczego LCD.