___________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________

10 lipca 2026

Cyfrowy bezpiecznik i monitor zasilania przetwornicy DC/DC 300W/20A.


 Dzisiaj chciałbym podzielić się z Wami moim najnowszym projektem warsztatowym. Jest to inteligentny sterownik, monitor oraz ultraszybki cyfrowy bezpiecznik przeznaczony do współpracy z popularnymi, mocnymi modułami przetwornic obniżających napięcie (Step-Down CC/CV 20A 300W). Niezbędna będzie też modyfikacja bocznika w INA219.

Głównym zadaniem projektu jest zabezpieczenie źródła zasilania całego urządzenia. W zależności od wydajności źródła zasilania możemy tak ustawić blokady by go nie uszkodzić. Bez względu na to czy będzie to transformator z mostkiem i kondensatorem, akumulator czy jakaś przetwornica. Układ umożliwia zabezpieczenie wszystkiego co podaje napięcie DC na wejście układu i pod warunkiem, że U max. nie przekroczy 30V. 

Schemat wyjaśniający ideę projektu:


 

Sercem układu jest moduł ESP8266 (NodeMCU), który współpracuje z układem pomiarowym INA219, wyświetlaczem ST7789 oraz miniaturowym przekaźnikiem kontaktronowym MSS2-1A05B. Do zasilania części cyfrowej została użyta dodatkowa mała przetworniczka która ma zakres napięć wejściowych od 5 do 30V a na wyjściu daje tylko jedno napięcie +5V które jest podawane na wejście Vin płytki procesora. Tak wygląda dodatkowa przetwornica której użyłem (zdemontowane gniazdo USB które było na wyjściu):


Dlaczego ten projekt powstał?

Standardowe chińskie przetwornice DC/DC z regulacją prądu i napięcia (CC/CV) są tanie i wydajne, ale posiadają istotną wadę: brak precyzyjnego, cyfrowego monitoringu parametrów w czasie rzeczywistym oraz brak możliwości zdefiniowania sztywnych limitów mocy czy napięcia, których przekroczenie natychmiast odetnie obciążenie. Ten projekt rozwiązuje ten problem, zamieniając zwykły moduł DC/DC w zaawansowany, programowalny zasilacz laboratoryjny :) .

Główne cechy urządzenia:

  • Szeroki zakres napięć wejściowych: 7V do 30V DC.

  • Maksymalny prąd roboczy: do 20 A (moc maksymalna do 300 W).

  • Ultraszybki bezpiecznik programowy: monitorowanie i ochrona przed przekroczeniem zadanego napięcia (U), prądu (I) oraz mocy całkowitej (P).

  • Zapis ustawień Non-Volatile: Limity bezpieczeństwa są zapisywane bezpośrednio w pamięci Flash układu ESP8266 (bez użycia klasycznej biblioteki EEPROM). Tak więc ustawienia są pamiętane nawet po wyłączeniu zasilania.

  • Graficzny interfejs użytkownika: Wyświetlacz LCD ST7789 (320x240 px) z płynnie odświeżanymi paskami postępu (podziałka 0-100% obciążenia limitu) oraz ekranem alarmowym.

  • Automatyczny restart: Po wyzwoleniu zabezpieczenia układ odlicza 3 sekundy i podejmuje próbę ponownego załączenia wyjścia. Jeżeli zniknie przyczyna przeciążenia przetwornica podejmie normalną pracę. Uwaga! Bezpośrednie zwarcie na wyjściu natychmiast zablokuje przetwornicę. Po usunięciu zwarcia przetwornica pracuje normalnie.

     


Architektura Sprzętowa i Moduł INA219

Kluczowym elementem odpowiedzialnym za pomiary jest układ INA219 komunikujący się przez magistralę I2C. Fabrycznie moduły te wyposażone są w rezystor bocznikowy (shunt) o wartości 0,1Ω. Przy prądzie rzędu 20 A spadek napięcia na takim boczniku wynosiłby aż 2 V, co generowałoby ogromne straty mocy i natychmiastowe uszkodzenie płytki.

