Badacz akumulatorków

Nastały takie czasy, że w szufladach znajdujesz sporo i coraz więcej akumulatorków AAA, AA, 18650 i o innych kształtach i wymiarach. Nie są to tanie rzeczy a ich prądy i moce mogą zaskoczyć. Współczesne akumulatory nawet te najmniejsze, gromadzą dużą energię. Badanie ich jakości wymaga więc ładowania i rozładowania czyli wymiany energii, która jest dwukrotnie tracona. Proponowane rozwiązanie minimalizuje straty energii.

Ocena czy dany akumulator jest dobry i w jakim stopniu jest lepszy od innego nie może polegać tylko na pomiarze napięcia. Pomiar pojemności jest możliwy ale to proces długotrwały i marnowanie sporej energii, która musi być rozwiewana hałasującymi wentylatorami.

Mój pomysł, który rodził się długo polega na badaniu wykresu rozładowania a także ładowania. Próby zbudowanego układu pokazują liniową zależność tych procesów, oczywiście w rozsądnym zakresie napięć.

Program napisany w języku LUA steruje tranzystorami według funkcji zadawanych z menu, które są wybierane impulsatorem obrotowym. Proces pomiarowy jest w znacznym stopniu automatyczny warunkowany pomiarem napięcia i czasu. Ekstrapolacja i testowanie napięcia następuje cyklicznie Odczytujemy na ekranie OLED ekstrapolowaną wartość czasu badania oraz napięcia i wartość ekstrapolowaną czasu a po przekroczeniu napięcia granicznego układ zatrzymuje proces rozładowania lub ładowania.

Lista potrzebnych elementów

  • tranzystor MOSFET typu P
  • tranzystor MOSFET typu N
  • transoptor
  • opornik 15 Ω
  • ESP8266
  • ADS1115 ( dokładny pomiar napięcia )
  • INA219 ( pomiar napięcia, prądu, mocy )
  • Rotary encoder,
  • display oled SH1106LUA lub SSD1306

Jako dolny MOSFET N zastosowałem IRF8714

jego zadaniem jest rozładowywanie akumulatora, który może mieć 3 lub 4 V

czyli powinien pracować już od napięć 2,5 V chodzi oczywiście o napięcie źródło – dren.

Oprogramowanie

NodeMcu na układzie ESP8266 powinien mieć wgrany w miarę aktualny firmware ze strony: https://nodemcu-build.com/ zaznaczając moduły:

  • adc ads1115
  • INA219 ( własny driver )
  • bit
  • enduser_setup
  • file
  • gpio
  • i2c
  • mqtt
  • net node
  • ow ( one wire )
  • rotary ( impulsator )
  • rtctime tmr
  • uart wifi.

Programy wykonawcze napisane w języku LUA obsługują wyświetlacz oled, impulsator obrotowy, sterują tranzystorami, odczytują napięcia i odmierzają czas. Obsługa oled jest dostępna pod adresem: https://github.com/t1ak/SH1106LUA

Układ ma trzy główne stany pracy:

  • przewodzi tranzystor górny typ (P) i wtedy przez opornik ładowany jest akumulator
  • przewodzi tranzystor dolny typu N i wtedy akumulator jest rozładowywany przez opornik
  • trzeci stan to tranzystory otwarte i układ oczekuje na polecenia po włączeniu lub po zakończeniu cyklu pomiarowego

Idea układu i symboliczne połączenia do kontrolera ESP.

Pomiar jaki przedstawiono na wykresie pochodził bezpośrednio z ADC jaki posiada wewnętrznie ESP8266 (pin A0). Bez matematycznej metody najmniejszych kwadratów funkcjonowanie projektu testera wypadało marnie. Po zastosowaniu układu ADS1115 otrzymałem rewelacyjnie dokładne i gładkie pomiary napięcia jak z najlepszego multimetru laboratoryjnego. Co ważne driver tego układu zawarty w firmware LUA ma kalibrację i daje odczyty bezpośrednio w mV.

Proces ładowania podlega rozbudowanej, podwójnej kontroli pomiarowej. Powiązanej z automatycznymi działaniami sterującymi. Pomocnym narzędziem kontroli parametrów w czasie uruchamiania i testów okazał się ( jak zwykle ) MQTT Explorer.

Ekran telefonu / smartfona, który prezentuje proces testowania akumulatora opisywanym tu układem.

Aplikacja pobiera dane z serwera MQTT gdzie dostarcza je kontroler ESP.

Elementy ekranu powstają konfigurując aplikację IoT Panel MQTT pro

c. d. n. prace nad wersją 2 trwają