poniedziałek, 3 lipca 2017

Pomiar pojemności ogniw Li-Ion + prawie darmowe ogniwa!

Bardzo popularne wśród elektroników amatorów stają się ogniwa litowo-jonowe w obudowie 18650 (18 mm średnica i 650 mm wysokość). Można spotkać je w powerbankach, akumulatorach wkrętarek czy bateriach laptopowych. Właśnie tym ostatnim powinniśmy się zainteresować jeśli chcemy w przystępnej cenie pozyskać zasilanie do naszych projektów.

Rys.1  Urządzenie podczas pomiaru



Jak pozyskać ogniwa ?

Ostatnio na lokalej grupie sprzedażowej w moim mieście napisałem że przyjmę niepotrzebne baterie do laptopa w zamian za piwo/czekoladę.
Po 2 godzinach musiałem usunąć post tak dużo ludzi odzywało się do mnie w tej sprawie. Najbardziej ucieszyła mnie wiadomość od pewnego Pana który oznajmił że ma 15kg baterii laptopowych i odda mi je za 10zł. Teraz pokój zawalony mam bateriami z których wyciągam i segreguję ogniwa. Sprawa jest prosta, należy podważyć plastikową obudowę baterii tak aby strzelił zatrzask. Wyjąć wszystkie ogniwa i przeciąć przewody łączące je z płytką sterującą. Później ogniwa rozdzielamy wycinając blaszki którymi są połączone. Pozyskując ogniwa określiłem sobie założenia :
-ogniwa poniżej 2,2 V oddaję do utylizacji
-ogniwa od 2,5 V ładuję i sprawdzam ich pojemność
-po sprawdzeniu pojemności ogniwa poniżej 1000 mAh oddaję do utylizacji

Jak na razie uzyskałem 60 ogniw powyżej 2,5 V które po kolei ładuję i sprawdzam pojemność.


Rys.2 Połowa która została do rozebrania



Jak sprawdzać pojemność ogniw ? 


Rys. 3 Oddzielone ogniwa min. 2,5 V

I tu dochodzimy do sedna tego wpisu. W poprzednich moich wypocinach na blogu opisywałem urządzenia zasilane głównie z ogniw li-ion. Lecz nie wiedziałem jaką mają pojemność, mogłem oczywiście mniej więcej określić ją znając pobór prądu i czas działania na baterii ale byłoby to niedokładne. Z pomocą przychodzi miernik pojemności. Oczywiście mógłbym kupić nowy ale...

Założenia:
-niska cena
-dokładność pomiaru (+-100 mAh)
-trwałość (mam do sprawdzenia dużooo ogniw)

Czego użyłem do zbudowania:
-arduino nano
-wyświetlacz 2x16
-rezystory 5 W (1 ohm i 3,9 ohm)
-tranzystor MOS-FET IRFZ44N
-złącza śrubowe, koszyk na ogniwo, rezystor 10 kohm i potencjometr do kontrastu

Rys. 4 Widok z góry



Jak działa urządzenie:
-bada spadek napięcia na pierwszym rezystorze (1 ohm) i znając jego rezystancję jest w stanie określić prąd w oczku
-jeśli napięcie spadnie poniżej 2,7 V to kończy pomiar, tranzystor rozłącza obwód pomiarowy i na wyświetlaczu pojawia się informacja o zakończeniu oraz końcowa pojemność.



Schemat urządzenia

Rezystory 5 W obciążone są szczytowo 3,6W, lecz grzeją się mocno(szczególnie pierwszy przez mniejszą rezystancję) Dlatego zastosowałem radiatory tranzystorowe które utrzymują maksymalną temperaturę 80 stopni Celsjusza.

Rys. 5 Urządzenie podczas trwania pomiaru


Jakiej używam ładowarki do ogniw Li-Ion 18650 ?


