Skocz do zawartości

Zdalnie sterowany zasilacz czasowy


Pomocna odpowiedź

Napisano (edytowany)

Wstęp

W wielu domowych warsztatach przychodzi moment, w którym zwykły włącznik przestaje być wygodnym rozwiązaniem. Frezarka CNC, odciąg wiórów, odkurzacz warsztatowy, lampa robocza albo inne urządzenie pomocnicze często powinno włączać się tylko wtedy, gdy faktycznie jest potrzebne. Jeszcze lepiej, jeśli można je wyłączyć bez podchodzenia do stanowiska pracy.

Z pomocą przychodzi projekt Remote PSU, czyli zdalnie sterowane zasilanie, które można obsługiwać na dwa sposoby: pilotem radiowym 433 MHz albo przez BLE. Układ pozwala włączać i wyłączać podłączone urządzenie z odległości, a dodatkowo pilnuje maksymalnego czasu pracy. Dzięki temu nie jest to tylko „inteligentny przedłużacz”, ale mały system bezpieczeństwa, który może automatycznie odłączyć zasilanie po upływie ustawionego czasu.

Ważna cecha tego projektu dotyczy sposobu zasilania samej elektroniki sterującej. Remote PSU powinien być zasilany z USB, aby działał poprawnie jako niezależny układ sterowania. Takie rozwiązanie daje dodatkową możliwość: można zasilić elektronikę z powerbanku, który pełni wtedy rolę prostego, fizycznego ogranicznika czasu pracy. Gdy powerbank się rozładuje albo zostanie odłączony, układ sterujący przestanie podtrzymywać pracę przekaźnika.

IMG_1517.thumb.JPG.026e64bc4cbfaac532030c1b9da6645a.JPG
Zdjęcie urządzenia podłączonego do przedłużacza IEC z gniazdami

Po co budować zdalnie sterowany zasilacz?

Na pierwszy rzut oka taki projekt może wydawać się przesadą. Przecież wiele urządzeń ma własny włącznik, a gotowe gniazdka sterowane pilotem można kupić w sklepie. W praktyce jednak własny układ daje kilka korzyści, których często brakuje w najprostszych gotowych rozwiązaniach.

Przede wszystkim można dopasować logikę działania do konkretnego stanowiska. Jeżeli odciąg wiórów ma działać maksymalnie przez kilka godzin, to nie trzeba pamiętać o jego ręcznym wyłączeniu. Dodatkowo do sterowania można użyć zarówno prostego pilota 433 MHz, jak i telefonu lub innego urządzenia obsługującego BLE. Na dodatek projekt można łatwo rozwijać, bo jego sercem jest popularny mikrokontroler ESP32, czego nie można powiedzieć o żadnym urządzeniu obsługującym TUYA.

Dobrym przykładem zastosowania jest warsztatowa frezarka lub mała maszyna CNC. Podczas pracy powstają wióry i pył, więc obok maszyny często pracuje odkurzacz albo odciąg. Nie zawsze chcemy, aby działał bez przerwy. Remote PSU może włączać taki odciąg tylko na czas pracy, a po zakończeniu sesji odłączyć go automatycznie.

Z czego składa się Remote PSU?

Sercem układu jest płytka WEMOS D1 R32, czyli moduł oparty na ESP32. To wygodna platforma do takich projektów, ponieważ ma wystarczająco dużo wejść i wyjść, obsługuje BLE, a jednocześnie można ją programować w środowisku Arduino przez PlatformIO.

Za właściwe przełączanie zasilania odpowiada moduł przekaźnika 5 V. Przekaźnik działa jak sterowany elektronicznie przełącznik: część niskonapięciowa steruje cewką, a styki przekaźnika mogą załączać zasilanie podłączonego urządzenia. W projekcie zastosowano też moduł FR120 z tranzystorem N-MOSFET, który steruje wejściem modułu przekaźnika.

Oryginalnie urządzenie miało używać klona przekaźnika SSR 40DA firmy FOTEK, aczkolwiek nie działał on zbyt poprawnie w zadanym scenariuszu i powodował ogromne straty energii. Dlatego został on zamieniony na zwykły przekaźnik mechaniczny.

Do sterowania radiowego używany jest odbiornik 433 MHz ASK oparty o układ SYN480R. To proste i tanie rozwiązanie, które pozwala odbierać kody z pilotów radiowych 433 MHz.