Aby dostosować układ do wysokich prądów, fabryczny bocznik został zastąpiony zewnętrznym rezystorem precyzyjnym o wartości 0,01 Ω wpiętym w plusową linię wyjściową przetwornicy (High-Side). Dzięki temu przy 20 A tracimy zaledwie 4 W mocy, a spadek napięcia wynosi bezpieczne 200 mV.

Moduł przetwornicy zawiera rezystor pomiarowy (za zwyczaj 0.04Ω ) na minusie który pozostawiamy bez zmian.

 

W kodzie programu wymusiło to autorską konfigurację rejestru kalibracji układu INA219:

C++
uint16_t calValue = 40960; 
uint16_t configValue = INA219_CONFIG_BVOLTAGERANGE_32V |
                       INA219_CONFIG_GAIN_8_320MV |
                       INA219_CONFIG_BADCRES_12BIT_64S_34MS | 
                       INA219_CONFIG_SADCRES_12BIT_64S_34MS | 
                       INA219_CONFIG_MODE_SANDBVOLT_CONTINUOUS;

 

Przeliczenie prądu w pętli głównej uwzględnia bocznik 0,01Ω, gdzie spadek 10 mV odpowiada natężeniu 1 A:

C++
float current_A = (shuntVoltage / 10.0);
 
 

Sterowanie Przetwornicą – Przekaźnik Kontaktronowy

Do sterowania stanem pracy modułu Step-Down wykorzystałem dedykowane wejście ENABLE (EN) na płycie przetwornicy. Za fizyczne kluczowanie tego sygnału odpowiada miniaturowy przekaźnik kontaktronowy MSS2-1A05B, sterowany poprzez tranzystor PNP z pinu D0 procesora ESP8266.

  • Stan normalny (Praca): Pin D0 w stanie niskim (LOW), przekaźnik zwiera sygnał EN do odpowiedniego potencjału startowego przetwornicy.

  • Stan alarmu (Zabezpieczenie): Wykrycie przekroczenia limitu natychmiast ustawia pin D0 w stan wysoki (HIGH), rozłączając obwód EN i błyskawicznie wyłączając kluczowanie tranzystorów mocy w przetwornicy.

    W układzie został zastosowany przekaźnik MSS2-1A05B ze względu na różne sposoby blokowania przetwornic ale o tym później.

 

Logika Menu i Praca Bezbiblioteczna z Pamięcią Flash

Sterowanie limitami odbywa się za pomocą dwóch przycisków: MENU (pin D6) oraz ZMIANA (pin A0 z zewnętrznym rezystorem pull-up 10k). Układ pozwala na płynną regulację progów odcięcia:

  • Napięcie: do 24,0 V  (krok co 0,5 V)

  • Prąd: do 20,0 A        (krok co 0,5 V)

  • Moc: do 300 W         (krok co 10 W)

     


Ciekawostką programistyczną jest rezygnacja z gotowych bibliotek typu EEPROM na rzecz bezpośrednich odwołań do niskopoziomowego SDK ESP8266 (spi_flash_erase_sector oraz spi_flash_write). Zapis danych realizowany jest binarne w bezpiecznym sektorze 1011 z weryfikacją poprawności za pomocą unikalnego identyfikatora Magic ID (0x55AA55AA):

C++
struct FlashConfig {
  uint32_t magic;
  float max_voltage;
  float max_current;
  float max_power;
};

Podczas zapisu i odczytu, na czas operacji na strukturze pamięci, blokowane są przerwania mikrokontrolera (noInterrupts()), co gwarantuje integralność danych i zabezpiecza procesor przed zawieszeniem.

 

Przetwornice dostępne na AliExpress opisywane jako "20A 300W CC CV Step Down Module Regulowany DC 6-40V do 1.2-36V" (SZBK07) występują w kilku wersjach:

