___________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________

16 stycznia 2026

ODBIORNIK VHF SA868S Z INTERFEJSEM WWW

Interfejs WWW

Cześć! Dziś chciałbym podzielić się z Wami moim najnowszym projektem: "profesjonalnym" odbiornikiem VHF z interfejsem webowym, który zbudowałem w oparciu o moduł radiowy SA868S, mikrokontroler ESP32 oraz wyświetlacz TFT ST7789. To urządzenie, które łączy w sobie możliwości odbioru pasma VHF (134–174 MHz) z nowoczesnym sterowaniem przez przeglądarkę internetową.

📡 Główne funkcjonalności:

  • Odbiornik VHF – pracuje w paśmie VHF (134–174 MHz) z możliwością strojenia krokami 12.5 kHz, 25 kHz, 100 kHz i 1 MHz.

  • Główny interfejs: panel webowy – dostępny z każdego urządzenia w sieci WiFi (telefon, tablet, laptop). Nie potrzebujesz dodatkowej aplikacji – wystarczy przeglądarka.

  • Wyświetlacz lokalny TFT – pełni rolę pomocniczego ekranu technicznego, pokazującego aktualną częstotliwość, nazwę kanału, poziom sygnału (S-meter) oraz status (BUSY/SQL/SCAN).

  • Bank pamięci kanałów – możesz zapisywać ulubione częstotliwości z własnymi nazwami, a potem jednym kliknięciem do nich wracać.

  • Skaner pasma – automatyczne przeszukiwanie zadanego zakresu z pauzowaniem na aktywnych kanałach.

  • Regulacja audio – głośności i squelcha z poziomu panelu webowego.

  • Filtry odbioru – wbudowane opcje: PRE/DE-EMPHASIS, HIGH-PASS, LOW-PASS.

🛠️ Jak to działa?

Urządzenie opiera się na ESP32, który pełni rolę serwera webowego (AsyncWebServer) i komunikuje się z modułem radiowym SA868S poprzez UART. Połączenie WiFi działa w trybie Access Point – urządzenie tworzy własną sieć Odbiornik_VHF, do której łączysz się bezpośrednio.

Główny interfejs to strona HTML serwowana z karty SD, która na żywo aktualizuje dane przez WebSocket (częstotliwość, poziom sygnału, status). Wyświetlacz TFT ST7789 pokazuje te same informacje w formie uproszczonej – idealnie, gdy nie chcesz otwierać przeglądarki.

   

         
                     
  
Wyświetlacz GMT020_02 (ST7789V) umieszczony w obudowie odbiornika. Wersja 1 i wersja 2.

 

🧩 Schemat podłączenia:

  • Moduł SA868S połączony jest z ESP32 przez UART (RX/TX) oraz pin BUSY do detekcji aktywności kanału.

  • Wyświetlacz ST7789 podłączony przez SPI.

  • Karta SD również przez SPI – przechowuje stronę HTML i banki kanałów.

    Karta musi być sformatowana w systemie FAT-32 i zawierać podstawowe pliki index.html i banki.txt. Opcjonalnie config.txt 

  • Audio – sygnał audio z SA868S trafia do wzmacniacza klasy D LTK5128, a potem do głośnika lub słuchawek.

  • Zasilanie przez USB-C 5V, z prostym układem stabilizatora 4.3V dla części analogowej. 

    Szkic połączeń toru audio.

     

    Szkic części cyfrowej.

     

    Kluczowe uwagi montażowe:

  • Zasilanie: Moduł SA868S potrafi pobrać sporo prądu w momencie inicjalizacji. Warto dodać kondensator elektrolityczny (np. 470uF) blisko wyprowadzeń VCC modułu radiowego.

  • Antena: Pamiętaj o podłączeniu anteny (lub sztucznego obciążenia 50 Ohm) przed uruchomieniem. Nawet jeśli tylko odbierasz, dobre dopasowanie chroni czułe stopnie wejściowe przed zakłóceniami z procesora.

  • Separacja: ESP32 generuje sporo szumu cyfrowego (WiFi/BT). Staraj się prowadzić przewody audio z modułu SA868S jak najdalej od anteny WiFi i linii sygnałowych SPI karty SD. 

 

