¿Cómo puedo proteger una señal de entrada a un CMOS sin alimentación?

Mi circuito tiene un cargador de batería y un ATMega88. El ATMega necesita detectar el estado del cargador de la batería, pero si la batería está demasiado baja, es posible que el ATMega no tenga energía.

Sé que es malo controlar una entrada CMOS de más de 0,3 V por encima de VCC: puede alimentar chips a través de los diodos de protección, provocar un bloqueo, etc.

Veo tres posibles soluciones:

1) Utilice un transceptor de bus de alimentación dual. http://www.ti.com/lit/ds/symlink/sn74lvc1t45.pdf Esto agrega más costo de lo que me gustaría.

2) Coloque una resistencia de 100K en línea con la señal, de modo que "no fluya mucha" corriente hacia el circuito apagado. Creo que esto no debería causar un bloqueo o quemar nada, pero aún podría encender algunos circuitos y causar un funcionamiento no deseado.

3) Use resistencias divisoras para reducir la señal a <0,3 V y aliméntela a un pin ADC. Esto requiere trabajo adicional y tiempo para detectar, y todavía estoy un poco nervioso acerca de alimentar cualquier voltaje/corriente en un CMOS sin alimentación.

Así que me inclino por la opción 3, pero espero que haya una mejor opción en la que no haya pensado.

¿Por qué el ATmega estaría apagado incluso si la batería está demasiado baja?
Para proteger la batería de daños, tengo que apagar el LDO si la batería se agota demasiado. Incluso con todos los chips apagados, estaría extrayendo alrededor de 100 uA de una batería de 150 mAh descargada en un 95 %, lo que la agotaría en unos pocos días, y no puedo esperar que los usuarios la carguen de inmediato.

Respuestas (2)

La forma más fácil de lidiar con una señal digital como esa es alimentarla a un BJT o MOSFET con un pullup del voltaje del procesador. Por ejemplo:

esquemático

simular este circuito : esquema creado con CircuitLab

El diodo también permite que la entrada sea negativa sin dañar el procesador o el transistor. Breves picos de +/-100 V no dañarán nada, independientemente del estado de energía del procesador. El costo es centavos, como máximo.

Parece que invierte la señal, lo cual está bien para mi aplicación, solo quiero asegurarme de que entiendo.
Sí, invierte la señal.

¿Sería posible agregar algunos circuitos para que el Atmega pueda alimentarse desde cualquier fuente de alimentación que suministre el cargador de batería? Esto es más complicado y requiere que implemente una solución de "ruta de alimentación" en la que las baterías se desconecten de la carga mientras se cargan. Pero elimina la posibilidad de que el Atmega se apague durante la carga.

Por lo general, las salidas de estado del cargador son de drenaje abierto. Si es así, simplemente levante la salida al procesador VCC. Entonces no tienes que preocuparte por eso.

Otra opción, más económica y simple que un transceptor, es un transistor dual (o dos transistores separados) con un PMOS y un NMOS. Ver croquis a continuación. Cuando la puerta M2 NMOS está alta, la señal de salida del cargador se conecta a la entrada del procesador. Cuando la puerta M2 NMOS es baja, la entrada del procesador está aislada. Asegúrese de que el nivel de la señal sea compatible. Además, si el VDD del procesador es inferior a 3 V, deberá elegir un NMOS diferente con un Vgs (th) más bajo.

Si lo desea, la puerta NMOS podría ser impulsada por un pin IO en lugar de una conexión directa a VDD. Pero el software debería asegurarse de llevar la puerta a un nivel alto antes de leer la entrada. Cuando se apaga el procesador, todas sus salidas estarán bajas, por lo que aún es seguro en esa situación.

Tal vez debería publicar un enlace al IC del cargador y decirnos qué salidas de estado está monitoreando para que podamos verificar si están abiertas o no.

esquemático

simular este circuito : esquema creado con CircuitLab

En una revisión cuidadosa de la hoja de datos (MCP73833), la salida de "Potencia buena" es de drenaje abierto, pero inútil porque no debe colocarse por encima de la entrada, que a menudo se desconectará. Así que tendré que detectar directamente el nivel de USB VBus.
Necesito apagar el LDO suministrado por batería si la batería está demasiado baja. Supongo que podría agregar un segundo LDO alimentado por USB, con un diodo aguas abajo para mantener la corriente cuando se desconecta el USB. Pero un puente de resistencia parece más simple. En realidad, no necesito que el ATMega funcione durante la carga; solo detecto el estado de carga para poder apagarlo cuando el cargador está enchufado.