Wersja którą posiadam. Przetwornica działa po podaniu napięcia z wejścia przetwornicy (Vin+). Kolor żółty to niewidoczna ścieżka do pinu EN układu scalonego którego nazwa została przez producenta zeszlifowana. 

 

Inna wersja której schemat znajdziemy w internecie. Tutaj nazwa układu scalonego jest widoczna. Jest to inny układ scalony (LM25116). Tu wejście EN układu scalonego jest podciągnięte do plusa zasilania poprzez rezystor 1M a uruchomienie następuje poprzez zwarcie wejścia EN do masy (GND):

  


Właśnie do tego jest użyty przekaźnik MSS2-1A05B by było można użyć różnych typów przetwornic. Po prostu przyłączamy kontaktron przekaźnika w miejsce usuniętego przełącznika ON/OFF.


Kilka informacji o przekaźniku  MSS2-1A05B. Przekaźnik fabryczne jest zasilany napięciem 5V a styki wytrzymują prąd do 1A. W projekcie jest on zasilany napięciem 3,3V ale pracuje poprawnie i niezawodnie. Oczywiście można zastosować inny podobny przekaźnik. Schemat połączeń wewnętrznych zastosowanego przekaźnika:  


 

 SCHEMAT POŁĄCZEŃ :

POWIĘKSZENIE DOSTĘPNE W "OTWÓRZ ODNOŚNIK W NOWEJ KARCIE".

 

Podsumowanie i dalsze kroki

Układ sprawuje się znakomicie. Bezpiecznik programowy reaguje niezwykle szybko, chroniąc zasilane prototypy przed zniszczeniem w przypadku zwarcia. Na wyświetlaczu ST7789 wszystko jest czytelne dzięki dużym czcionkom Adafruit GFX i graficznym bar-grafom, które precyzyjnie pokazują, jak blisko zdefiniowanego limitu aktualnie pracujemy. 

Oczywiście nie pisałem tu o rzeczy oczywistej czyli o zastąpieniu potencjometrów znajdujących się na płycie przetwornicy "normalnymi" potencjometrami wieloobrotowymi które wyprowadzamy przewodami i umieszczamy w dogodnym dla nas miejscu na płycie czołowej urządzenia.

 

LINK DO PROGRAMU w formacie (*.bin): 

https://mega.nz/folder/EV0zmA7Z#KL4DJds3lYAv1b6Y1EDBLQ

 Gdyby ktoś bardzo potrzebował program w postaci *.ino to proszę o kontakt (komentarz lub poprzez e-mail:  hf5wwl@gmail.com).

 

 

✍️ Autor: Robert HF5WWL
📅 Data projektu: Lipiec 2026 r.
 📍 Lokalizacja: Wołomin, POLSKA
📁 Coś nie jasne? Pytaj poprzez e-mail (hf5wwl@gmail.com) lub w komentarzu 
🛠️ Poziom trudności: Łatwy  (jak się ma oprogramowanie) 
😊

 

 #ESP8266 #INA219 #ST7789 #NodeMCU #Arduino #MSS2-1A05B #przekaźnik-kontaktronowy

 #zasilacz-warsztatowy #przetwornica-DC-DC #Step-Down #cyfrowy-bezpiecznik #zabezpieczenie-nadprądowe #elektronika-DIY #pomiar-prądu #High-Side-Current #bocznik

 

03 lutego 2026

Modernizacja modułu ESP32 – wymiana anteny PCB na gniazdo SMA

 📶🏠  Czy Twoje projekty IoT tracą zasięg tam, gdzie najbardziej go potrzebujesz? Jeżeli tak, to rozwiązanie jest dla Ciebie! 

