¿Qué sucede con el pin 12 digital de Arduino cuando la alimentación está apagada?

2

Estoy utilizando la placa Arudino Uno como generador de impulsos / disparos de retardo para conducir un láser. Leí la secuencia del tren de pulsos de entrada desde un punto de prueba en el dispositivo externo usando el pin 12 configurado como ENTRADA. El Arduino y el dispositivo externo comparten el mismo terreno.

Ahora, cuando está encendido, todo funciona bien. Pero cuando apago la placa Arduino, parece que el pin 12 comienza a distorsionar la señal en el punto de prueba del dispositivo externo que destruye el funcionamiento normal del dispositivo. Esto solo sucede cuando el Arduino está conectado a tierra. Cuando enciendo el Arduino o desconecto su conexión a tierra de la tierra común, el dispositivo externo funciona bien otra vez. Como resultado, no puedo tener el Arduino conectado al dispositivo cuando está apagado.

Si compruebo la resistencia entre el pin 12 y el suelo, es infinito cuando la alimentación está ENCENDIDA y alrededor de 16 MOh cuando está APAGADA.

¿Alguien tiene una explicación / cura para eso?

    
pregunta Andrey Dyachenko

2 respuestas

3

Los chips CMOS digitales, incluidos los microcontroladores como el de su Arduino, son sensibles a la ESD (descarga electrostática), por lo que, como medida de protección, cada pin tiene un par de diodos que sujetan su rango de voltaje a los rieles de suministro.

Cuando el chip está encendido, estos diodos no conducen a menos que el voltaje en el pin intente ir por debajo de la tierra o por encima de Vcc en más de la caída de voltaje directa de los diodos. Pero cuando se elimina la energía del chip, tanto Vcc como Gnd están efectivamente a un potencial de tierra, y la tensión de entrada se fija a un rango de aproximadamente ± 0.65 V.

La forma más sencilla de evitar que esto afecte a la fuente de señal es colocar una resistencia en serie entre la fuente y el pin, lo que limitará la cantidad de corriente que puede fluir a través de los diodos de protección cuando conducen. Escoger el valor para esta resistencia depende un poco de su aplicación. Los valores típicos estarían en el rango de 10 kΩ a 100 kΩ. Los valores más grandes permiten que fluya menos corriente, pero también pueden interactuar con la capacitancia de entrada del pin para crear un filtro de paso bajo que ralentiza los bordes de la señal. Los valores más pequeños minimizan este efecto, pero aumentan la carga en la fuente de la señal.

Si no puede encontrar un valor que funcione aceptablemente bien en su aplicación, es posible que deba agregar un búfer activo a la ruta de la señal, ya sea un transistor o uno de esos circuitos integrados de "puerta única".

    
respondido por el Dave Tweed
-1

El estado de apagado de los puertos GPIO generalmente no está definido. Simplemente no apague el Arduino.

    
respondido por el Dzarda

Lea otras preguntas en las etiquetas