Pracuję nad projektem opartym na baterii AVR o niskiej mocy, który integruje kilka różnych urządzeń, w tym pasek neopikselowy i pixie Adafruit . Gdy całe urządzenie jest w stanie spoczynku, chciałbym, aby pobierało mniej niż 0,1 mA, aby zmaksymalizować żywotność baterii LiPo.
Mam to wszystko działające (mierzone 0,035 mA), ale nie jestem pewien, czy koniecznie zrobiłem to w „właściwy” sposób i planuję zbudować na tej podstawie produkt, więc chciałbym to zrobić dobrze.
(Nie pokazano: dioda flyback dla przekaźnika)
Zasadniczą troską, którą mam, jest „pasożytnicze” zasilanie urządzeń, gdy VCC jest odłączony przez prąd płynący z pinów danych. Na przykład Pixie (który komunikuje się przez port szeregowy) nie ma trybu wyłączania zasilania, a nawet gdy „off” wyczerpuje się około miliampera. Więc umieściłem mały przekaźnik, aby odłączyć jego VCC, i odkryłem, że pin szeregowy nadal zasilał pixie. Wskazówki gdzie indziej sugerują, że wiele układów ma diodę blokującą ich cyfrowe wejścia do VCC jako zabezpieczenie zasilania. Aby rozwiązać ten problem, musiałem zawiesić bibliotekę szeregową i faktycznie digitalWrite (PIN, LOW) podczas snu.
To samo z listwą WS2812b - odłączenie VCC nadal umożliwia zasilanie urządzenia z pinu danych. A w innych projektach, kiedy odłączyłem GND z M-kanałowym MOSFETEM, widziałem odwrotną stronę - przepływ prądu wstecznego przez linię danych do ziemi! (To musiało zostać rozwiązane za pomocą diody na słupek na PJRC.) WS2812b faktycznie zajmuje około miliampera każdego, nawet gdy nie świeci,
Zatem pytanie: czy istnieje ogólny, „czysty” sposób na odłączenie VCC i GND od części projektu podczas uśpienia systemu, gdy w miksie są piny danych. Jaka jest najlepsza praktyka?
Jakieś pomysły:
- Wymuś VCC na GND (nie wiesz jak? Hbridge?). (Jeśli to zrobię, co stanie się z pinami danych, które są wysokie?)
- Umieść bufor trójstanowy między wszystkimi pinami danych a tymi urządzeniami, a podczas uśpienia ustaw bufor trójstanowy w stanie wysokiej impedancji, odłącz VCC lub GND tylko za pomocą P lub N mosfet
- Odłącz GND tylko za pomocą mosfetu N i umieść diody na wszystkich pinach danych
- Czy istnieje jakiś rodzaj zatrzasku zasilania, który odłącza zarówno VCC, jak i GND i wprowadza je w stan „wysokiej impedancji” (jak bufor trójstanowy dla zasilania?) W ten sposób prąd nie ma możliwości wypłynięcia „z linii” danych.
Czy ktoś może oświecić mnie do najczystszego, najbardziej powtarzalnego sposobu radzenia sobie z tego rodzaju problemem „odłączania obciążenia”? (Nie muszę dodawać, że spędziłem godziny na wyszukiwaniu tego problemu przy niewielkim szczęściu, chociaż znalazłem tę notatkę techniczną dotyczącą przełączania obciążenia, ale nie dotyczy ona sprzężenia zwrotnego i pasożytniczej mocy)