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):
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).
Odpowiedzi:
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.
źródło
@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.
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.
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.
źródło
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.
źródło