Takiej, posiada też zabezpieczenie przeciw rozładowaniu poniżej 2,5 V.
Rys. 6 Najlepsza ładowarka do Li-ion (niecałe 2$ za 5 sztuk)


Czy warto odzyskiwać ogniwa rozładowane do zera ?
Nie, nie warto. Sprawdziłem to aby mieć pewność. Ogniwo rozładowane do 0 V podłączyłem do ładowarki i naładowałem do 4,2 V. Mocno się jednak grzało podczas ładowania. Wynik pomiaru pojemności 511 mAh utwierdził mnie, że nie warto.

Czy warto zajmować się chińskimi ogniwami ?
Nie, nie warto. Ogniwo które miałem z chińskiego powerbanku, wg skośnookiego miało ono 2600mAh. Wynik pomiaru 144 mAh! Ogniwa warte polecenia to Sanyo, Sony, Samsung, LG.

Rys. 7 Rozbieżność pojemności ogniw z demontażu


Czy ten mój miernik nie przekłamuje ? 
Posiadam praktycznie nowe ogniwo Samsunga 2600mAh które pracuje w lokalizatorze opisywanym na blogu. Naładowałem je do 4,2 V i wynik pomiaru 2466 mAh jest wg mnie realny gdyż ogniwo nowe też nie ma równo 2600 mAh a przez użytkowanie jestem w stanie uwierzyć że utraciło delikatnie pojemność.
Dla potwierdzenia poprawności pomiaru naładowałem jedno ogniwo z odzysku, zmierzyłem pojemność i powtórzyłem ładowanie i pomiar jeszcze 2 razy. Wynik ? 1366,1317 i 1349 mAh. Mnie to zadowala.

Rys. 8 Pomiar prawie nowego ogniwa

Rys. 9 Pomiar ogniwa pozyskanego z baterii laptopowej 




Ile kosztowało mnie to urządzenie ? 
-arduino 17zł na alledrogo
-tranzystor 1,5zł
-rezystory 1zł
-koszyk 2zł
-wyświetlacz 10zł
-złącze śrubowe, potencjometr i laminat miałem :)

Całość delikatnie powyżej 30zł. Wg. mnie warto.

Przebadałem nim już około 20 ogniw i nie było żadnych problemów.
Poniżej wrzucam kod programu do Arduino.

#define mosfet 13
#define highPin A1
#define lowPin A0
 #include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

boolean koniec = false;
int interwal = 5000;  //Interval (ms) between measurements

float mAh = 0.0;
float rezystancja = 1.0;  // In Ohms - Shunt resistor resistance
float napRef = 4.58; // Reference voltage (probe your 5V pin) 
float prad = 0.0;
float battVolt = 0.0;
float shuntVolt = 0.0;
float battLow = 2.7;

unsigned long previousMillis = 0;
unsigned long millisPassed = 0;

void setup() {

  pinMode(mosfet, OUTPUT);
  digitalWrite(mosfet, LOW);
  lcd.begin(16,2);
  lcd.home();
  lcd.print("Test ogniwa");
  lcd.setCursor(0,1);
  lcd.print("Prosze czekac");
  delay(2000);
  lcd.clear();
}

void loop() {

  battVolt = analogRead(highPin) * napRef / 1024.0;
  shuntVolt = analogRead(lowPin) * napRef / 1024.0;
   
  if(battVolt >= battLow && koniec == false)
  {
      digitalWrite(mosfet, HIGH);
      millisPassed = millis() - previousMillis;
      prad = (battVolt - shuntVolt) / rezystancja;
      mAh = mAh + (prad * 1000.0) * (millisPassed / 3600000.0);
      previousMillis = millis();
      lcd.clear();
      lcd.home();
      lcd.print("U:");
      lcd.print(battVolt);
      lcd.print("V");
      lcd.setCursor(9,0);
      lcd.print("I:");
      lcd.print(prad);
      lcd.print("A");
      lcd.setCursor(0,1);
      lcd.print(mAh);
      lcd.print("mAh");
      delay(interwal);
  }
  if(battVolt < battLow)
  {
      digitalWrite(mosfet, LOW);    
      koniec = true;
      lcd.clear();
      lcd.home();
      lcd.print("Koniec");
      lcd.setCursor(0,1);
      lcd.print(mAh);
      lcd.print("mAh ");
      delay(interwal * 2);
  }
}  