💻 Oprogramowanie:

Kod napisany w Arduino IDE wykorzystuje m.in.:

  • AsyncWebServer do serwowania strony i API

  • WebSocket do komunikacji w czasie rzeczywistym

  • Adafruit_ST7789 do obsługi wyświetlacza

  • SD do odczytu/zapisu kanałów 

     

Panel webowy ma nowoczesny, ciemny styl z elementami inspirowanymi profesjonalnymi konsolami radiowymi. Wszystkie ustawienia można zmieniać w locie, a zmiany są natychmiast widoczne na wyświetlaczu TFT. 

Słów kilka na temat panela www:

Interfejs WWW – panel operatorski ładowany z karty SD

Interfejs użytkownika odbiornika został zrealizowany jako pojedynczy plik index.html, który nie znajduje się w pamięci flash ESP32, lecz jest ładowany bezpośrednio z karty SD podłączonej do mikrokontrolera.

Takie rozwiązanie zostało wybrane świadomie i niesie ze sobą kilka bardzo praktycznych korzyści.


Dlaczego karta SD zamiast flash ESP32?

Umieszczenie interfejsu WWW na karcie SD pozwala na:

  • łatwą modyfikację wyglądu i funkcji interfejsu bez ponownego wgrywania firmware,

  • szybką edycję HTML/CSS/JS bez ryzyka „uceglenia” urządzenia,

  • przechowywanie dodatkowych plików (np. przyszłych wykresów, logów, konfiguracji),

  • oddzielenie warstwy sprzętowej od warstwy interfejsu użytkownika.

W praktyce:

ESP32 odpowiada za radio i logikę, karta SD za „twarz” urządzenia.

I to jest dokładnie ten podział, który dobrze się skaluje.


Serwowanie plików WWW z karty SD

ESP32 działa jako serwer HTTP, który:

  • przy starcie inicjalizuje kartę SD,

  • udostępnia plik index.html oraz zasoby statyczne bezpośrednio z systemu plików,

  • obsługuje zapytania API i WebSockety równolegle.

Dla przeglądarki użytkownika:

  • strona zachowuje się jak klasyczna aplikacja webowa,

  • nie ma różnicy, czy plik pochodzi z serwera w chmurze, czy z ESP32 na biurku.

Dla konstruktora:

  • jest pełna kontrola nad zawartością,

  • zero zależności od zewnętrznej infrastruktury.


Technologia interfejsu

Interfejs został napisany w czystym HTML, CSS i JavaScript, bez frameworków i bibliotek zewnętrznych.

Zastosowane rozwiązania:

  • CSS Grid – układ dashboardu,

  • dark theme – czytelność i „techniczny” charakter,

  • JavaScript ES6 – logika interfejsu,

  • WebSocket – komunikacja czasu rzeczywistego,

  • HTTP API – konfiguracja i sterowanie odbiornikiem.

Całość działa w dowolnej nowoczesnej przeglądarce:

  • komputer,

  • tablet,

  • smartfon.

Nie ma instalacji aplikacji, nie ma parowania — wystarczy adres IP.


Komunikacja przeglądarka ↔ ESP32

Interfejs wykorzystuje dwa kanały komunikacji:

WebSocket

  • aktualna częstotliwość,

  • poziom sygnału (S-metr),

  • stan BUSY,

  • status skanera.

Zapewnia to:

  • brak opóźnień,

  • brak odświeżania strony,

  • bardzo płynną pracę interfejsu.

HTTP (REST-like API)

  • zmiana częstotliwości,

  • regulacja audio,

  • zapis i odczyt pamięci,

  • sterowanie skanerem.

To rozdzielenie upraszcza kod i zwiększa niezawodność.


Bank pamięci i dane użytkownika

Lista zapamiętanych częstotliwości:

  • przechowywana jest po stronie ESP32,

  • może być powiązana z plikami na karcie SD,

  • jest dynamicznie ładowana do interfejsu WWW.

