Zmierz napięcie akumulatora litowo-jonowego (tym samym pozostającą pojemność)

15

Z czym współpracuję: korzystam z własnej płyty Arduino (w tym sensie, że korzystam z modułu ładującego i edytora kodu Arduino) o napięciu 3,3 V i zasilany jest z baterii litowo-jonowej, która jest ładowana przez odpowiedni Microchip ładowarka IC.

Co próbuję osiągnąć: chcę mierzyć pojemność baterii raz na minutę. Mam podłączony ekran LCD, więc pomysł polega na tym, że ogólna konfiguracja informuje mnie, jak działa akumulator w danym momencie. Arkusz danych akumulatora ma krzywą napięcia w stosunku do poziomu rozładowania, a więc mierząc napięcie akumulatora, mogę oszacować pozostałą pojemność (bardzo z grubsza, ale dla mnie wystarczająca!).

Co ja zrobiłem:

  • (EDYCJA: Zaktualizowano wartości rezystorów i dodano przełącznik P-MOSFET na podstawie sugestii @stevenvh i @ Jonny).

  • Podłączyłem dzielnik napięcia z akumulatora V_plus, przy czym większa „część” trafiła do analogowego czytnika (tj. ADC) na układzie Arduino / Atmega.

  • Dzielnik wynosi 33 KOhm-do 10 KOhm, co pozwala na pomiar maksymalnie 4,1 V akumulatora litowo-jonowego z mojego mikrokontrolera na poziomie 3,3 V.

  • Ponadto za pomocą jednego ze styków we / wy podłączonego do n-kanałowego MOSFET-a mogę przełączać prąd przez dzielnik tylko wtedy, gdy potrzebuję pomiaru.

  • Oto ogólny schemat (zaktualizowany po raz drugi na podstawie sugestii @stevenvh i @Nick):

wprowadź opis zdjęcia tutaj

Moje pytanie:

  • Jaka jest moja obecna konfiguracja?

  • Moje jedyne ograniczenia to: (1) Chciałbym dokonać przybliżonego pomiaru pojemności baterii w oparciu o odczyt napięcia, jak opisano powyżej. (2) Chciałbym zapobiec zakłócaniu przez dzielnik napięcia odczytu odczytu obecności akumulatora przez układ scalony ładowania (w moim pierwotnym ustawieniu dzielnik czasami powodował, że układ scalony źle odczytał obecność, nawet gdy akumulator był nieobecny).

zgryz
źródło
1
„Użyłem dużych wartości rezystorów”. Pin wejściowy może mieć prąd upływowy, typową najgorszą wartością jest 1 uA. Przy niskim prądzie przez dzielnik może to zniekształcić odczyt.
stevenvh
Chcę więc niskiego prądu przez dzielnik, ale wystarczająco wysokiego, aby był co najmniej o rząd wielkości powyżej maksymalnego prądu upływu.
boardbite
Lub użyj FET, aby włączyć lub wyłączyć dzielnik, jak zasugerowałem w tej odpowiedzi na podobne pytanie.
stevenvh
Czy po zainstalowaniu FET w wyłączonym „stanie” dzielnika, czy może to również rozwiązać problem błędnego odczytu obecności akumulatora przez układ scalony ładowarki? (BTW, co za zbieg okoliczności, że ta osoba również zadała dziś pytanie!)
boardbite
1
Masz niewłaściwy FET po niewłaściwej stronie. Jeśli wyłączysz to, pełne napięcie będzie na styku wejściowym, ponieważ R1 nie pobierze prądu. Potrzebny jest P-MOSFET po wysokiej stronie, więc wyłączenie go pociągnie pin I / O do masy.
stevenvh

Odpowiedzi:

13

wprowadź opis zdjęcia tutaj

Wydaje się, że jest bardzo podobny do schematu Nicka, prawdopodobnie był zajęty rysowaniem go, gdy pisał :-).

Po pierwsze, dlaczego nie możesz używać N-FET po wysokiej stronie: potrzebuje napięcia bramki o kilka woltów wyższego niż źródło, a 4,2 V to wszystko, co masz, nic wyższego, więc to nie zadziała.

Mam wyższą wartość dla podciągania, chociaż wystarcza również wartość 100 kΩ. 10 kΩ spowoduje niepotrzebny dodatkowy prąd 400 µA podczas pomiaru. Nie koniec świata, ale w obu przypadkach jest to 1 opornik, więc dlaczego nie użyć wyższej wartości.

W przypadku tranzystorów MOSFET istnieje wiele różnych części do wyboru, ponieważ wymagania nie są tak surowe; możesz rozważyć niedrogie, takie jak np. Si2303 dla kanału P i BSS138 dla kanału N.

stevenvh
źródło
Dzięki za formalną odpowiedź! Myślę, że mógłbym wymyślić kilka zastosowań tej konkretnej kombinacji. Na tej podstawie zaktualizowałem swój schemat w pytaniu. I doceń wyjaśnienie N-FET.
boardbite
Co byś polecił jako przykład pasującego N-Channel MOSFET (najlepiej typu SMD) do użycia tutaj? IRF530 wydaje się być duży i niezbyt tani. (W przypadku kanału P widzę, że Si2303 jest dostępny w SMD, więc już się nim zajęto.)
Boardbite
1
@Inga - Nie potrzebujesz prądu, więc oporność na nie jest tak ważna. Wystarczy spojrzeć na napięcie progowe bramki: powinno być włączone przy 3,3 V, ale nawet wtedy nie musi pobierać żadnego prądu, a wtedy jest duży wybór. BSS138 jest jednym z najtańszych nie mogłem znaleźć, a zrobi ładnie.
stevenvh
7