Jako przewód sieciowy należy zastosować linkę o przekroju minimum 1 mm², a najlepiej 1,5 mm². Jest to szczególnie istotne, gdy przez styki przekaźnika ma płynąć większy prąd. Warto pamiętać, że dobór przewodów, obudowy, bezpieczników i złącz musi być dopasowany do realnego obciążenia oraz napięcia, z którym pracuje urządzenie.

Zasilanie przez USB – ważny element bezpieczeństwa

W tym projekcie elektronika sterująca nie powinna być traktowana jako dodatek, który można zasilić „byle jak”. Remote PSU potrzebuje zasilania ze złącza USB typu B, aby poprawnie realizować swoją funkcję. To zasilanie podtrzymuje pracę ESP32, odbiornika radiowego, komunikacji BLE oraz logiki odpowiedzialnej za timer sesji.

Takie rozwiązanie ma istotną zaletę: sterowanie jest oddzielone od obwodu, który jest załączany przez przekaźnik. Dzięki temu można zasilić moduł z osobnego źródła, na przykład z ładowarki USB albo powerbanku. Właśnie powerbank jest tutaj szczególnie ciekawym dodatkiem, bo może działać jako druga, prosta warstwa zabezpieczenia czasowego.

Przykład: ustawiamy w oprogramowaniu maksymalny czas sesji na kilka godzin, ale jednocześnie zasilamy układ z powerbanku o ograniczonej pojemności. Jeśli z jakiegoś powodu timer programowy nie zakończy pracy zgodnie z oczekiwaniem, odłączenie lub rozładowanie powerbanku przerwie zasilanie elektroniki sterującej. Przekaźnik w momencie zaniku zasilania logiki zostaje rozłączony odcinając obwód wysokonapięciowy.

Nie należy traktować tego jako jedynego zabezpieczenia w instalacji. To raczej dodatkowy mechanizm ograniczający ryzyko. W projektach przełączających większe moce nadal trzeba zadbać o właściwy przekaźnik, bezpiecznik, przekroje przewodów, izolację, obudowę i bezpieczny montaż.

Jak działa sterowanie przekaźnikiem?

W konfiguracji projektu wyjście przekaźnika zostało przypisane do pinu 19 ESP32. Wejście odbiornika RF pracuje na pinie 26, a komunikacja szeregowa do debugowania używa prędkości 115200 baud.

Istotny szczegół: moduł przekaźnika jest aktywowany stanem niskim. Oznacza to, że włączenie przekaźnika następuje po ustawieniu wyjścia w stan LOW, a wyłączenie po ustawieniu go w stan HIGH. Jest to częste zachowanie gotowych modułów przekaźnikowych, ale łatwo o nim zapomnieć. Przy pierwszym uruchomieniu warto więc sprawdzić działanie układu podłączając jakąś prostą lampkę biurową.

Logika programu jest prosta. Gdy układ otrzyma komendę włączenia, aktywuje przekaźnik i rozpoczyna sesję. Gdy otrzyma komendę wyłączenia, dezaktywuje przekaźnik i kończy sesję. Jeżeli sesja trwa zbyt długo, firmware sam wyłącza przekaźnik.

Domyślny limit sesji wynosi 28800 sekund, czyli 8 godzin. To dużo, ale w praktyce taka wartość może być wygodna jako limit awaryjny. Nic nie stoi na przeszkodzie, aby ustawić krótszy czas, jeśli urządzenie ma pracować tylko przez kilkanaście minut, godzinę czy sekundę (czas minimalny).

IMG_1518.thumb.JPG.69021f4d58b7fee396f0f8e6946fd64c.JPG
Wyjście z urządzenia - złącze IEC C13

Sterowanie radiowe 433 MHz

Pierwszym sposobem obsługi Remote PSU jest pilot 433 MHz. To rozwiązanie bardzo wygodne w warsztacie, ponieważ nie wymaga telefonu ani aplikacji. Wystarczy prosty pilot i odbiornik podłączony do ESP32.

W domyślnej konfiguracji projekt rozpoznaje dwie komendy. Kod 0xF55EA1 aktywuje przekaźnik i uruchamia licznik sesji. Kod 0xF55EA2 wyłącza przekaźnik oraz zatrzymuje licznik. Jeżeli układ odbierze inny kod, nie wykonuje akcji, tylko wypisuje informację przez port szeregowy.