Karta SD naturalnie nadaje się też do:

  • logowania zdarzeń,

  • zapisu historii skanowania,

  • przyszłej rozbudowy projektu.


Interfejs WWW jako „softwarowy front panel”

W tym projekcie interfejs WWW pełni rolę klasycznego panelu czołowego, tyle że:

  • bez gałek,

  • bez przycisków,

  • bez ograniczeń fizycznych.

Zmiana wyglądu lub funkcji:

  • nie wymaga lutownicy,

  • nie wymaga kompilatora,

  • wymaga tylko edytora tekstu.

A to w świecie projektów radiowych jest luksus, którego trudno się potem wyrzec.


Umieszczenie interfejsu WWW na karcie SD:

  • upraszcza rozwój projektu,

  • zwiększa elastyczność,

  • oddziela warstwę sprzętową od wizualnej.

ESP32 robi to, co potrafi najlepiej — steruje radiem i komunikuje się z siecią.
A karta SD? Ona daje projektowi przestrzeń do oddychania.

Krótko mówiąc:
to już nie jest „radio z webem”, tylko radio sterowane webem.

 

🚀 Możliwości rozbudowy:

  • Dodanie nadajnika (TX) i przejście w tryb transceivera

  • Integracja z zewnętrznymi źródłami częstotliwości (GPS, DDS, zewnętrzny serwer czasu)

  • Automatyczne logowanie odbieranych sygnałów na karcie SD

  • Równoległe sterowanie ręczne z poziomu samego odbiornika (enkoder obrotowy)

  • Wersja przenośna z baterią

📦 Podsumowanie:

To projekt, który łączy klasyczną radioamatorską elektronikę z nowoczesnym interfejsem webowym. Dzięki niemu możesz zamienić dowolne urządzenie z przeglądarką w pełnoprawny panel sterowania odbiornikiem VHF. Całość jest otwarta, modułowa i gotowa do dalszej rozbudowy.

 

Kod źródłowy, schematy i pliki są dostępne (pytaj poprzez e-mail hf5wwl@gmail.com  – zachęcam do eksperymentowania!

Masz pytania? Chcesz zbudować własny? Zapraszam do komentowania!

 

 

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




Tagi: #radio #VHF #ESP32 #SA868S #IoT #webinterface #DIY #radioamator #STM7789 #websocket #hf5wwl



27 grudnia 2025

INTELIGENTNY PUNKT DOSTĘPOWY (AP)


Inteligentny Punkt Dostępowy (AP) z interfejsem WWW i obsługą kart SD

W świecie projektów opartych na ESP32 często brakuje narzędzi, które są jednocześnie potężne i proste w codziennej obsłudze. Dzisiaj chciałbym Wam przedstawić mój autorski projekt Punktu Dostępowego (AP), który wykracza (trochę) poza ramy zwykłego routera WiFi. To urządzenie, które nie tylko zarządza ruchem, ale też w czasie rzeczywistym identyfikuje podłączone urządzenia i informuje o stanie systemu na dwa sposoby.

Serce systemu: ESP32 i wyświetlacz ST7789

Głównym centrum informacyjnym urządzenia jest kolorowy wyświetlacz ST7789 (320x240 px). Pełni on rolę "technicznego podglądu". Bez wyciągania telefonu czy komputera, od razu po spojrzeniu na obudowę widzimy:

  • SSID sieci oraz aktualny adres IP,

  • Liczbę aktualnie połączonych klientów,

  • Status karty SD.

Interfejs graficzny został zaprojektowany tak, aby był czytelny nawet z większej odległości, wykorzystując eleganckie czcionki GFX i intuicyjne kolory dla każdego parametru.


 


Panel WWW: Moje centrum dowodzenia ;)

Prawdziwa magia dzieje się jednak po wpisaniu adresu IP urządzenia w przeglądarce. ESP32 serwuje nowoczesną, responsywną stronę WWW w ciemnym motywie (Dark Mode), która automatycznie odświeża się co 10 sekund.