W prezentowanej modyfikacji modułu opartego o procesor ESP32-D0WD06 zdecydowałem się na rezygnację z fabrycznej anteny PCB i zastąpienie jej gniazdem SMA, umożliwiającym podłączenie zewnętrznej anteny WiFi. Celem modernizacji było poprawienie zasięgu, stabilności połączenia oraz elastyczności w doborze anteny – szczególnie w zastosowaniach stacjonarnych i eksperymentalnych.

Antena PCB – dlaczego nie zawsze wystarcza?

Fabryczna antena drukowana (PCB) ma jedną niezaprzeczalną zaletę: nic nie kosztuje i nie zajmuje miejsca. Niestety, w praktyce jej skuteczność bywa mocno zależna od:

  • położenia modułu,

  • otoczenia (obudowa, przewody, płaszczyzna masy),

  • odległości od punktu dostępowego.

W przypadku projektów, w których moduł ESP32 pracuje w obudowie lub w trudniejszych warunkach propagacyjnych, antena PCB szybko staje się wąskim gardłem.

Zakres modyfikacji

Modernizacja polegała na:

  1. Przecięciu ścieżki anteny PCB w precyzyjnie dobranym miejscu – dokładnie tam, gdzie kończy się linia zasilająca antenę, a zaczyna jej struktura promieniująca.

  2. Odseparowaniu anteny drukowanej od toru RF, aby zapobiec jej dalszemu wpływowi na dopasowanie impedancyjne.

  3. Przylutowaniu gniazda SMA:

    • środkowy pin gniazda do punktu zasilania anteny (RF),

    • masa gniazda do masy modułu (kilka punktów lutowniczych, możliwie krótka droga).

Na załączonych zdjęciach widać zarówno oryginalną postać modułu z anteną PCB, jak i wersję po modyfikacji, wyposażoną w solidnie osadzone gniazdo SMA.










 

Aspekty techniczne – kilka ważnych uwag

  • Minimalna długość połączenia RF
    Połączenie pomiędzy wyjściem RF ESP32 a gniazdem SMA wykonano możliwie najkrótszą drogą. Przy 2,4 GHz każdy milimetr ma znaczenie – to już nie są przewody, tylko linie transmisyjne.

  • Masa ma znaczenie
    Gniazdo SMA zostało solidnie połączone z masą modułu. Dobre uziemienie to warunek konieczny dla poprawnej pracy toru antenowego i stabilnej impedancji. 

  • Brak dodatkowych elementów
    W tej modyfikacji nie stosowano dodatkowych kondensatorów ani dławików – wykorzystano istniejący tor RF, który w wersji fabrycznej zasilał antenę PCB.

 

Efekt końcowy

Po modernizacji moduł zyskuje:

  • możliwość stosowania dowolnej anteny WiFi (dookólnej, kierunkowej, zewnętrznej),

  • wyraźnie lepszy zasięg i stabilność połączenia,

  • pełną swobodę eksperymentów antenowych – od krótkich „patyczków” po solidne anteny panelowe.

A co najważniejsze: modyfikacja jest odwracalna tylko w teorii, ale w praktyce – jeśli raz zobaczysz różnicę w RSSI i stabilności linku, do anteny PCB raczej nie będziesz chciał wracać 😉

Podsumowanie

Opisana modernizacja to prosty, ale bardzo skuteczny sposób na podniesienie możliwości modułu ESP32. Wymaga precyzji, pewnej ręki i podstawowej świadomości RF, ale efekty są absolutnie warte wysiłku – szczególnie w projektach, gdzie niezawodna łączność WiFi jest kluczowa.

Zasięg to często "być albo nie być" dla urządzeń brzegowych. W ramach optymalizacji modułu ESP32-D0WD-V3, przeprowadziłem modyfikację toru RF, zastępując zintegrowaną antenę PCB profesjonalnym gniazdem SMA. Taka zmiana pozwala na pełną elastyczność w doborze anten zewnętrznych i drastyczną poprawę parametrów RSSI. Czyste cięcie, pewny lut, lepszy zasięg.

