Protegiendo nuestro Arduino – protección de entradas en Arduino y más

Protegiendo nuestro Arduino – protección de entradas en Arduino y más

El hobbista de Arduino generalmente llega a querer realizar algunos proyectos simples pero de uso aplicado sin saber mucho respecto por ejemplo de la proteccion de entradas en Arduino. Cuando llega a esa etapa, es muy util aprender algunos conceptos básicos de electrónica para proteger nuestros proyectos y hacerlos más confiables y menos suceptibles a fallas que podrían costarnos algo de dinero.

En ésta página intentaremos compartir algunos trucos con explicaciones mínimas sin intención de entrar en los detalles de cómo funcionan los componentes electrónicos.

Protección de entradas en Arduino

Las entradas digitales son generalmente de 5v o 3,3v (dependiendo de nuestro modelo de Arduino). Funcionan entendiendo un valor binario digital de 0 cuando recibe menos de 2v, y de 1 cuando recibe más de 3v, mientras que entre 2v y 3v el estado es inestable pudiendo resultar en uno u otro valor. Las entradas analógicas son similares en cuanto a los límites de voltaje.

El Arduino UNO por ejemplo integra un microcontrolador Atmel ATmega328p, que trabajan a 5v, y su tolerancia a voltajes superiores es muy baja lo que podría resultar en un puerto quemado por sobrevoltaje en el mejor de los casos, siendo el peor el micro completo quemado.

Un truco muy simple y comun para proteger nuestras entradas es usar un diodo zener para limitar el voltaje a un valor específico. Los diodos zener vienen de 3,3v y de 5,1v para los dos casos más comunes que tendremos. Un diodo zener se ve más o menos asi:

diodo zener

Un detalle a observar es la raya que posee en uno de sus extremos. Ésta, es el indicativo del cátodo del diodo y es representado por una raya también en su dibujo esquemático:

diodo zener esquematico

La manera correcta de conectar un diodo zener a una entrada digital (sería igual en una analógica) para protejerla contra sobrevoltajes es la siguiente:

 

Proteccion entrada digital Arduino contra sobrevoltajes

En el caso de placas Arduino que trabajen a 3,3v solo hay que reemplazar el diodo zener por uno de 3,3v. Lo que hace el diodo zener es que cuando el voltaje supera el límite del diodo, conduce el exceso de voltaje a masa. La resistencia es más que nada para el diodo zener, para limitar la corriente que enviaremos a masa si superáramos el voltaje.

Cabe destacar que solo es necesaria esta protección cuando es posible que el voltaje recibido en nuestras entradas supere el máximo permitido. Otro detalle es que no debe usarse este truco para reducir el voltaje digamos de 12v a 5v. El diodo zener acá es una protección. Si desea convertir el voltaje recomendamos el uso de un transistor en su lugar.

Corriente máxima en salidas

Una pregunta típica que he leido en muchos lugares es sobre cuanta corriente puede entregar una salida de nuestro Arduino. Las salidas tanto digitales como analógicas en nuestro Arduino no fueron diseñadas para alimentar y por lo tanto solo pueden entregar una limitada cantidad de corriente. Se recomienda no alimentar ningún componente directamente desde las salidas de la placa.

Habiendo dicho lo anterior, la corriente máxima que una salida puede entregar es de unos 40mA, y por ello es siempre recomendable utilizar una resistencia cuando se alimente directamente desde las mismas. La resistencia mínima que deberíamos utilizar para proteger nuestras salidas de exceso de corriente drenada es de 125 ohms (según ley de ohm que no veremos acá). Como ese es el límite, digamos que recomiendo una resistencia mínima de 150 o 220 ohms. En lo personal comienzo con 1k y si es suficiente mejor aun.

Ejemplo conectando un led a la salida digital D7:

Proteccion corriente excesiva salidas Arduino

Algunos relays, motores o parlantes pueden producir picos de voltaje debido al efecto de inductancia de sus bobinas. Para proteger nuestras salidas de dichos casos bastará con colocar un diodo invertido entre las conexiones de la bobina como indica el diagrama:

Proteccion picos tension bobina salidas Arduino

Quiero aclarar que muchos relays, motores y parlantes drenan más de 40mA y NO deberíamos conectarlos directamente a nuestro Arduino. Siempre recuerden revisar las especificaciones técnicas de los componentes y módulos que integrará a su Arduino.

 

Deja un comentario