Takie zachowanie jest praktyczne podczas uruchamiania projektu. Można podłączyć ESP32 do komputera, otworzyć monitor portu szeregowego i sprawdzić, jakie kody wysyła posiadany pilot. Jeśli pilot generuje inne wartości, wystarczy podmienić kody w programie.

Sterowanie 433 MHz ma jedną ważną zaletę: jest bardzo proste. Nie trzeba parowania, aplikacji ani sieci Wi-Fi. Z drugiej strony nie jest to rozwiązanie idealne pod względem kontroli dostępu. Dlatego w zastosowaniach, w których przypadkowe lub nieautoryzowane załączenie urządzenia byłoby szczególnie groźne, warto dodać dodatkowe warstwy zabezpieczeń.

BLE – sterowanie z telefonu lub własnej aplikacji

Drugim sposobem obsługi jest BLE, czyli Bluetooth Low Energy. Dzięki temu Remote PSU może być sterowany z telefonu, komputera lub własnego programu, który potrafi komunikować się z charakterystykami BLE.

Urządzenie zgłasza się nazwą OST-RFO. W projekcie zdefiniowano własną usługę BLE o UUID: ae615000-0000-4000-8000-12670255c8fa

W ramach tej usługi dostępne są trzy charakterystyki. Pierwsza odpowiada za maksymalny czas sesji w sekundach: ae615000-0001-4000-8000-12670255c8fa

Wartość jest zapisywana i odczytywana jako tekst ASCII, na przykład 28800. Dzięki temu konfiguracja jest prosta, bo nie trzeba kodować wartości binarnych.

Druga charakterystyka określa stan sesji: ae615000-0002-4000-8000-12670255c8fa

Wartość 0 oznacza sesję nieaktywną, a 1 oznacza sesję aktywną. Zapisanie 1 włącza przekaźnik i uruchamia licznik czasu. Zapisanie 0 wyłącza przekaźnik oraz zatrzymuje licznik. Ta charakterystyka obsługuje również powiadomienia, więc aplikacja może otrzymywać informacje o zmianie stanu.

Trzecia charakterystyka pokazuje aktualny czas trwania sesji: ae615000-0003-4000-8000-12670255c8fa

Jest to liczba sekund od startu bieżącej sesji. Wartość można odczytywać, a dzięki powiadomieniom BLE można też obserwować jej zmianę bez ciągłego odpytywania urządzenia.

BLE jest szczególnie przydatne, gdy chcemy mieć większą kontrolę nad działaniem zasilacza. Pilot 433 MHz dobrze nadaje się do prostego „włącz/wyłącz”, ale BLE pozwala też zmieniać limit czasu i odczytywać aktualny status.

Sesje i automatyczne wyłączanie

Najważniejszą funkcją projektu nie jest samo zdalne sterowanie, ale połączenie sterowania z limitem czasu. W Remote PSU każde włączenie przekaźnika rozpoczyna sesję. Od tego momentu liczony jest czas pracy. Wyłączenie przekaźnika kończy sesję i zeruje jej aktywny stan.

Jeżeli czas sesji przekroczy ustawiony limit, przekaźnik zostaje wyłączony automatycznie. W praktyce działa to jak elektroniczny „bezpiecznik czasowy”. Nie zabezpiecza on przed wszystkimi możliwymi awariami, ale chroni przed jednym częstym problemem: pozostawieniem urządzenia włączonego na zbyt długo.

Taki mechanizm przydaje się szczególnie przy urządzeniach pomocniczych. Odkurzacz, odciąg, wentylator lub oświetlenie warsztatowe często zostają włączone przypadkiem. Timer sprawia, że nawet jeśli użytkownik zapomni o wyłączeniu, układ zrobi to sam po określonym czasie.

Montaż i uwagi praktyczne

Przed pierwszym uruchomieniem najlepiej sprawdzić samą część niskonapięciową. ESP32 można zasilić z USB, podłączyć odbiornik 433 MHz, moduł FR120 i moduł przekaźnika, ale jeszcze bez docelowego obciążenia. Wtedy można bezpiecznie sprawdzić, czy pilot wysyła poprawne kody, czy BLE zgłasza się pod właściwą nazwą oraz czy przekaźnik przełącza się zgodnie z oczekiwaniami.