Pamiętaj by moduł nie pracował bez anteny. Jeżeli nie masz pod ręką właściwej anteny załóż obciążenie (rezystor 50R). Praca modułu bez obciążenia nadajnika może go uszkodzić! 

  

#ESP32 #RFDesign #HardwareMod #IoT #Engineering #Electronics #SmartHome

 

✍️ Autor: Robert HF5WWL
📅 Data projektu: Luty 2026 r.
 📍 Lokalizacja: Wołomin, POLSKA
📁 Coś nie jasne? Pytaj poprzez e-mail (hf5wwl@gmail.com) lub w komentarzu 
🛠️ Poziom trudności: Łatwy  
😊

 

25 stycznia 2026

TYPOWY ZEGAR Z NIETYPOWYM STEROWANIEM


Na moim blogu często prezentuję projekty związane z elektroniką i mikrokontrolerami. Dziś chciałbym przedstawić jeden z moich najciekawszych projektów: Zaawansowany zegar NTP współpracujący z lokalnym serwerem czasu i pełną konfiguracją przez interfejs WWW.

 


 

🕐 Koncepcja projektu

Zegar ten to niezwykle precyzyjne urządzenie czasu, które pracuje w całkowicie odizolowanej od internetu sieci WiFi. Jego dokładność wynika z synchronizacji z lokalnym serwerem NTP Stratum 1 opartym na odbiorniku GPS, który działa w tej samej sieci.

Zegar współpracuje z domowym AP opisanym tutaj. Serwer czasu zostanie przedstawiony i opisany w późniejszym czasie.

✨ Kluczowe funkcje

1. Autonomiczna sieć czasu

  • Praca w izolowanej prywatnej sieci WiFi

  • Synchronizacja z lokalnym serwerem NTP (GPS Stratum1)

  • Brak zależności od zewnętrznego internetu

2. Inteligentny wyświetlacz LED

  • 60 diod WS2812 ułożonych w pierścień

  • Oddzielne kolory dla godzin, minut i sekund

  • Programowalne kolory tarczy i znaczników

  • Adaptacyjna regulacja jasności (fotorezystor)

3. Pełna konfiguracja WebUI

  • Nowoczesny interfejs WWW z zakładkami

  • Konfiguracja WiFi, NTP, kolorów i jasności

  • Tryb Access Point do pierwszej konfiguracji

  • Statyczne/dynamiczne adresy IP

4. Zaawansowane sterowanie jasnością

  • Tryb automatyczny - dostosowanie do warunków oświetleniowych

  • Tryb ręczny - pełna kontrola przez WWW

  • Oddzielna regulacja jasności tarczy i wskazówek

  • Algorytm priorytetów wyświetlania

🔧 Techniczne detale

Platforma:

  • Mikrokontroler: ESP8266MOD (NodeMCU lub podobny)

  • Wyświetlacz: Pierścień 60x WS2812B LED

  • Czujnik światła: Fotorezystor podłączony do A0

  • Pamięć konfiguracji: EEPROM z wersjonowaniem struktury

Tryby pracy:

  1. STA (Station Mode) - normalna praca z siecią WiFi

  2. AP (Access Point Mode) - tryb konfiguracji przy braku sieci

  3. Automatyczne przełączanie między trybami w razie potrzeby

Konfiguracja przez WWW:

  • Adresowanie: http://192.168.4.13 (domyślnie)

  • Responsywny design - działa na komputerze i telefonie

  • Zapis konfiguracji z walidacją danych

  • Panel statusu systemu w czasie rzeczywistym

🎨 Możliwości personalizacji

Kolorystyka:

  • Godziny: programowalny kolor RGB

  • Minuty: programowalny kolor RGB

  • Sekundy: programowalny kolor RGB

  • Tarcza (godziny główne): programowalny kolor

  • Znaczniki 5-minutowe: programowalny kolor

Ustawienia sieci:

  • Wybór między DHCP a statycznym IP

  • Konfiguracja bramy i maski podsieci

  • Możliwość zmiany adresu serwera NTP

  • Przesunięcia czasowe UTC i czasu letniego

