Je travaille sur un projet AVR basé sur une batterie basse consommation qui intègre quelques appareils différents, y compris une bande de néopixels et un lutin Adafruit . Lorsque l'appareil global est au repos, j'aimerais qu'il consomme moins de 0,1 mA pour maximiser la durée de vie de la batterie LiPo.
J'ai tout fait fonctionner (mesuré 0,035 mA) mais je ne suis pas sûr de l'avoir nécessairement fait de la «bonne» manière et je prévois de construire un produit basé sur cela, donc j'aimerais bien le faire.
(Non illustré: une diode flyback pour le relais)
La principale préoccupation que j'ai est l'alimentation «parasite» des appareils lorsque le VCC est déconnecté via le courant provenant des broches de données. Par exemple, le Pixie (qui communique via série), n'a pas de mode de mise hors tension et même lorsqu'il est éteint, il draine environ un milliampère. J'ai donc placé un petit relais pour déconnecter son VCC et j'ai découvert que la broche série alimentait toujours le lutin.Des indices ailleurs suggèrent que de nombreuses puces ont une diode shuntant leurs broches d'entrée numérique au VCC comme protection d'alimentation. Pour résoudre ce problème, j'ai dû suspendre la bibliothèque série et en fait digitalWrite (PIN, LOW) pendant le sommeil.
Même chose avec la bande WS2812b - la déconnexion du VCC permet toujours à l'appareil d'être alimenté à partir de la broche de données. Et dans d'autres conceptions, lorsque j'ai déconnecté GND avec un MOSFET à canal N, j'ai vu l'inverse - un retour de courant à travers la ligne de données vers la terre! (Cela devait être résolu avec une diode par poste sur PJRC.) Les WS2812b prennent en fait environ un milliampère chacun même lorsqu'ils ne sont pas allumés,
La question est donc la suivante: existe-t-il un moyen général et «propre» de déconnecter VCC et GND des parties d'un projet pendant la mise en veille du système lorsqu'il y a des broches de données dans le mélange? Quelle est la meilleure pratique?
Quelques idées:
- Forcer VCC à GND (vous ne savez pas comment? Hbridge?). (Si je fais cela, qu'arrive-t-il aux broches de données qui sont hautes?)
- Placez un tampon à trois états entre toutes les broches de données et ces appareils, et pendant le sommeil, placez le tampon à trois états dans un état de haute impédance, déconnectez VCC ou GND uniquement avec P ou N mosfet
- Déconnectez GND uniquement avec N mosfet et placez des diodes sur toutes les broches de données
- Existe-t-il une sorte de verrou d'alimentation qui déconnecte à la fois VCC et GND et les met dans un état «haute impédance» (comme un tampon à trois états pour l'alimentation?) De cette façon, le courant n'a aucun moyen de s'écouler «hors» des lignes de données.
Quelqu'un peut-il m'éclairer sur la manière la plus propre et la plus reproductible de gérer ce type de problème de «déconnexion de charge»? (Inutile de dire que j'ai passé des heures à googler ce problème avec peu de chance, même si j'ai trouvé cette note technique sur le changement de charge, mais elle ne traite pas du retour d'alimentation et de la puissance parasite)