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:
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:
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):
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):

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