Co znajdziemy w panelu?

  1. Szczegółowa lista klientów: Program nie wyświetla tylko "suchych" adresów MAC. Dzięki bazie danych urządzeń, system rozpoznaje, czy podłączony sprzęt to ESP-Cam w pokoju, Sterownik w garażu czy Laptop. Oczywiście z jego adresem IP. 

  2. Czas połączenia: Widzimy dokładnie, jak długo każde urządzenie jest aktywne w sieci.

  3. Logowanie zdarzeń: Każde połączenie i rozłączenie jest odnotowywane w logach na karcie SD (opcja).

    To chwilowo tyle bo projekt się rozwija i z pewnością będą zmiany. 


Konfiguracja bez programowania (SD Card Support)

To funkcja, z której jestem najbardziej dumny. Większość projektów Arduino wymaga edycji kodu i ponownego wgrywania programu (flaszowania), aby zmienić nazwę sieci (SSID) lub hasło. Tutaj jest inaczej.

Urządzenie posiada slot na kartę SD, która pełni rolę dysku twardego.

  • Plik config.txt: Tutaj wpisujemy nazwę sieci i hasło.

    Przykład:

    SSID=TwojaNazwaSieci
    PASSWORD=TwojeHaslo123

  • Plik devices.csv: To baza danych naszych urządzeń. Możemy tam przypisać przyjazną nazwę (np. "Termometr-Taras") do konkretnego adresu MAC.

    Przykład:

    A0:B1:C2,ESP32-Garaz,esp32 

    08:A6:F7,ESP-Cam_Pokoj,cam 

    8C:AA:B5,STM32-Kuchnia,stm32

Dzięki temu, aby dodać nowe urządzenie do listy "znanych" lub zmienić hasło WiFi, wystarczy wyciągnąć kartę SD, edytować plik na komputerze i włożyć ją z powrotem. Żadnego kompilowania kodu!

Możemy też podejrzeć info o karcie SD:


 

Przy braku dostępu do karty SD widok strony zmieni się:

 

Zmieni się też info o karcie:


 

Podsumowanie i bezpieczeństwo

Program został zoptymalizowany pod kątem stabilności – monitoruje zużycie pamięci RAM i pozwala na zdalny restart systemu jednym kliknięciem z poziomu strony WWW. Jeśli karta SD zostanie wyjęta, system automatycznie przejdzie w tryb awaryjny, korzystając z domyślnych ustawień zapisanych w pamięci stałej.

To urządzenie to idealna baza dla każdego, kto buduje własny ekosystem Smart Home i chce mieć nad nim pełną, lokalną kontrolę.

Opis połączeń (Pinout)

Aby układ działał poprawnie, oba moduły (TFT i SD) korzystają ze wspólnej magistrali SPI. Kluczowe jest poprawne podpięcie linii sygnałowych oraz pinów sterujących (CS, DC, RST).

 

Funkcja Pin ESP32 Pin Urządzenia Uwagi
Zasilanie 3.3V / VIN VCC Zależnie od wersji modułu
Masa GND GND Wspólna masa
SPI SCLK GPIO 18 SCL / SCK Wspólne dla TFT i SD
SPI MOSI GPIO 23 SDA / MOSI Wspólne dla TFT i SD
SPI MISO GPIO 19 MISO / SD_DO Tylko dla karty SD
TFT CS GPIO 15 CS (Display) Chip Select wyświetlacza
TFT DC GPIO 2 DC / RS Data/Command
TFT RST GPIO 4 RES / RESET Reset wyświetlacza
TFT BL GPIO 5 BL / LED Sterowanie podświetleniem
SD CS GPIO 13 CS (SD Card) Chip Select karty SD

Wskazówka dla budujących: Pamiętaj, aby przy używaniu karty SD i wyświetlacza jednocześnie, stosować dobrej jakości przewody. Magistrala SPI przy tak wysokim odświeżaniu jak w ST7789 bywa wrażliwa na zakłócenia.

Karta SD musi być sformatowana na FAT32. To bardzo ważne! 

 

