Witam Was serdecznie
Jakiś czas temu kupiłem netbooka było to w 2009 roku Toshiba NB100.
Komputerek iż ma swoje lata i do granic możliwości upgrade'owany SSD RAM.
I w dalszym ciągu służy do moich potrzeb Win7 32bit.
Ktoś powie przestarzały po co kombinować.
Kiedyś już chciałem podjąć temat baterii na forum
https://www.elektroda.pl/rtvforum/topic3843776.html
Jednak wtedy nie miałem ani narzędzi ani wiedzy jak to zrobić.
Czas leci i niestety baterie padły mam cztery sztuki i trzecią i czwartą udało się przywrócić jednak pozostały dwie.
Opiszę swój sposób gdy bateria nie jest do końca uszkodzona tzn wykrywa ją laptop i ładuje, jednak po uruchomieniu z baterii wyłącza się w trakcie rozładowania u mnie przy 80% i system win podaje komunikat
Poprzez program Batmon można sobie przejrzeć krzywą rozładowania
Po każdej takiej akcji kontroler zmniejsza pojemność sformatowaną tak aż na koniec zostają mA jak w moim przypadku i bateria deklaruje 20 min z czego z 15 minut chodzi przy minimalnym poborze i nieobciążonym procku.
Więc przystąpiłem do naprawy - po naładowaniu przystąpiłem do otwierania obudowy - poszło sprawnie tak iż możliwy jest ponowny montaż - zaczepy całe urwałem tylko 2.
Najpierw podlutowałem się zapasowym ogniwem Li-ion o zbliżonym napięciu około 3.4V równolegle do istniejącej pary i stare odczepiłem tak aby kontroler widział cały czas napięcie. Po czym podlutowałem (mając gotową parę z innej baterii) jak juz dobrze przylutowałem nową parę ogniw, to tak samo postąpiłem z drugą parą ogniw.
Po takiej podmianie bateria w komputerze nadal jest wykrywana batmon pokazuje około 50% i trwa ładowanie szybko dobiło do 99% zauważyłem że komputer ładował dalej pokazując 99% i około 1000mW.
Zostawiłem to tak mierząc jednocześnie napięcie na ogniwach bo nie zakładałem obudowy i zauważyłem że napięcie gdy bateria szybko uzyskała 99% to napięcie na ogniwach było około 3.85V.
Gdy zostawiłem włączony komputer kilka godzin badając temperaturę i napięcie na ogniwach zauważyłem że napięcie się zwiększa i po około 6h napięcie na obu parach wzrosło do 4.16V a program Batmon pokazał 100% i 0mW ładowania - no i zmienił górną flagę tak że zyskałem pojemność baterii.
Po klaibracji czyli pełnego rozładowania i ponownego ładowania pojemność jeszcze się zwiększyła
Kontroler zbudowany na BQ8030 i BQ29330
I tak pierwsza bateria została odzyskana - już kilka razy korzystałem z regenerowanej baterii i wszystko wskazuje że działa poprawnie, znikł też problem komunikatu Rozważ wymianę baterii i wczesnego wyłączania się - nawet przy pierwszej próbie na 0% chwilę chodził więc pełen sukces.
-------------------------
Podbudowany sukcesem sięgnąłem do drugiej baterii aby wykonać to sam jednak tu sytuacja mnie zaskoczyła.
Bateria trzyma też około 20 min ale Batmon wskazuje dużo mniejszą pojemność bo około 400mAh
Niestety powyższy sposób tu nie zadziałał. Trzeba szukać dalej.
Poczytałem trochę na temat tych kontrolerów - trochę czasu w sumie minęło od czasu mojego wcześniejszego tematu - myślę może coś w sprawie się zmieniło, no i znalazłem trochę materiałów w tym filmy na YT jak co niektórzy radzą sobie z takimi bateriami.
Szczególnie zainteresował mnie sposób wykorzystujący Arduino UNO bo takowe mam a komunikacja z baterią jest po magistrali I2C.
https://squidgeefish.com/projects/a1175-battery-hacking/#code
Tutaj sposób pierwszy jednak Autor miał szczęście bo klucze od tej baterii producent zostawił niezabezpieczone i mógł sobie odczytać i bez problemu nadpisywać wszystkie parametry w tym kasować licznik cykli i flagi formatowania. Tu pokazuje jak to robić
https://m.youtube.com/watch?v=1IuDC3vI9Ck
Trochę podstawowej teorii - kontroler ma trzy poziomy po których można się poruszać.
Pierwszy niezabezpieczony pozwala odczytywać parametry baterii
Drugi częściowo zabezpieczony pozwala nadpisywać niektóre parametry
i trzeci pełny dostęp który pozwala edytować wszystkie parametry
Aby cokolwiek oprócz podejrzenia wykonać trzeba mieć te kody zabezpieczeń, szczęście jak firma zostawia je domyślnie ustawione gorzej jak są one zmodyfikowane.
Podejrzewam że tak jest w tym przypadku, choć może są jakieś fabryczne lecz nigdzie w internecie nie ma specyfikacji układu BQ8030DBT który to siedzi w mojej baterii.
Po wgraniu kodu Arduino ze strony wyżej otrzymuję w serial monitor inne dane - takie.
Zrzut z mojej baterii po odświeżeniu portu szeregowego
Widać od razu że nie odblokowała się bateria co ciekawe trzy wartości które na filmie Autor ma każdy inny u mnie są takie same, jedynie dostęp mam do odczytu podstawowe parametry.
Nic za bardzo dalej nie zrobiłem może macie jakiś pomysł aby zmodyfikować kod - ale coś mi się wydaje że bez wykonania inżynierii wstecznej dalej nie osiągnę tym sposobem, chyba że macie jakieś pomysły lub materiały jak to obejść.
A więc szukamy innej drogi no i kolejny pomysł
https://www.karosium.com/2016/08/hacking-bq8030-with-sanyo-firmware.html?m=1
Tym razem układ dokładnie taki jak mój - dokumentacji nadal brak ale tu Autor próbuje wbijać się komendami i mu się udaje. Jednak tutaj sięgnął do zgrania kawałka pamięci i dekompilacji po czym ustalił słowa które wykorzystał w celu szukania kodów zabezpieczeń.
Pytanie do Was czy przy pomocy Arduino (bo tym tylko dysponuję) i poprzez serial monitor można coś takiego uczynić z moją baterią ?
Ja tu już niestety nie daję rady i moja wiedza się kończy, próbowałem wbijać jego słowa uzyskane w dekompilacji mając nadzieję że to pomoże bo to może jakieś ustawienia default ale niestety nie.
Tutaj moje pomysły z tą opcją się kończą.
Kolejne wyszukiwanie w Google przynosi to
https://github.com/laszlodaniel/SmartBatteryHack
Przy uruchomieniu kodu Arduino na serial monitor są tylko trzy krzaczki pomimo poprawnie ustawionej szbkości.
W folderze jeszcze jest programik który niestety nie chce się łączyć z baterią
wygląda na to że nie chce współpracować z baterią log z tego programu
No i koniec na filmach widać że można wpisywać i odczytywać słowa z konkretnych adresów i tym sposobem komunikować się z baterią.
No i tyle kombinuję i szukam dalej.
Wreszcie natrafiam na komplet plików
https://github.com/dsa-a/Arduino-Smart-Battery
Tu po wgraniu programu SmartBattery.ino
W serial monitor pojawia się menu i kilka opcji do wyboru
W innych opcjach poza read info uzyskuję Wire error - 3
Czyżby trzeba jeszcze coś podłączyć ja mam tylko SDA i SCL oraz GND i SDA i SCL podciągnięte do 5V z Arduino rezystorami 4.7k
Tu jest opis komunikacji układów BQ
https://www.ti.com/lit/er/sluu264a/sluu264a.pdf
Temat "gryzę" hobbystycznie - chciałbym uzyskać rozwiązanie wyłącznie dla uratowania swoich baterii i tylko tych modeli inne mnie nie interesują.
Może ktoś kto zajmuje się regeneracją baterii podpowie, nie chcę inwestować i kupować drogich programatorów, ciekawi mnie fakt takiego resetu no i korzyść z tego płynąca że można będzie "bezkarnie" wymieniać sobie ogniwa na nowe.
Jak zadziała to mam cztery baterie i dokupił bym ogniwa SAMSUNGA nowe max chyba są 3500mAh więc można by baterię podkręcić do 7000mAh.
Jeśli się uda na używkach to się zamówi nówki.
Proszę o pomoc w kwestii programowania / Ardunio lub innej taniej komunikacji między baterią a komputerem po I2C SMBus.
Pozdrawiam ...
Jakiś czas temu kupiłem netbooka było to w 2009 roku Toshiba NB100.
Komputerek iż ma swoje lata i do granic możliwości upgrade'owany SSD RAM.
I w dalszym ciągu służy do moich potrzeb Win7 32bit.
Ktoś powie przestarzały po co kombinować.
Kiedyś już chciałem podjąć temat baterii na forum
https://www.elektroda.pl/rtvforum/topic3843776.html
Jednak wtedy nie miałem ani narzędzi ani wiedzy jak to zrobić.
Czas leci i niestety baterie padły mam cztery sztuki i trzecią i czwartą udało się przywrócić jednak pozostały dwie.
Opiszę swój sposób gdy bateria nie jest do końca uszkodzona tzn wykrywa ją laptop i ładuje, jednak po uruchomieniu z baterii wyłącza się w trakcie rozładowania u mnie przy 80% i system win podaje komunikat
Poprzez program Batmon można sobie przejrzeć krzywą rozładowania
Po każdej takiej akcji kontroler zmniejsza pojemność sformatowaną tak aż na koniec zostają mA jak w moim przypadku i bateria deklaruje 20 min z czego z 15 minut chodzi przy minimalnym poborze i nieobciążonym procku.
Więc przystąpiłem do naprawy - po naładowaniu przystąpiłem do otwierania obudowy - poszło sprawnie tak iż możliwy jest ponowny montaż - zaczepy całe urwałem tylko 2.
Najpierw podlutowałem się zapasowym ogniwem Li-ion o zbliżonym napięciu około 3.4V równolegle do istniejącej pary i stare odczepiłem tak aby kontroler widział cały czas napięcie. Po czym podlutowałem (mając gotową parę z innej baterii) jak juz dobrze przylutowałem nową parę ogniw, to tak samo postąpiłem z drugą parą ogniw.
Po takiej podmianie bateria w komputerze nadal jest wykrywana batmon pokazuje około 50% i trwa ładowanie szybko dobiło do 99% zauważyłem że komputer ładował dalej pokazując 99% i około 1000mW.
Zostawiłem to tak mierząc jednocześnie napięcie na ogniwach bo nie zakładałem obudowy i zauważyłem że napięcie gdy bateria szybko uzyskała 99% to napięcie na ogniwach było około 3.85V.
Gdy zostawiłem włączony komputer kilka godzin badając temperaturę i napięcie na ogniwach zauważyłem że napięcie się zwiększa i po około 6h napięcie na obu parach wzrosło do 4.16V a program Batmon pokazał 100% i 0mW ładowania - no i zmienił górną flagę tak że zyskałem pojemność baterii.
Po klaibracji czyli pełnego rozładowania i ponownego ładowania pojemność jeszcze się zwiększyła
Kontroler zbudowany na BQ8030 i BQ29330
I tak pierwsza bateria została odzyskana - już kilka razy korzystałem z regenerowanej baterii i wszystko wskazuje że działa poprawnie, znikł też problem komunikatu Rozważ wymianę baterii i wczesnego wyłączania się - nawet przy pierwszej próbie na 0% chwilę chodził więc pełen sukces.
-------------------------
Podbudowany sukcesem sięgnąłem do drugiej baterii aby wykonać to sam jednak tu sytuacja mnie zaskoczyła.
Bateria trzyma też około 20 min ale Batmon wskazuje dużo mniejszą pojemność bo około 400mAh
Niestety powyższy sposób tu nie zadziałał. Trzeba szukać dalej.
Poczytałem trochę na temat tych kontrolerów - trochę czasu w sumie minęło od czasu mojego wcześniejszego tematu - myślę może coś w sprawie się zmieniło, no i znalazłem trochę materiałów w tym filmy na YT jak co niektórzy radzą sobie z takimi bateriami.
Szczególnie zainteresował mnie sposób wykorzystujący Arduino UNO bo takowe mam a komunikacja z baterią jest po magistrali I2C.
https://squidgeefish.com/projects/a1175-battery-hacking/#code
Tutaj sposób pierwszy jednak Autor miał szczęście bo klucze od tej baterii producent zostawił niezabezpieczone i mógł sobie odczytać i bez problemu nadpisywać wszystkie parametry w tym kasować licznik cykli i flagi formatowania. Tu pokazuje jak to robić
https://m.youtube.com/watch?v=1IuDC3vI9Ck
Trochę podstawowej teorii - kontroler ma trzy poziomy po których można się poruszać.
Pierwszy niezabezpieczony pozwala odczytywać parametry baterii
Drugi częściowo zabezpieczony pozwala nadpisywać niektóre parametry
i trzeci pełny dostęp który pozwala edytować wszystkie parametry
Aby cokolwiek oprócz podejrzenia wykonać trzeba mieć te kody zabezpieczeń, szczęście jak firma zostawia je domyślnie ustawione gorzej jak są one zmodyfikowane.
Podejrzewam że tak jest w tym przypadku, choć może są jakieś fabryczne lecz nigdzie w internecie nie ma specyfikacji układu BQ8030DBT który to siedzi w mojej baterii.
Po wgraniu kodu Arduino ze strony wyżej otrzymuję w serial monitor inne dane - takie.
Kod: Arduino
Zrzut z mojej baterii po odświeżeniu portu szeregowego
Kod: Arduino
Widać od razu że nie odblokowała się bateria co ciekawe trzy wartości które na filmie Autor ma każdy inny u mnie są takie same, jedynie dostęp mam do odczytu podstawowe parametry.
Nic za bardzo dalej nie zrobiłem może macie jakiś pomysł aby zmodyfikować kod - ale coś mi się wydaje że bez wykonania inżynierii wstecznej dalej nie osiągnę tym sposobem, chyba że macie jakieś pomysły lub materiały jak to obejść.
A więc szukamy innej drogi no i kolejny pomysł
https://www.karosium.com/2016/08/hacking-bq8030-with-sanyo-firmware.html?m=1
Tym razem układ dokładnie taki jak mój - dokumentacji nadal brak ale tu Autor próbuje wbijać się komendami i mu się udaje. Jednak tutaj sięgnął do zgrania kawałka pamięci i dekompilacji po czym ustalił słowa które wykorzystał w celu szukania kodów zabezpieczeń.
Pytanie do Was czy przy pomocy Arduino (bo tym tylko dysponuję) i poprzez serial monitor można coś takiego uczynić z moją baterią ?
Ja tu już niestety nie daję rady i moja wiedza się kończy, próbowałem wbijać jego słowa uzyskane w dekompilacji mając nadzieję że to pomoże bo to może jakieś ustawienia default ale niestety nie.
Tutaj moje pomysły z tą opcją się kończą.
Kolejne wyszukiwanie w Google przynosi to
https://github.com/laszlodaniel/SmartBatteryHack
Przy uruchomieniu kodu Arduino na serial monitor są tylko trzy krzaczki pomimo poprawnie ustawionej szbkości.
W folderze jeszcze jest programik który niestety nie chce się łączyć z baterią
wygląda na to że nie chce współpracować z baterią log z tego programu
Kod: Arduino
No i koniec na filmach widać że można wpisywać i odczytywać słowa z konkretnych adresów i tym sposobem komunikować się z baterią.
No i tyle kombinuję i szukam dalej.
Wreszcie natrafiam na komplet plików
https://github.com/dsa-a/Arduino-Smart-Battery
Tu po wgraniu programu SmartBattery.ino
W serial monitor pojawia się menu i kilka opcji do wyboru
Kod: Arduino
W innych opcjach poza read info uzyskuję Wire error - 3
Czyżby trzeba jeszcze coś podłączyć ja mam tylko SDA i SCL oraz GND i SDA i SCL podciągnięte do 5V z Arduino rezystorami 4.7k
Tu jest opis komunikacji układów BQ
https://www.ti.com/lit/er/sluu264a/sluu264a.pdf
Temat "gryzę" hobbystycznie - chciałbym uzyskać rozwiązanie wyłącznie dla uratowania swoich baterii i tylko tych modeli inne mnie nie interesują.
Może ktoś kto zajmuje się regeneracją baterii podpowie, nie chcę inwestować i kupować drogich programatorów, ciekawi mnie fakt takiego resetu no i korzyść z tego płynąca że można będzie "bezkarnie" wymieniać sobie ogniwa na nowe.
Jak zadziała to mam cztery baterie i dokupił bym ogniwa SAMSUNGA nowe max chyba są 3500mAh więc można by baterię podkręcić do 7000mAh.
Jeśli się uda na używkach to się zamówi nówki.
Proszę o pomoc w kwestii programowania / Ardunio lub innej taniej komunikacji między baterią a komputerem po I2C SMBus.
Pozdrawiam ...
Fajne? Ranking DIY