Witam!
Próbuję naprawić baterię do latarki nurkowej Hartenberger Maxi Compact LCD. Niestety po wymianie ogniw bateria nadal nie chce działać tak jak powinna. Po wielokrotnym sprawdzeniu podzespołów pasywnych na PCB baterii doszedłem do wniosku, że może producent będzie w stanie coś podpowiedzieć. Niestety producent mówi, że tylko u niego można regenerować baterie. Z tego co zrozumiałem z jego odpowiedzi ta bateria zablokowała się gdy napięcie na ogniwach spadło poniżej poziomu X.
Zacząłem więc analizować co dalej zrobić i po sprawdzeniu mikrokontrolera doszedłem do wniosku, że nie ma możliwości zapisania danych w pamięci tego mikrokontrolera które zachowały by się między włączeniami. Mikrokontroler to PIC16f716 20-pinowy. Nie posiada on EEPROMu i nie znalazłem, żadnej wzmianki o mechanizmach zapisywania danych w pamięci flash. Szukałem więc dalej i znalazłem na płytce układ DS2438, który jest układem monitorującym baterię i posiada on możliwość zachowywania danych w pamięci EEPROM więc jeśli bateria naprawdę jest w stanie zapamiętać swój stan to będzie to zapisane w tym układzie.
Udało mi się dostać do zawartości tej pamięci i mogę ją modyfikować. Problem polega na tym, że nie wiem co powinienem zmodyfikować. Dlatego potrzebuję pomocy. Każda będzie mile widziana. Jeśli ktoś ma taką baterię i byłby w stanie dla mnie odczytać zawartość tej baterii to będę super wdzięczny. Również, jeśli ktoś ma doświadczenie w takich zabawach i chciałby mi podpowiedzieć co robić lub w którym kierunku iść to też będę super zadowolony.
Załączam zdjęcie PCB baterii.
Ach, nie napisałem jak zachowuje się bateria: uruchamia się "normalnie" po podłączeniu części sterującej lampa się uruchamia i można sobie robić wszystko na co ten model pozwala poza jedną rzeczą czyli uruchomieniem żarówki. Po uruchomieniu żarówki (po około 1 sekundzie) bateria odcina zasilanie części sterującej i wszystko staje się ciemne. Na zdjęciu po lewej widać zrobiony z cyny mostek na rezystorze pomiarowym - wtedy bateria nie wykrywa poboru prądu i się nie wyłącza. Jednak obawiam się, że zostawiając tak, naraziłbym latarkę i nurka na niebezpieczeństwo.
Już trochę szukałem po omacku co zmienić w tej pamięci i pewien postęp udało mi się osiągnąć. Wcześniej (z mostkiem z cyny obecnym) latarka uruchamiała się ale moduł sterujący zamiast świecić to "mrygał" nieustannie żarówką, po tym jak pogrzebałem to przestał i jak jest mostek cynowy to działa normalnie.
Zastanawiałem, się też czy to nie jest problem tego, że bateria źle widzi pobór prądu i myśli, że jest przeciążona więc podłączyłem zasilanie do baterii z ograniczeniem prądowym i DS2438 poprawnie wykrył prąd ładujący o wartości 1A. Sprawdzałem, też rozładowujący i też wygląda na poprawną wartość ujemną.
Poniżej zawartość pamięci EEPROM:
Co już udało mi się ustalić:
1. strony 0-2 to strony pamięci używane przez DS2438 więc tutaj na pewno nie ma informacji o zablokowaniu baterii
2. Na stronie 3 bajt 0 - w nim zapisany jest obecny stan naładowania baterii. Przy zmianie tego bajtu zmienia się wartość ile % baterii zostało wyświetlana na części sterującej
3. Strona 3 bajt 1 - tutaj zapisany jest tryb w jakim lampa ma świecić. Jest do wyboru A, B, C, T. Jak zmieniam ten bajt to zmienia się tryb świecenia.
4. Strona 4 bajty 3-6 są ze sobą powiązane, jak zmieniam bajt 5 to 3 i 4 zmieniają się po uruchomieniu latarki, a jak zmieniam bajt 6 to 3 poprzednie się zmieniają.
5. Przy zmienianiu wartości bajtów 0 i 1 na stronie 6 bateria w niektórych przypadkach nie wstawała. (nie uruchamiała się)
6. Strona 7 bajty 4-7 są używane przez DS2438 więc tutaj na pewno też nie ma "tej blokady"
Moja procedura wygląda tak, że zwieram do masy reset PICa, zmieniam dane w EEPROM i rozwieram linię reset od masy, następnie podłączam część sterującą i sprawdzam czy działa. Do tej pory próbuję zmieniać bit po bicie (neguję pojedyncze bity) i sprawdzać czy to działa i doszedłem do strony 6 bajtu 1.
AI: Czy posiadasz może schemat elektryczny tej baterii lub samego PCB, albo próbowałeś go odtworzyć? Może to pomóc w dokładniejszym zrozumieniu, jak DS2438 współpracuje z resztą układu i gdzie może być realizowana blokada.
Nie mam schematu i nie rysowałem. Jeśli będzie taka potrzeba to mogę się tym zająć.
AI: Czy próbowałeś już całkowitego wyczyszczenia (wyzerowania) pamięci EEPROM DS2438 lub wgrania jakichś domyślnych wartości? Jeśli tak, to jakie były efekty takich prób?
Próbowałem wgrywać same 00 i próbowałem też FF. Nie przywróciło to baterii do życia.
Próbuję naprawić baterię do latarki nurkowej Hartenberger Maxi Compact LCD. Niestety po wymianie ogniw bateria nadal nie chce działać tak jak powinna. Po wielokrotnym sprawdzeniu podzespołów pasywnych na PCB baterii doszedłem do wniosku, że może producent będzie w stanie coś podpowiedzieć. Niestety producent mówi, że tylko u niego można regenerować baterie. Z tego co zrozumiałem z jego odpowiedzi ta bateria zablokowała się gdy napięcie na ogniwach spadło poniżej poziomu X.
Zacząłem więc analizować co dalej zrobić i po sprawdzeniu mikrokontrolera doszedłem do wniosku, że nie ma możliwości zapisania danych w pamięci tego mikrokontrolera które zachowały by się między włączeniami. Mikrokontroler to PIC16f716 20-pinowy. Nie posiada on EEPROMu i nie znalazłem, żadnej wzmianki o mechanizmach zapisywania danych w pamięci flash. Szukałem więc dalej i znalazłem na płytce układ DS2438, który jest układem monitorującym baterię i posiada on możliwość zachowywania danych w pamięci EEPROM więc jeśli bateria naprawdę jest w stanie zapamiętać swój stan to będzie to zapisane w tym układzie.
Udało mi się dostać do zawartości tej pamięci i mogę ją modyfikować. Problem polega na tym, że nie wiem co powinienem zmodyfikować. Dlatego potrzebuję pomocy. Każda będzie mile widziana. Jeśli ktoś ma taką baterię i byłby w stanie dla mnie odczytać zawartość tej baterii to będę super wdzięczny. Również, jeśli ktoś ma doświadczenie w takich zabawach i chciałby mi podpowiedzieć co robić lub w którym kierunku iść to też będę super zadowolony.
Załączam zdjęcie PCB baterii.
Ach, nie napisałem jak zachowuje się bateria: uruchamia się "normalnie" po podłączeniu części sterującej lampa się uruchamia i można sobie robić wszystko na co ten model pozwala poza jedną rzeczą czyli uruchomieniem żarówki. Po uruchomieniu żarówki (po około 1 sekundzie) bateria odcina zasilanie części sterującej i wszystko staje się ciemne. Na zdjęciu po lewej widać zrobiony z cyny mostek na rezystorze pomiarowym - wtedy bateria nie wykrywa poboru prądu i się nie wyłącza. Jednak obawiam się, że zostawiając tak, naraziłbym latarkę i nurka na niebezpieczeństwo.
Już trochę szukałem po omacku co zmienić w tej pamięci i pewien postęp udało mi się osiągnąć. Wcześniej (z mostkiem z cyny obecnym) latarka uruchamiała się ale moduł sterujący zamiast świecić to "mrygał" nieustannie żarówką, po tym jak pogrzebałem to przestał i jak jest mostek cynowy to działa normalnie.
Zastanawiałem, się też czy to nie jest problem tego, że bateria źle widzi pobór prądu i myśli, że jest przeciążona więc podłączyłem zasilanie do baterii z ograniczeniem prądowym i DS2438 poprawnie wykrył prąd ładujący o wartości 1A. Sprawdzałem, też rozładowujący i też wygląda na poprawną wartość ujemną.
Poniżej zawartość pamięci EEPROM:
| Strona/Bajt | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Strona 0 | 07 | C8 | 1C | 15 | 02 | FF | FF | 80 | Strona 1 | B3 | 0E | 00 | 00 | FC | 00 | 00 | FC | Strona 2 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | Strona 3 | FD | 02 | FF | FF | FF | FF | 10 | 00 | Strona 4 | FF | FF | FF | FF | FC | D6 | 1C | 00 | Strona 5 | 0B | 00 | 04 | 00 | 30 | 00 | 07 | 00 | Strona 6 | 44 | 4 | 0 | 0 | 2 | 0 | FF | FF | Strona 7 | 00 | 00 | FC | F0 | 00 | 00 | 0B | 00 |
Co już udało mi się ustalić:
1. strony 0-2 to strony pamięci używane przez DS2438 więc tutaj na pewno nie ma informacji o zablokowaniu baterii
2. Na stronie 3 bajt 0 - w nim zapisany jest obecny stan naładowania baterii. Przy zmianie tego bajtu zmienia się wartość ile % baterii zostało wyświetlana na części sterującej
3. Strona 3 bajt 1 - tutaj zapisany jest tryb w jakim lampa ma świecić. Jest do wyboru A, B, C, T. Jak zmieniam ten bajt to zmienia się tryb świecenia.
4. Strona 4 bajty 3-6 są ze sobą powiązane, jak zmieniam bajt 5 to 3 i 4 zmieniają się po uruchomieniu latarki, a jak zmieniam bajt 6 to 3 poprzednie się zmieniają.
5. Przy zmienianiu wartości bajtów 0 i 1 na stronie 6 bateria w niektórych przypadkach nie wstawała. (nie uruchamiała się)
6. Strona 7 bajty 4-7 są używane przez DS2438 więc tutaj na pewno też nie ma "tej blokady"
Moja procedura wygląda tak, że zwieram do masy reset PICa, zmieniam dane w EEPROM i rozwieram linię reset od masy, następnie podłączam część sterującą i sprawdzam czy działa. Do tej pory próbuję zmieniać bit po bicie (neguję pojedyncze bity) i sprawdzać czy to działa i doszedłem do strony 6 bajtu 1.
AI: Czy posiadasz może schemat elektryczny tej baterii lub samego PCB, albo próbowałeś go odtworzyć? Może to pomóc w dokładniejszym zrozumieniu, jak DS2438 współpracuje z resztą układu i gdzie może być realizowana blokada.
Nie mam schematu i nie rysowałem. Jeśli będzie taka potrzeba to mogę się tym zająć.
AI: Czy próbowałeś już całkowitego wyczyszczenia (wyzerowania) pamięci EEPROM DS2438 lub wgrania jakichś domyślnych wartości? Jeśli tak, to jakie były efekty takich prób?
Próbowałem wgrywać same 00 i próbowałem też FF. Nie przywróciło to baterii do życia.