___________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________

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