Projekt pcb można pobrać stąd
https://drive.google.com/file/d/0B0smkZD6bk_1MWpRZ01ObmtpRXc/view?usp=sharing


Projekt bazuje na realizacji p.Adama Welch'a
https://adamwelch.co.uk/

55 komentarzy:

  1. Co do jednego się nie zgodzę, na początku też myślałem, że nie warto próbować odzyskiwać ogniw z napięciem 0V, jednak spróbowałem z kilkoma i wynik wyszedł na poziomie 80% deklarowanej pojemności, później bywało różnie, ale i tak się nie spodziewałem, że jakiekolwiek ogniwo będzie sprawne, a wyszło ich ok. połowy. Jeśli ogniwo podczas ładowania mocno się grzeje, najlepiej od razu oddać je do utylizacji, bo prawdopodobnie jego rezystancja wewnętrzna jest tak duża, że nic już z niego nie będzie. Możliwe, że po prostu miałem szczęście :).
    Ogólnie projekt bardzo ciekawy, jak będę miał czas to chętnie taki zbuduje i porównam pomiary z imax b6mini.

    OdpowiedzUsuń
    Odpowiedzi
    1. Mam aktualnie już około 100 ogniw powyżej lub równe 2.5V, drugie tyle ogniw poniżej 2.5V i nie nadążam z ładowaniem i testowaniem :) Jeśli zbuduje Pan taką samą i sprawdzi pomiary z Imaxem to będę wdzięczny za podzielenie się wynikami pomiarów :)

      Usuń
  2. Ważną rzeczą jest pomiar rezystancji wewnętrznej.. Robiąc pakiet akumulatorów najlepiej dopasowywać symetrycznie akumulatorki nie tylko pod względem pojemności ale i Rw. Można by dopisać kilka linijek i zaimplementować tą funkcję.

    OdpowiedzUsuń
    Odpowiedzi
    1. Doczytam, douczę się i opiszę, dzięki!

      Usuń
    2. I jak sprawa z tą rezystancją wewnętrzną w przypadku tego projektu. Czy da się to "dorobić" i sprawdzać różwnież ten parametr?

      Usuń
  3. Musze skorzystac z tego projektu bardzo fajny i prosty.
    Dodal bym mozliwosc regulacji pradu rozladowania np do 5A poprzez potencjometr, 20W to nie duzo a pomoglo by sprawdzic ogniwa bardziej wysilkowo i pozwolilo by tez wstepnie oszacowac Rw.
    Kibicuje projektowi i musze nabyc kolejne ardu nano ;)

    OdpowiedzUsuń
    Odpowiedzi
    1. Musiałbym nabyć rezystor minimum 30W w takim razie :D Inaczej ogrzewałby mieszkanie w zimie :D

      Usuń
  4. ośmielę się zauważyć, iż taki pomiar prądu obarczony jest pewnym błędem wynikającym z prawa Ohma, po prostu, im mniejsze napięcie tym mniejszy prąd, jest taki układ który dobiera rezystancję do ustawianego na stałe prądu i nazywa się "dummy load" czyli sztuczne obciążenie.

    OdpowiedzUsuń
    Odpowiedzi
    1. Układ ma zaimplementowaną wartość rezystancji i sam oblicza prąd z prawa ohma po pomiarze napięcia. :)

      Usuń
  5. Witam, bardzo fajny projekt - 'Must Have'. Czy Krzysztof lub ktoś inny ma jakieś namiary na źródło baterii laptopowych ? ewentualnie własnie pana który chce oddać 15kg baterii :) niestety w mojej okolicy temat raczej jest martwy, nigdzie znaleźć nie mogę, większych marketów z kącikiem elektro śmieci również nie mam :/
    Prosze o kontakt :) 7revo7@gmail.com

    OdpowiedzUsuń
    Odpowiedzi
    1. Ten "Pan" to był złoty strzał zapewne :) Też myślałem że nic z tego nie wyjdzie ale znajomi i ludzie na grupie "sprzedam, kupię, zamienię" na fb mnie zaskoczyli. Próbuj, ewentualnie na alledrogo można trafić za nieduże pieniądze komplety kilkunastu baterii.

      Usuń
    2. ogloszenie wisi juz od dobrego miesiaca i zero odzewu, takze nie bardzo licze ze cos sie trafi :)

      Usuń
    3. Trzeba szukać po olx itd :) Może warto przejść się do serwisu laptopów bo oni raczej nie potrzebują starych baterii tylko zakładają nowe :D

      Usuń
  6. Kurcze dziwne, mi się grzeje rezystor 3.3 Ohm (3,9 nie miałem, nie wiem jak to się przekłada na wynik ale ) a ten 1 Ohm jest ciepły ale nie gorący, a drugi parzy :)

    OdpowiedzUsuń
    Odpowiedzi
    1. Proszę zobaczyć czy nie jest uszkodzony, te ceramiczne lubią się kruszyć. Jakiej mocy rezystor Pan stosuje? Przed zastosowaniem radiatorów też grzały się okropnie te rezystory. Z radiatorami nie przekraczają 80 stopni.

      Usuń
    2. Ceramik 10W :) Nowe, raczej nie uszkodzone ale wylutuję je i sprawdzę ich rezystancję :)

      Usuń
    3. 10W to spory zapas mocy więc tym bardziej dziwne aby się grzały. Jeśli ma Pan kilka sztuk tych rezystorów to proszę podmienić to powinno rozwiać wątpliwości o uszkodzeniu tego grzejącego się :)

      Usuń
  7. Witam.
    Popełniłem ten miernik i wydaje mi się że jest ok. Przynajmniej mogę posortować ogniwa na te nadające się i te padnięte. Mam takie pytanko ?? Czy można przerobić kod programu aby testować ogniwa Ni-Mh 1.2V ??
    Mam kilka rozebranych baterii z wkrętarek i nie bardzo mam jak je posegregować. Pomiar napięcia ogniw pozwolił mi wstępnie odrzucić te padnięte (zdarzały się takie co miały odwróconą polaryzację ;-) ).
    Pozdrawiam autora projektu. Gratki.

    OdpowiedzUsuń
    Odpowiedzi
    1. Podejrzewam, że nie byłoby problemu z testowaniem Ni-Mh. Musiałbym poznać ich charakterystykę rozładowania. Proszę wysłać mi na krzysiek.trybula@interia.pl zdjęcie wykonanego miernika, jest mi miło że ktoś z tego korzysta.
      Proszę poczytać najnowszy post na blogu, jest tam udoskonalona wersja testera.

      Usuń
  8. Czy można gdzieś kupić gotowy laminat ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Tak, zamówiłem dziś w fabryce płytki pcb, proszę napisać na krzysiek.trybula@interia.pl . Odezwę się do Pana jak tylko dostanę płytki.

      Usuń
  9. Potencjometr do regulacji kontrastu jaką ma mieć rezystancję?

    OdpowiedzUsuń
  10. Witam
    a czy będzie ok zamiast rezystora 1ohm zastosować 0,3ohm bo akutat taki mam? zmienić wtedy w kodzie 1.0 na 0.3 i powinno działać?

    OdpowiedzUsuń
    Odpowiedzi
    1. Oblicz najpierw jaka moc się na nim wydzieli, bo jednak prąd będzie szedł dużo większy :) I porównaj z mocą Twojego rezystora

      Usuń
    2. Dokładnie tak jak pisze kol.Criss92 :) Paradoksalnie powinno to jednak działać przy mocy rezystorów 5W. Jeśli drugi rezystor będzie wartości 3.9Ohm to suma rez. to 4.2Ohm i przy maksymalnym napięciu 4.2V popłynie prąd 1A. Zatem spadki napięć to 0.3V i 3.9V a więc moc jaką wydzieli pierwszy rezystor to 0,3W a drugi będzie się mocno grzał bo wydzieli 3,9W. Powinno działać ale drugi rezystor będzie się okropnie grzał.

      Usuń
  11. Witam. Bardzo interesujący projekt. Chaiałbym zbudować sobie takie urządzenie ale mam jedno pytanie: czy można zrobić tak, żeby jedno urządzenie (jedno Arduino) mierzyło pojemność kilku ogniw jednocześnie?
    Pozdrawiam.

    OdpowiedzUsuń
  12. Bardzo pomocny artykuł dla elektroników amatorów. W przystępnym sposób przedstawione wiadomości, które można wykorzystać w praktyce w takich urządzeniach jak powerbank czy baterie laptopowe. Swoją drogą bardzo dobry pomysł z pozyskaniem baterii za czekoladę. Z jednej strony ekologicznie z drugiej praktycznie.

    OdpowiedzUsuń
  13. Cześć,
    jaką funkcję pełni rezystor 3,9 ohm?

    OdpowiedzUsuń
    Odpowiedzi
    1. Razem z rezystorem 1 ohm pełni rolę obciążenia.

      Usuń
    2. Dzięki, tak myślałem, ale zdziwiło mnie mierzenie tylko na tym 1 ohm. Rozumiem, że dobór drugiego rezystora jest w miarę dowolny, byle prąd rozładowania nie był za duży?

      Usuń
    3. Dokładnie! Dobierając drugi rezystor należy policzyć jaki maksymalnie popłynie prąd, jakie będą spadki napięcia na poszczególnych rezystorach oraz czy nie wydzieli się na nich za duża moc. Zawsze rezystory 5W można zamienić na 10W.

      Usuń
    4. Pozwolę sobie zadać jeszcze jedno pytanie.
      Z czego wynikają skoki mierzonego napięcia na pinach A0 i A1? Mówię już o tych po podłączeniu baterii, bo wiem, że "na pusto" pokazuje wartości losowe.
      Nie są one duże, bo maksymalnie w granicach 0,1V (w górę lub w dół), ale potrafi potencjalnie przedwcześnie zakończyć testowanie baterii.
      Czy można to załatwić kondensatorem między pinami mierzącymi a masą? Czy nie zakłóci to pomiaru?

      Aczkolwiek najbardziej jestem ciekaw skąd ogólnie wahania. Na mierniku cyfrowym napięcie tak nie skacze (a przynajmniej nie do góry).

      Usuń
    5. O jakich skokach napięcia Pan mówi? Przetwornik ADC w atmedze238p jest 10bitowy więc może Pan sobie obliczyć rozdzielczość pomiaru. Wątpię aby napięcie spadało płynnie bez skoków, przetwornik też zaokrągla zgodnie ze swoją rozdzielczością. Pod sam koniec pomiary przy niskim napięciu wartości dodawanej pojemności na każdą próbkę są bardzo niskie. Należy pamiętać, że nie jest to profesjonalne narzędzie pomiarowe ale tester, zakładam obiektywnie przekłamanie pomiaru DO 100mAh.

      Możliwe, że miernik ma lepszą rozdzielczość a na pewno ma lepszej jakości napięcie odniesienia :)

      Usuń
    6. Skoro jest 10 bitów, to raczej nie chodzi o rozdzielczość - podczas pomiarów pokazywane napięcie jest np. 3.32V po czym po chwili potrafi skoczyć np. na 3.40 (odświeżam w interwałach sekundowych) i z powrotem w granice 3.30V.
      O ile w górę nie ma z tym problemu, to w dół po prostu potrafiło mi wyłączyć pomiar potencjalnie o 0.2V za szybko.

      Oczywiście zgadzam się, że na używane ogniwa nie ma co robić z tego apteki, ostatecznie do samego wyłączenia pomiaru zrobiłem sobie porównanie do średniej z ostatnich 5 pomiarów i też działa.

      Bardziej ciekawi mnie geneza skoków - początkowo myślałem, że to kwestia wzrostu napięcia podczas nieużywania baterii, ale w zasadzie podczas działania pętli - ta cały czas jest obciążona.
      Czy może zasilacz zasilający Arduino może powodować takie zakłócenia?

      Usuń
    7. Zaciekawiło mnie to skakanie napięcia więc naładowałem kilka ogniw i testowałem, nie zauważyłem takich skoków, maksymalnie zaobserwowałem 0.02V. Ja zasilam arduino z ładowarki usb 5V 2A ale to duży zapas mocy.

      Usuń
    8. Czy mógłbym zamówić gotowy egzemplarz? Nie znam się na programowaniu i nie mam takiej możliwości a taki przyrząd by mi się przydał

      Usuń
  14. Witam. Próbował pan rozbudować ten projekt do testu 4 ogniw jednocześnie?
    I czy nie byłoby problemem zaimplementować do tego ładowarek :)
    Taki prawie automat ( dostałem od zaprzyjaźnionego serwisu laptopów 250szt baterii) i nie ukrywam Przydałoby się coś takiego zbudować :)

    OdpowiedzUsuń
  15. Proszę poczytać wpis Sebastiana
    https://www.instructables.com/id/3-X-18650-Battery-Capacity-Tester/

    OdpowiedzUsuń
  16. Witam,
    czy można zlecić i kupić od Pana gotowe urządzenie?

    OdpowiedzUsuń
  17. Witam. Czy musi być akurat ten mosfet czy może być inny ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Oczywiście może być inny, proszę mieć na uwadze napięcie bramki oraz maksymalny prąd przewodzenia.

      Usuń
  18. Witam.
    Nie wiem czy robię wszystko dobrze a mianowicie:
    Mam podłączone obciążenie jak w tym artykule, rozładowarka kończy prace na 2.7V ale jak podłączam później ogniwo pod miernik juz bez obciążenia to pokazuje mi ok 3.5 V. Czy tam ma być? Czy robię coś źle ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Spadek napięcia podczas obciążenia jest związany m.in. z rezystancją wewnętrzną ogniwa. Co za tym idzie im większe obciążenie(pobór prądu) tym większy spadek napięcia.

      Usuń
  19. ok...
    tak ma być...
    batera wraca do potencjalu sem

    OdpowiedzUsuń
  20. Bardzo fajny wpis. Pozdrawiam.

    OdpowiedzUsuń
  21. Ten komentarz został usunięty przez administratora bloga.

    OdpowiedzUsuń
  22. Bardzo ciekawie napisane. Pozdrawiam serdecznie.

    OdpowiedzUsuń
  23. Witam,jest możliwość przesłania na e-mail druku PCB ??

    OdpowiedzUsuń
  24. 23 year old Programmer Analyst I Sigismond Murphy, hailing from Terrace Bay enjoys watching movies like Chapayev and Graffiti. Took a trip to Laurisilva of Madeira and drives a 911. Odwiedz Twoj adres url

    OdpowiedzUsuń
  25. Ja również niestety się na tym nie znam i jestem zdania, że wszelkie prace elektryczne najlepiej jak wykonują fachowcy. W takiej sytuacji elektryk z https://www.warszawa-elektryk.pl/ u mnie pojawia się wtedy kiedy jest potrzeba.

    OdpowiedzUsuń
  26. Witam, czy ktoś może udostępnić projekt PCB? Ten link jest już nie aktywny.

    OdpowiedzUsuń