Dopiero później warto przejść do części wykonawczej, czyli do podłączenia urządzenia sterowanego przez przekaźnik. Jeżeli przełączane jest napięcie sieciowe, trzeba zachować szczególną ostrożność. Połączenia powinny być wykonane solidnie, przewody dobrane do prądu obciążenia, a całość zamknięta w odpowiedniej obudowie. Nie powinno być możliwości przypadkowego dotknięcia części pod napięciem.

Warto też zwrócić uwagę na zachowanie układu po zaniku zasilania USB. Ponieważ USB zasila elektronikę sterującą, jego odłączenie powinno uniemożliwić dalsze aktywne sterowanie przekaźnikiem. To właśnie dlatego zasilanie USB jest tutaj nie tylko wygodnym sposobem zasilania ESP32, ale też elementem całej koncepcji bezpieczeństwa.

Programowanie i budowanie projektu

Firmware projektu jest przygotowany dla środowiska Arduino uruchamianego przez PlatformIO. To wygodne rozwiązanie, ponieważ pozwala zachować porządek w zależnościach i konfiguracji projektu.

Budowanie programu sprowadza się do uruchomienia polecenia:

pio run

Po wgraniu firmware warto uruchomić monitor portu szeregowego z prędkością 115200 baud. Dzięki temu można obserwować odebrane komendy RF oraz sprawdzić, czy układ reaguje zgodnie z oczekiwaniami.

Podczas testów dobrze jest zacząć od krótkiego limitu sesji, na przykład 30 albo 60 sekund. Pozwala to szybko sprawdzić, czy automatyczne wyłączanie działa poprawnie. Dopiero po takim teście można ustawić docelowy limit czasu. Do takich testów warto wykorzystać pomocne oprogramowanie/debugger BLE dostępny w tym artykule.

Co można rozbudować?

Remote PSU jest dobrą bazą do dalszych modyfikacji. Najprostszy dodatek to obudowa z kontrolkami LED informującymi o zasilaniu USB, aktywnej sesji i stanie przekaźnika. Przydatny może być też fizyczny przycisk awaryjnego wyłączenia, który bezpośrednio przerywa sterowanie przekaźnikiem.

Kolejnym krokiem może być aplikacja mobilna lub prosty panel BLE. Taka aplikacja mogłaby pokazywać aktualny czas sesji, umożliwiać zmianę limitu i wysyłać polecenie wyłączenia. Ponieważ wartości BLE są przesyłane jako czytelne ciągi ASCII, napisanie prostego klienta nie powinno być trudne.

Można też rozważyć dodanie sygnalizacji dźwiękowej pod koniec sesji. Na przykład na minutę przed automatycznym wyłączeniem układ mógłby ostrzegać użytkownika, że zasilanie zostanie za chwilę odłączone. W zastosowaniach warsztatowych byłoby to wygodne, bo nagłe wyłączenie odciągu lub lampy może być zaskakujące.

Podsumowanie

Remote PSU to praktyczny projekt dla osób, które chcą zdalnie sterować zasilaniem urządzeń warsztatowych i jednocześnie dodać ograniczenie czasu pracy. Sterowanie 433 MHz daje wygodę prostego pilota, BLE pozwala na bardziej zaawansowaną kontrolę, a timer sesji pilnuje, aby urządzenie nie pracowało w nieskończoność.

Szczególnie ważne jest zasilanie układu przez USB. Nie jest to tylko sposób na dostarczenie energii do ESP32, ale istotny element koncepcji bezpieczeństwa. Zasilając Remote PSU z powerbanku, można uzyskać dodatkowy, niezależny limit działania. To proste, ale bardzo praktyczne zabezpieczenie, które dobrze pasuje do urządzeń używanych w warsztacie.

Projekt najlepiej traktować jako bazę do własnego, starannie wykonanego sterownika zasilania; stąd brak załączenia plików obudowy projektu. Sama elektronika sterująca jest stosunkowo prosta, ale część wykonawcza musi być zaprojektowana odpowiedzialnie. Przy pracy z większymi prądami lub napięciem sieciowym najważniejsze są poprawne połączenia, odpowiednie przewody, izolacja i bezpieczna obudowa.

 

Edytowano przez H1M4W4R1
  • Lubię! 2

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...