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.
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:
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.
¿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.
simular este circuito : esquema creado con CircuitLab
Ignacio Vázquez-Abrams
ChrisPhoenix