Jeszcze jedna dość istotna uwaga: Po kliknięciu na czerwony przycisk na panelu WWW nastąpi reset urządzenia. W tym momencie należy zwrócić uwagę, czy przeglądarka nie dopisała sobie czegoś do adresu. 

W tym wypadku do adresu naszego AP przeglądarka dopisała /restart i teraz odświeżenie strony będzie powodował jej restart. Należy używać tylko samego adresu http:/192.168.4.1 (lub innego zdefiniowanego dla danej sieci.

Ten punkt dostępowy powstał na potrzeby mojej sieci domowej która z założenia nie będzie miała dostępu do internetu. To nie jest wada a świadome założenie projektu. 

  

✍️ Autor: Robert HF5WWL
📅 Data projektu: Grudzień 2025 r.
📍 Lokalizacja: Wołomin, POLSKA
📁 Kod źródłowy: Pytaj poprzez e-mail (hf5wwl@gmail.com).
🛠️ Poziom trudności: Średnio prosty.

 

17 grudnia 2025

ŁADOWARKA AKUMULATORÓW Li-Ion Z POMIARAMI

 


Wprowadzenie

Witajcie w kolejnym projekcie z mojej warsztatowej serii! Dziś chciałbym zaprezentować własnoręcznie zbudowaną ładowarkę do akumulatorów Li-Ion, która łączy w sobie bezpieczeństwo, precyzję pomiarów i estetyczny wygląd. Projekt powstał z myślą o wszystkich, którzy pracują z akumulatorami 18650 i innymi ogniwami litowo-jonowymi – od hobbystów elektroniki po użytkowników latarek, powerbanków i innych urządzeń. Nie jest to szybka ładowarka a raczej ładowarka "dokładna" nastawiona na ochronę akumulatora i poznanie jego parametrów.

Główne cechy projektu

✅ Bezpieczeństwo przede wszystkim

  • Monitoring temperatury (DS18B20) z alarmem i automatycznym wyłączeniem

  • Kontrola napięcia z ochroną przed przeładowaniem (>4.21V)

  • Detekcja stanu ogniwa – automatyczne wykrywanie podłączenia akumulatora

  • Zabezpieczenie przeciwzwarciowe przez układ MOSFET

✅ Precyzyjne pomiary

  • Napięcie: pomiar z dokładnością do 0.01V (INA219)

  • Prąd: monitoring od 0 do 2000mA (Dla akumulatora ograniczony do 1 A)

  • Pojemność: akumulacja ładunku w mAh w czasie rzeczywistym

  • Moc: obliczanie mocy dostarczanej do akumulatora (opcja dla pracy buforowej akumulatora)

  • Czas: pełny czasomierz ładowania

✅ Intuicyjny interfejs

  • Kolorowy wyświetlacz TFT 2.8" (320×240)

  • Graficzny wskaźnik naładowania z kolorową skalą

  • Czytelne wyświetlanie wszystkich parametrów

  • Ekran podsumowania z pełnymi wynikami po zakończeniu

Parametry techniczne

🛠️ Hardware:

  • Mikrokontroler: ESP32 (WROOM-32)

  • Wyświetlacz: ST7789 SPI TFT (2.8 cala, 320×240)

  • Moduł ładowania: TP4056 z ochroną

  • Czujnik prądu/napięcia: INA219 (I²C)

  • Czujnik temperatury: DS18B20 (1-Wire)

  • Sterowanie zasilaniem: MOSFET N-kanałowy + P-kanałowy

  • Zasilanie: 5V DC (USB-C) zabezpieczone bezpiecznikiem polimerowym 2A.

  • Brzęczyk: sygnalizator dźwiękowy (opcjonalnie) 

⚡ Specyfikacja ładowania:

  • Napięcie ładowania: 4.21V ±1%

  • Prąd ładowania: regulowany przez TP4056 (domyślnie 1A)

  • Napięcie akumulatora: 2.8V – 4.21V (wykrywanie od 2.0V)

  • Próg zakończenia: 4.20V + prąd <50mA

  • Temperatura pracy: 5°C – 40°C (alarm poza zakresem)

  • Temperatura krytyczna: >50°C (natychmiastowe wyłączenie)

📊 Możliwości pomiarowe:

  • Rozdzielczość napięcia: 0.01V

  • Rozdzielczość prądu: 1mA

  • Rozdzielczość temperatury: 0.1°C

  • Pomiar pojemności: 0-9999mAh

  • Czas ładowania: do 99 godzin 59 minut

Zasada działania

🔋 Proces Ładowania:

  1. Wykrycie akumulatora – sprawdzenie czy ogniwo jest podłączone (napięcie >2.0V)

  2. Test bezpieczeństwa – weryfikacja temperatury i stanu ogniwa

  3. Faza CC (Constant Current) – ładowanie stałym prądem do osiągnięcia 4.20V

  4. Faza CV (Constant Voltage) – stabilizacja napięcia przy malejącym prądzie

  5. Zakończenie – automatyczne wyłączenie przy prądzie <50mA i napięciu ≥4.20V

📈 Monitoring w czasie rzeczywistym:

  • Aktualizacja parametrów co 1.5 sekundy na wyświetlaczu

  • Obliczanie dostarczonego ładunku (całkowanie prądu w czasie)

  • Wykrywanie anomalii i automatyczne reakcje

🚨 System alarmowy:

  • Czerwony alarm – przekroczenie dopuszczalnych parametrów

  • Miganie wskaźników – wizualna informacja o stanie alarmowym

  • Sygnał dźwiękowy – przy przekroczeniu temperatur krytycznych

  • Automatyczne wyłączenie – w przypadku zagrożenia

 

Interfejs użytkownika

🎨 Przykładowy ekran główny podczas ładowania:

 


🏁 Przykładowy ekran końcowy po naładowaniu:

Po zakończeniu ładowania pojawia się ekran podsumowania:

  • Komunikat "ŁADOWANIE ZAKOŃCZONE"

  • Napięcie końcowe (np. 4.21V)

  • Całkowity ładunek dostarczony (w mAh)

  • Czas trwania ładowania

  • Instrukcja "WYJMIJ AKUMULATOR"

     

Zastosowania praktyczne

🔧 Dla Hobbystów Elektroniki:

  • Testowanie i sortowanie używanych ogniw 18650

  • Pomiar rzeczywistej pojemności akumulatorów

  • Diagnostyka stanu zdrowia ogniw Li-Ion

⚡ Dla Użytkowników:

  • Bezpieczne ładowanie akumulatorów do latarek, powerbanków

  • Monitoring procesu ładowania z pełną informacją

  • Przechowywanie danych o historii ładowania

🔬 Dla edukacji:

  • Praktyczna demonstracja ładowania CC/CV

  • Wizualizacja procesu akumulacji ładunku

  • Nauka o bezpieczeństwie ogniw Li-Ion

Bezpieczeństwo – najważniejszy aspekt

🧪 Certyfikowane Komponenty:

  • TP4056 – moduł z zabezpieczeniem przed przeładowaniem, nadmiernym prądem i zwarcie

  • DS18B20 – precyzyjny pomiar temperatury ogniwa

  • INA219 – dokładny pomiar prądu i napięcia

🛡️ Wielopoziomowa ochrona:

  1. Warstwa sprzętowa – zabezpieczenia w module TP4056

  2. Warstwa programowa – monitoring w czasie rzeczywistym

  3. Warstwa użytkownika – czytelne komunikaty i alarmy 

🛡️ Zaawansowany system zabezpieczeń w praktyce: Serce ładowarki ESP32

Podczas gdy większość prostych ładowarek polega na podstawowych układach zabezpieczających, ten projekt idzie o krok dalej. Łączy sprzętową ochronę z inteligentnym, programowym nadzorem w czasie rzeczywistym, tworząc wielowarstwowy system bezpieczeństwa.

Warstwa 1: Inteligentny nadzór mikrokontrolera (mózg systemu)

To serce zabezpieczeń. ESP32 nie tylko wyświetla dane, ale aktywnie monitoruje i kontroluje cały proces za pomocą precyzyjnych czujników:

  • Czujnik INA219: Co 100 milisekund mierzy dokładne napięcie na akumulatorze (z rozdzielczością do 0.01V) oraz płynący prąd. Dzięki temu algorytm może precyzyjnie wykryć koniec ładowania (warunek: napięcie ≥4.20V ORAZ prąd <50mA), co jest znacznie pewniejsze niż poleganie tylko na module ładowania.

  • Bezwzględne limity programowe: Nawet jeśli inne elementy zawiodą, oprogramowanie ma zapisane "sztywne" granice. Ładowanie zostanie natychmiast wstrzymane, jeśli napięcie przekroczy 4.42V lub temperatura wyjdzie poza bezpieczny zakres.

Kluczowa innowacja: Pomiar temperatury "z pierwszej ręki"
Jednym z filarów tego systemu jest unikalne zastosowanie czujnika DS18B20. Nie mierzy on ogólnej temperatury "w ładowarce", lecz jest wbudowany w pojemnik na akumulator i dotyka bezpośrednio jego metalowej obudowy. Daje to ogromną przewagę:

  • Natychmiastowa reakcja: Czuwa na samym źródle ciepła. Gdy akumulator zaczyna się grzać z powodu problemów wewnętrznych, nadmiernego prądu lub złego kontaktu, czujnik wykrywa to w ciągu sekund.

  • Realne dane: Mierzy rzeczywistą temperaturę ogniwa, a nie przybliżoną wartość z otoczenia.

  • Trzystopniowa reakcja: Algorytm reaguje progresywnie:

    1. >40°C: Włącza alarm wizualny (migające pole na wyświetlaczu) i wstrzymuje ładowanie do ochłodzenia.

    2. <5°C: Blokuje start ładowania, chroniąc baterię przed uszkodzeniem.

    3. >50°C (Temperatura Krytyczna): Natychmiast, nieodwracalnie odcina zasilanie (przez MOSFET) i włącza sygnał dźwiękowy. Jest to stan awaryjny.

Warstwa 2: Kontrola zasilania – MOSFET jako strażnik

MOSFET w tym projekcie to nie tylko przełącznik, to fizyczny strażnik kontrolowany przez ESP32. Gdy algorytm wykryje jakąkolwiek nieprawidłowość (przegrzanie, przeładowanie, wyjęcie baterii), wysyła sygnał, który fizycznie odcina napięcie ładowania od modułu TP4056. To "twarde" wyłączenie stanowi ostatnią linię obrony na poziomie obwodu zasilania. Gdyby jednak coś "poszło nie tak" mamy jeszcze bezpiecznik polimerowy 2A w linii zasilającej +5V.

Warstwa 3: Podstawowa ochrona poprzez moduł TP4056

Moduł ładowarki TP4056 stanowi bazową, niezależną warstwę. Zawiera własny układ zabezpieczający (DW01), który chroni przed zwarciem, głębokim rozładowaniem i przeładowaniem. Działa nawet gdyby ESP32 uległ resetowi, działając jako sprawdzony fundament bezpieczeństwa.

Podsumowanie: Projektowana ochrona

Bezpieczeństwo tej ładowarki nie jest przypadkowe, lecz zaprojektowane i wielowarstwowe:

  1. Moduł TP4056 stanowi podstawową, "głupią" osłonę.

  2. ESP32 z czujnikami to "inteligentny nadzorca" analizujący sytuację w czasie rzeczywistym.

  3. MOSFET jest "strażnikiem", który na rozkaz nadzorcy fizycznie rozłącza obwód.

  4. Czujnik na obudowie baterii to "zaufany informator", dostarczający kluczowych danych o samym ogniwie.

Dzięki temu podejściu projekt nie tylko ładuje, ale aktywnie chroni cenny akumulator – i otoczenie – przed skutkiem potencjalnych awarii czy ekstremalnych warunków.

Jeżeli nie są spełnione wszystkie warunki bezpieczeństwa napięcie nie zostanie podane na akumulator. 

 

Dlaczego warto zbudować?

  1. Wiedza – zrozumienie procesu ładowania Li-Ion od podszewki

  2. Oszczędność – koszt budowy znacznie niższy niż zakup komercyjnego testera

  3. Dokładność – pomiary lepsze niż w wielu gotowych ładowarkach

  4. Satysfakcja – urządzenie wykonane własnoręcznie, dokładnie pod swoje potrzeby

  5. Rozszerzalność – możliwość dodania nowych funkcji (np. logowanie danych, WiFi)

Podsumowanie

Ta ładowarka to więcej niż tylko urządzenie do napełniania akumulatorów – to pełnoprawny stacja testowa i monitorująca. Dzięki niej możesz:

  • Bezpiecznie ładować ogniwa Li-Ion

  • Precyzyjnie mierzyć ich parametry

  • Diagnozować stan techniczny akumulatorów

  • Uczyć się o elektronice i technologii baterii

Projekt jest stale rozwijany – aktualna wersja 3.9.3 wprowadza ulepszone algorytmy wykrywania końca ładowania i bardziej intuicyjny interfejs.

 

Na koniec trochę techniki. Poniżej szkic układu sterowania ON/OFF zrealizowany na 2 MOSFET-ach:






 Tak wyglądał prototyp urządzenia:

Sterowanie ON/OFF znajduje się od spodu płytki.

 

📌 Tabela Połączeń Pinów (Pełna)

Poniżej znajduje się zestawienie połączeń pomiędzy pinami ESP32 a poszczególnymi modułami:

1. 🖥️ Wyświetlacz TFT (ST7789) – Interfejs SPI

Pin ESP32,  Pin ST7789,   Definicja w Kodzie,  Opis
GPIO 18SCKTFT_SCLKZegar SPI
GPIO 23MOSITFT_MOSIDane SPI
GPIO 15CSTFT_CSWybór chipa
GPIO 2DCTFT_DCWybór danych/komendy
GPIO 4RSTTFT_RSTReset wyświetlacza

2. ⚡ Monitoring Prądu i Napięcia (INA219) – Interfejs I2C

Pin ESP32,    Pin INA219,     Definicja w Kodzie,    Opis
GPIO 21SDAI2C_SDALinia danych I2C
GPIO 22SCLI2C_SCLLinia zegara I2C
GND / +5VGND / VCC
Zasilanie

 

3. 🌡️ Czujnik Temperatury (DS18B20)

Pin ESP32, Pin DS18B20,   Definicja w Kodzie,     Opis
GPIO 14DQ (Data)ONE_WIRE_BUSLinia danych 1-Wire

 

4. 🔋 Status Modułu Ładowania (TP4056)

Pin ESP32,  Pin TP4056,       Definicja w Kodzie Opis
GPIO 34CHG (Status)      PIN_CHARGINGOdczyt statusu ładowania (wejście PULLUP)
GPIO 35STDBY (lub DONE)  PIN_DONEOdczyt statusu gotowości (wejście PULLUP)

 

5. 🔊 Sygnalizacja i Dodatki

Pin ESP32,   Komponent,        Definicja w Kodzie,    Opis
GPIO 33Brzęczyk (Buzzer)   BUZZER_PINWyjście cyfrowe (HIGH = włącz)
GPIO 32         MOSFET                 MOSFET_PIN                Sterowanie ON/OFF TP4056



 


✍️ Autor: Robert HF5WWL
📅 Data projektu: Grudzień 2025 r.
📍 Lokalizacja: Wołomin, POLSKA
📁 Kod źródłowy: Pytaj poprzez e-mail (hf5wwl@gmail.com) lub komentarz.
🛠️ Poziom trudności: Średnio-zaawansowany


Uwaga: Praca z akumulatorami Li-Ion zawsze wiąże się z pewnym ryzykiem. Zalecana jest ostrożność i znajomość zasad bezpieczeństwa. Autor nie ponosi odpowiedzialności za jakiekolwiek szkody wynikłe z realizacji projektu.


💬 Masz pytania? Chcesz podzielić się swoją wersją? Zapraszam do komentowania!