Estoy trabajando en un modo de baja energía de la batería basada en AVR-basado proyecto que integra un par de diferentes dispositivos, incluyendo un neopixel tira y un Adafruit pixie. Cuando el dispositivo general está en reposo, me gustaría que consumen menos de 0,1 mA para maximizar la batería de LiPo de la vida.
Tengo todo esto de trabajo (medido 0.035 mA), pero no estoy seguro de que me necesariamente lo hizo en la forma "correcta" y el I plan para la construcción de un producto basado en este modo gustaría hacerlo bien.
(No se muestra: un flyback de diodo para la retransmisión)
El principal motivo de preocupación que tengo es el "parasitaria" la alimentación de los dispositivos cuando VCC se desconecta a través de la corriente que fluye a partir de datos de pins. Por ejemplo, el Pixie (que se comunica a través de la serie), no tiene modo de apagado e incluso "apagado" drena sobre un miliamperios. Así que coloqué un pequeño relé para desconectar su VCC, y descubrió que el serial pin era en realidad sigue alimentando el pixie. Sugerencias de otros lugares sugerido que la cantidad de fichas que tiene un diodo de derivación de sus pines de entrada de VCC como la protección de la alimentación. Para solucionar esto, he tenido que suspender la serie de la biblioteca y en realidad digitalWrite( PIN, BAJA ) durante el sueño.
Lo mismo con el WS2812b de la franja de desconectar VCC todavía permite que el dispositivo se alimenta desde el pin de datos. Y en otros diseños cuando he desconectado de tierra (GND) con un N-MOSFET de Canal, he visto a la inversa - un nuevo flujo de corriente a través de la línea de datos a la tierra! (Esto tiene que ser resuelto con un diodo por un post en PJRC.) El WS2812b realmente tomar alrededor de un miliamperios cada uno, incluso cuando se apagan,
Así que la pregunta: ¿hay una forma "limpia" para desconectar VCC y GND de las partes de un proyecto durante el sueño cuando hay pines de datos en la mezcla. ¿Cuál es la mejor práctica?
Algunas ideas:
- La fuerza de VCC a GND (no sabe cómo? Hbridge?). (Si hago esto, ¿qué sucede con los pines de datos que son de alta?)
- Colocar un buffer tri-estado entre todos los pines de datos y estos dispositivos, y durante el sueño de poner el buffer tri-estado en un estado de alta impedancia, desconecte VCC o GND sólo con P o N mosfet
- Desconecte la TIERRA solamente con N mosfet, y colocar diodos en todos los pines de datos
- ¿Hay algún tipo de poder pestillo que se desconecta tanto VCC y GND y los pone en un "alta impedancia" (como en un buffer tri-estado por el poder?) De esa manera actual no tiene forma de flujo de "fuera" de las líneas de datos.
Puede que alguien me ilumine para los más limpios, más repetible forma de manejar este tipo de "desconexión de carga" problema? (No hace falta decir, he pasado horas buscando en google este problema con un poco de suerte, a pesar de que encontré esta nota técnica de conmutación de carga, pero no la dirección de alimentación y de energía parásita)