🔄 Zarządzanie systemem

Funkcje Administracyjne:

  • Restart systemu przez WWW

  • Reset do ustawień fabrycznych

  • Czyszczenie EEPROM (całkowity reset)

  • Wczytywanie/zapisywanie konfiguracji

  • Monitorowanie statusu w czasie rzeczywistym

Informacje systemowe:

  • Wolna pamięć mikrokontrolera

  • Status połączenia WiFi

  • Synchronizacja NTP

  • Aktualny czas systemowy

  • Wersja oprogramowania i konfiguracji

📊 Algorytm wyświetlania

Kolorem żółtym oznaczyłem "cyfry główne". Kolor zielony to aktualny czas: czerwony LED -godzina, zielony LED -minuta, niebieski LED -sekunda, czyli mamy godzinę 14:18:33.
 

Zegar wykorzystuje inteligentny algorytm priorytetów:

  1. Tarcza z godzinami głównymi i znacznikami 5-minutowymi

  2. Wskazówka godzinowa (z priorytetem nad tarczą)

  3. Wskazówka minutowa (z priorytetem nad godzinową)

  4. Wskazówka sekundowa (najwyższy priorytet)

Każdy element ma oddzielnie regulowaną jasność, co pozwala na optymalną czytelność w różnych warunkach oświetleniowych.

🛠️ Możliwości rozwoju

Projekt został zaprojektowany modularnie, co umożliwia łatwe rozszerzanie funkcjonalności:

  • Dodanie wyświetlania daty

  • Alarmy i timery

  • Integracja z innymi systemami domowymi

  • Wsparcie dla wielu stref czasowych

  • Logowanie historii zmian czasu

    Oczywiście można dodać tło z naniesionymi opisami godzin (tarcza zegara) ale to już pozostawiam inwencji ewentualnego wykonawcy. 

💡 Dlaczego ten projekt jest wyjątkowy?

  1. Niezależność - działa bez dostępu do internetu

  2. Precyzja - czas GPS z dokładnością do mikrosekund

  3. Elastyczność - pełna konfiguracja bez programowania

  4. Estetyka - piękne, płynne animacje LED

  5. Niezawodność - automatyczne odzyskiwanie po awariach

📋 Wymagania techniczne do budowy

  • ESP8266MOD (NodeMCU, Wemos D1 mini)

    ESP8266MOD

     

  • Pierścień 60 LED WS2812B

  • Fotorezystor + rezystor 10kΩ (jak nie masz na płytce)

  • Zasilacz 5V/3A

  • Obudowa (opcjonalnie)

  • Lokalny serwer NTP z GPS (oddzielne urządzenie)

           Informacja z serwera czasu (osobne urządzenie sieciowe).
     
     
     
    Na koniec kilka zrzutów ekranu pokazujących możliwości zdalnego sterowania zegarem:
     











Ten zegar to doskonały przykład, jak połączyć zaawansowaną elektronikę, precyzyjne pomiary czasu i nowoczesne interfejsy użytkownika. Cały kod jest dostępny ZA DARMO po przesłaniu zapytania na e-mail hf5wwl@gmail.com

Czy masz pomysł na dodatkowe funkcje, które można by dodać do tego zegara? Podziel się swoimi przemyśleniami w komentarzach!



✍️ Autor: Robert HF5WWL
📅 Data projektu: Styczeń 2026 r.
📍 Lokalizacja: Wołomin, POLSKA
📁 Kod źródłowy: Pytaj poprzez e-mail (hf5wwl@gmail.com).
🛠️ Poziom trudności: Łatwy (gdy masz gotowy program 
😊).


Licencja: Projekt open-source do użytku niekomercyjnego

 

 

Tagi:   #ESP8266 #NTP #GPS #LEDClock #DIY #IoT #Arduino #Stratum1 #WebUI