¿Es seguro controlar los pines de este chip AVR mientras no tiene alimentación?
Por ejemplo, si compartiera un controlador de motor de modo que pueda ser controlado por dos microcontroladores, ¿se dañaría alguno de los microcontroladores mientras el otro no tiene alimentación, pero está viendo los voltajes de señal en sus pines del otro microcontrolador?
EDITAR: debido a que esto se marcó como duplicado, aquí hay algunas aclaraciones. La MCU especificada aquí es diferente de un fabricante diferente. Aunque no estoy seguro, su operación y límites ciertamente serían diferentes. Esta pregunta no se trataba de si 'debilitará' la MCU, sino de si es seguro hacerlo en primer lugar. El debilitamiento de la OMI significaría que es posible, pero con el tiempo degradará el rendimiento de la MCU.
Quizás le interese el video de EEVBlog sobre cómo alimentar una MCU sin conectar los pines de alimentación . Si maneja los pines de E/S en la MCU, puede terminar encendiendo la MCU a través de sus diodos de protección.
Si, después de la caída del diodo, su VCC termina por debajo o por encima del voltaje mínimo requerido para impulsar su MCU (o consume más corriente de la que pueden manejar los diodos internos), entonces no funcionará correctamente. Por supuesto, esto supone que su VCC tiene un circuito abierto y no tiene un cortocircuito a tierra (o cero voltios).
Aquí hay un diagrama del circuito equivalente para su Atmega328p:
Tenga en cuenta los diodos de tierra a VCC.
De cualquier manera, la hoja de datos no especifica explícitamente el comportamiento exacto de conducir el Atmega328p desde un pin de E/S.
Sin embargo, dice que el voltaje máximo absoluto que puede aplicar a un pin de E/S (no nRESET) es Vcc+0.5V. Como señaló mbrig en los comentarios, si enciende el chip con alimentación fantasma, es muy probable que la caída del diodo provoque que el voltaje en el pin de E/S sea mayor que Vcc+0.5V.
La hoja de datos establece que operar el ATmega328p fuera de sus clasificaciones máximas absolutas puede causar daños permanentes, por lo que recomendaría no hacerlo.
De la hoja de datos:
El voltaje máximo en cualquier pin que no sea _RESET se especifica como "Vcc + 0.5V". Si el chip no tiene alimentación, Vcc es 0, así que no, no puede aplicar con seguridad ningún voltaje superior a 0,5 V.
Si desea compartir una E/S entre dos partes, donde una de ellas puede estar sin alimentación, necesita algún tipo de interruptor.
No.
En la entrada de la mayoría de los pines de un dispositivo como el AVR ATmega328 hay diodos para proteger el chip de descargas electrostáticas (ESD). Estos diodos se conectan al riel de suministro del dispositivo.
Si conduce una señal lógica a un pin cuando el dispositivo no está encendido, intentará encenderse a través del diodo. Es posible que esto no cause daños, pero a menudo afectará el circuito de encendido y reinicio, por lo que el dispositivo no se encenderá correctamente cuando haya energía disponible. A menudo es una causa de consumo de energía inesperado en los circuitos alimentados por batería.
Debe instalar un multiplexor para seleccionar qué MCU impulsa su controlador de motor o disponer que ambas MCU reciban alimentación, pero la que no está diseñada para operar el motor mantiene sus puertos de E/S en un estado de alta impedancia (por ejemplo, como un aporte).
Inseguro tanto para AVR como para el otro MCU. El AVR intentará encenderse cuando la otra MCU lleve su pin de E/S a "alto". No es bueno para AVR: está destinado a encenderse desde su pin de suministro dedicado. De lo contrario, pueden pasar cosas malas. Dado que el fabricante dice explícitamente "no hagas esto", el fabricante no está obligado a decir qué "cosas malas" podrías encontrar. Mi experiencia es que "malo" va desde muy extraño hasta humo .
Dado que el AVR puede parecer un cortocircuito a tierra, la otra MCU (tratando de subir su pin de salida) encontraría una carga pesada. Puede fallar al tirar tan alto como debería y hacer que fluya demasiada corriente (poniéndola en riesgo).
En riesgo también está su controlador de motor, especialmente si es PWM. Sin saber si va a ser "alto" o "bajo" (en algún punto intermedio), puede sobrecalentarse.
Así que lo arriesgas todo .
De acuerdo con la especificación, V ih = V CC + 0,5 V, por lo que solo por eso es no.
Sin embargo, si V CC está realmente "abierto", la alimentación de los pines de E/S aplicará un V CC fantasma al dispositivo, por lo que en realidad no estará apagado, lo que anula el problema anterior, pero abre un nuevo lata de gusanos.
Incluso si lo anterior no fuera un problema, no hay garantía de que realmente pueda conducir un pin de E/S alto cuando el dispositivo está apagado. Es posible que la salida tenga una resistencia a tierra extremadamente baja.
Por cierto, el último problema también se aplica a los pines de entrada . Suponiendo que los chips V CC se hayan degradado a tierra, la entrada representará un diodo a un capacitor a tierra en cualquier señal que esté tratando de medir con el otro dispositivo.
Básicamente... no lo hagas.
Aunque no está en la hoja de datos, la regla general es que los diodos de protección ESD internos pueden tener 1 mA para un chip AVR de 8 bits. Los diodos permiten más corriente, pero el 1mA es el máximo recomendado.
Cuando un divisor de voltaje se hace con dos resistencias, este 1mA se puede usar para calcular el voltaje máximo permitido para el divisor de voltaje.
La Nota de aplicación de Atmel AVR182 menciona el 1mA.
Una corriente positiva en un pin fluye a VCC y podría alimentar el chip AVR y/o el circuito. Eso podría resultar en un comportamiento impredecible cuando el chip AVR está funcionando cerca de su límite de voltaje más bajo.
Con suficiente voltaje y corriente, incluso podría elevar el voltaje muy por encima de 5.5V y destruir el chip AVR. Especialmente cuando el chip AVR está en modo de suspensión. Por lo tanto, es peligroso usarlo, pero se puede hacer.
Siempre tenga cuidado al aplicar voltajes a un pin. Utilice una resistencia de protección para limitar la corriente. Eso también es más seguro para el funcionamiento normal. Eso significa que cuando dos chips AVR de 5 V están conectados entre sí, debe haber resistencias de 4k7 entre ellos para limitar la corriente a aproximadamente 1 mA cuando un chip AVR no tiene energía. Dependiendo del circuito, ese 4k7 podría influir en las señales.
Puede haber aún más consecuencias, no estoy seguro de haberlas mencionado todas.
¿Es seguro controlar los pines de este chip AVR mientras no tiene alimentación?
lo que es seguro o no es relativo.
la alimentación fantasma de un dispositivo puede ser útil -> básicamente encender a pedido. por ejemplo, puede tener una configuración en la que los esclavos tengan alimentación fantasma y normalmente estén apagados. el maestro puede enviar algunos pulsos en la línea de transmisión para despertarlo y una vez que finaliza la transmisión, el dispositivo se apaga solo.
pero como todo en la vida, conlleva sus propios riesgos que deben reconocerse y gestionarse adecuadamente.
por lo que es erróneo decir categóricamente que la alimentación fantasma es una buena o mala práctica.
Andy alias
tangrs
Sam Gibson