Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

STC3115 działa wszystko oprócz coulomb countera

nsvinc 12 Feb 2022 01:45 378 4
  • #1
    nsvinc
    Level 35  
    Cześć
    mam nieprzyjemność pracować z STC3115, który, niby po poprawnym ustawieniu go, po prostu powinien działać (lepiej lub gorzej, ale działać)...
    Tak też działa, mierzy prąd, napięcie, poprawnie oszacował SOC na podstawie OCV, generalnie jest w porządku, gdyby nie jeden mały szczegół:
    SOC nigdy się nie zmienia
    tkwi z wartością którą oszacował tuż po tym jak dostał reset, i nie zamierza żadnych coulombów zliczać. Czy godzinami ładuję, czy rozładowuję, SOC stoi w miejscu.
    Ten jego wewnętrzny licznik (REG_COUNTER) oczywiście się zwiększa, tak samo oczywiście sam scalak twierdzi, że pracuje w trybie CC, mierzy poprawnie prąd i napięcie, wszystko działa oprócz SOC. BATD jest do masy, RSTIO jest do masy, to na 120% nie jest problem sprzętowy (fizycznie zmierzone).
    W necie doczytałem, że zła konfiguracja może powodować problemy; po piętnastej weryfikacji zakładam, że to nie to. Również doczytałem, że BATD, gdy nie jest do masy (jak nieużywany), blokuje pracę CC, i wtedy wyżej wspomniany REG_COUNTER się nie zwiększa. U mnie się zwiększa. SKonfigurowałem bydlaka na pewno dobrze, nawet podałem mu parametr z 100% poprawnym ESR akumulatora (REG_VM_CNF).
    Kolejność zapisywania rejestrow? To co mam jest zgodne z pokręconą notą AN4324, tyle, że nie korzystam z ramu w tym scalaku, ale flowcharty wziąłem sobie do serca...

    Jak to ugryźć? Help...
  • #3
    nsvinc
    Level 35  
    Marek_Skalski wrote:
    A może powinno być podłączone jak w ds (rev.9), rysunki 4 i 14?

    Racja, jeśli ten ficzer jest używany. Ja go nie potrzebuję (akumulator jest na stałe), więc podłączenie mam takie:
    STC3115 działa wszystko oprócz coulomb countera

    Marek_Skalski wrote:
    Zachowuje się jak na rysunkach 11 i 12?

    Poniekąd. Jako że aku jest zawsze podłączony, to obecnie scalakowi robię soft reset. I rzeczywiście po tym resecie BATD idzie na chwilę w górę, i jest pobierana próbka OCV. Zgodnie z notą AN4324 rysunek 17, odczytuję ten rejestr do zmiennej, następnie zapisuję do scalaka rejestry REG_VM_CNF i REG_CC_CNF, wpisuję do rejestru OCV wartość ze zmiennej, i zapisem do REG_MODE włączam licznik (GG_RUN=1). Odczyt SOC wskazuje oszacowaną wartość na podstawie tej pobranej próbki OCV.

    Ta sekwencja właśnie kończy się tym, co opisałem w #1. REG_COUNTER idzie do przodu, SOC stoi w miejscu.
    Z ostatniej chwili jeszcze ciekawostki:
    - ustawianie bitów FORCE_CC czy FORCE_VM absolutnie nic nie daje. SOC stoi w miejscu
    - scalak samoczynnie przełącza się między trybami CC i VM w zależności od obciążenia, robi to poprawnie
  • #4
    Marek_Skalski
    VIP Meritorious for electroda.pl
    Nie mam pomysłu. Może warto skontaktować się z supportem ST?
    Na forum jest Kolega, który chyba może pomóc - https://www.elektroda.pl/rtvforum/uzytkownik51982.html
  • #5
    nsvinc
    Level 35  
    Solved!!
    Kilka razy do roku chyba podświadomie muszę popełnić do cna idiotyczny błąd, bujać się z tym dwa dni a następnie zawracać dupę ;) czas zmienić dilera...
    @Marek_Skalski dziękuję za zaangażowanie i przepraszam za zmarnowany czas ;P

    What happened?
    rejestry REG_VM_CNF i REG_CC_CNF wysyłam z tablicy czterech bajtów, którą inicjalizowałem chlastając 16b wartości z constów na wyższy i niższy bajt manipulując bitami. No i mi się "odwyrtło", zamiast podać LE, to podawałem BE. Biedny scalak myślał, że mam akumulator conajmniej taki, jak w Tesli model S, dlatego SOC się nie zwiększał przy śmiesznym ładowaniu rzędu 500mA.
    Taką durną pomyłkę, wbrew pozorom, czasami naprawdę ciężko zauważyć...

    pozdrawiam ;)