___________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________

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!