@Inga. To bardziej komentarz niż odpowiedź. Ale chciałbym opublikować zdjęcie, więc zamieszczam je jako odpowiedź.

Twój mikrokontroler (uC) jest zasilany napięciem + 3,3 V. Drenaż proponowanego P-MOSFET może wynosić nawet + 4,1 V. W tej chwili sygnał logiczny + 3,3 V nie będzie w stanie całkowicie wyłączyć P-MOSFET. Q6 na schemacie poniżej tworzy wyjście z otwartym drenem, które jest tolerancyjne dla + 4,1 V.

C14 obniża impedancję, którą zobaczy Twój A / D.

wprowadź opis zdjęcia tutaj

[...] napięcie akumulatora (pozostała pojemność)

Może się okazać, że wykrywanie napięcia akumulatora nie jest dokładnym sposobem wykrywania pozostałej pojemności. W urządzeniach przenośnych (telefony komórkowe, laptopy) pojemność baterii szacuje się poprzez pomiar prądu do i z baterii. Istnieją dziesiątki wyspecjalizowanych układów wskaźników poziomu naładowania akumulatora ( na przykład bq27200 ), które pomagają w tym zadaniu.

Dlaczego nie pojedynczy MOSFET N-kanałowy po dolnej stronie i dwa dzielniki rezystorowe w górnej części?
[z komentarza poniżej]

Przełącznik niskiego napięcia ma problemy, gdy napięcie akumulatora (V bat ) jest wyższe niż napięcie zasilania mikrokontrolera (V cc ). Gdy wyłącznik po stronie niskiej jest wyłączony, uziemiony koniec dzielnika napięcia unosi się, dzielnik nie dzieli się już, pełne napięcie akumulatora pojawia się na pinie ADC mikrokontrolera. Może to uszkodzić uC. Stworzy również ścieżkę upływu, przez którą akumulator rozładuje się.
Przełącznik wysokiego poziomu jest wymagany, gdy V bat > V cc .

1 Użyję Vcc w skrócie, ale ta dyskusja dotyczy również V dd , AV cc , AV dd . W razie wątpliwości należy przejrzeć kartę danych.

Nick Alexeev
źródło
Dzięki Nick! To ma sens i zaktualizowałem schemat (wskaźnik paliwa jest opcją, ale próbuję również nauczyć się podstawowej elektroniki i eksperymentować, stąd pomysł dzielnika napięcia)
boardbite
Dlaczego nie pojedynczy Mosfet N na dolnej stronie i dzielnik dwóch rezystorów na górnej stronie? Nie rozumiem, dlaczego konieczne jest użycie N Mosfet do kierowania P Mosfet
Luis Carlos
1
@Luis Zredagowałem odpowiedź i dodałem odpowiedź do twojego komentarza.
Nick Alexeev
4

Ad.A: Wydaje mi się, że wystarczy prosty dzielnik napięcia, aby wykryć napięcie akumulatora. Chociaż powinieneś ostrożnie wybrać opór. Impedancja wewnętrzna wejść ADC wynosi 100 kΩ, zgodnie z arkuszem danych ATmega328 . Patrz „Rysunek 23-8. Obwody wejściowe analogowe”. Jeśli dzielnik ma impedancję porównywalną do wejścia ADC, obwód wejściowy ADC będzie w zasadzie zachowywał się jak inny węzeł w dzielniku. Może to powodować przesunięcia w odczytach ADC.

Użycie dzielnika do 10 kΩ na szynach byłoby wystarczająco niskie, aby zignorować impedancję wejściową ADC, przy zużyciu jedynie 410µA. Jeśli to za dużo dla twojej aplikacji, możesz oczywiście wybrać większe rezystancje, ale pamiętaj, że ADC jest tam i jest podłączony do Vcc / 2.

Jonny B. Dobrze
źródło
To wyjaśnienie ma sens. Na pewno 0,4 mA to niewiele! Po prostu starałem się być tak idealistyczny, jak to tylko możliwe :) Czy zgadujesz, dlaczego posiadanie tego dzielnika może wpływać na odczyt układu scalonego ładowarki, czy jest bateria?
boardbite
Domyślam się, że nadal istnieje połączenie między dodatnim stykiem akumulatora w miejscu, w którym znajduje się dzielnik, a + 5 V z USB. Nie znam twojego konkretnego obwodu, ale jestem pewien, że możesz wydedukować, co się dzieje, jeśli spojrzysz na schemat Arduino .
Jonny B Good
Jestem pewien, że jeśli podążysz za pomysłem Stephenha, aby użyć FET do połączenia / odłączenia dzielnika, gdy to konieczne, wszystko będzie okropne. Tranzystory MOSFET mają rezystancje, które są całkowicie nieistotne dla dzielnika. Być może potrzebowałbyś innego ADC do monitorowania, czy USB jest podłączony czy nie.
Jonny B Good
Dziękuję Ci; Zaktualizowałem pytanie na podstawie dwóch sugestii i dodałem schemat. Jeśli chodzi o monitorowanie zasilania USB, układ ładujący ma już również wyjście statusu!
boardbite