Salidas y entradas aisladas con Arduino y optoacoplador


A lo largo del blog ya hemos visto formas de adquirir información a través de las entradas digitales, analógicas y sensores, y a actuar sobre ellas con las salidas digitales y analógicas PWM. También hemos aprendido a comunicarnos con otros dispositivos, por ejemplo, a través de puerto serie, I2C, SPI, Bluetooth, entre otras.

También hemos visto cómo actuar dispositivos de otro nivel de potencia, por ejemplo, realizando acciones mediante un transistor BJT, MOSFET, o una salida por relé. También sabemos leer en estos circuitos mediante el uso de divisores de tensión, transformadores de tensión o de corriente.

A medida que nuestros proyectos creen y, especialmente, a medida que interactuamos con sistemas de un nivel de potencia superior, como por ejemplo una tira LED de 24V, un controlador de motores de 15V, o incluso la red eléctrica a 230V, necesitaremos una forma de aislar y proteger la electrónica de la capa de control.

De lo contrario cualquier error de conexión o malfuncionamiento de un componente, e incluso el ruido de las señales o los picos temporales por ejemplo de arranques de motor, podría freír nuestra electrónica.

Puede que destruir un Arduino de 1.60€ no sea una gran pérdida, pero imaginar que está conectado por USB a vuestro portátil y también lo freímos. O imaginar qué, a consecuencia de un pico de intensidad, la electrónica de control se funde e impide que actué una protección, provoca que un actuador se desplace incontroladamente dañando todo a su paso, o hace que un vehículo sufra un accidente.

Incluso existe un peligro real para la seguridad de las personas, tanto por la transmisión de corriente de alta potencia, como por acción u omisión de un sistema al dañarse la electrónica que lo controla.

Industrialmente la necesidad de aislar dos circuitos manteniendo una comunicación entre ellos existe desde hace tiempo, tanto para la seguridad del equipamiento como el de las propias personas.

Otro uso habitual que requiere aislamiento es la transmisión de datos. Las líneas de comunicación pueden acumular picos, ruidos o interferencias, que es necesario aislar para evitar que puedan dañar a los sistemas emisores y receptores.

Existen varias formas de conseguir este aislamiento entre circuitos, siendo una de las más habituales el uso de un optoacoplador, dispositivos ampliamente empleados en electrónica y a los que hoy vamos a dedicar esta entrada.

¿Qué es un Optoacoplador?

Un optoacoplador es un dispositivo que emplea luz para conectar dos circuitos eléctricos manteniendo un aislamiento galvánico entre ellos, es decir, la carga eléctrica no tiene un camino pasar entre ambos circuitos.

La única comunicación entre ambos circuitos se realiza a través de la luz, sin existir contacto eléctrico. Frecuentemente se incorpora una barrera dieléctrica entre emisor y receptor para aumentar el aislamiento al orden de kV.

Al disponer de aislamiento galvánico protegemos la electrónica de control de cualquier tipo de ruido, sobrevoltaje, pico, armónico, corriente inducida, etc… que podría dañarla. En caso de fallo catastrófico, el optoacoplador podría llegar a ser destruido, pero únicamente tendríamos que reemplazarlo y es un componente barato.

Los optoacopladores normalmente se proporcionan en integrados de tipo DIP y SMD, de 4 a 16 pines. Existen diferentes tipos de optoacopladores, y cada uno requiere un número de pines diferentes. Además, existen integrados con uno o varios optoacopladores en su interior (single, doble y quad). La combinación de esto determina el número de pines del integrado.

Existen muchas variaciones del optoacoplador standard. Existen optoacopladores en los que un único emisor activa varios receptores. Algunos optoacopladores están diseñados para que la salida sea lineal a la entrada, por lo que pueden transmitir señales sin apenas distorsión. Otros incorporan funciones de amplificación u offset de la señal. También existen optoacopladores bidireccionales, formados por dos LED. En fin, es todo un mundo.

Como veis, puede existir mucha diferencia de un optoacoplador a otro. Por tanto, revisar el Datasheet de vuestro componente antes de realizar cualquier montaje

¿Cómo funciona un optoacoplador?

Los optoacopladores incorporan un emisor y un receptor en un único integrado compacto. En la mayoría de los casos el emisor es un diodo GaAs IR LED, mientras que el fotoreceptor puede ser un fototransitor, un fotodiodo + transistor, un fototriac, entre otros.

Las características del optoacoplador dependen del tipo de receptor empleado, y del modelo particular de optoacoplador. Algunas de las principales características que intervienen para elegir un optoacoplador son:

  • Tensión y corrientes nominales tanto del circuito primario como secundario
  • CTR (Current transfer ratio), relación entre la energía proporcionada por el receptor en el primario y la energía absorbida por el emisor en el primario.
  • Velocidad de conmutación (ancho de banda), siendo frecuentes tiempos de conmutación de 1 a 20μs
ReceptorVelocidadCTR
FotodiodoMuy rápidoBajo
FototransistorMedioMedio
FotodarlingtonMedioAlto
Fotodiodo + transistorRápidoMedio
Fotodiodo + darlingtonRápidoAlto
FototiristorLentoAlto
FototriacLentoMuy alto

Optoacopladores con Arduino

Existen multitud de optoacopladores que podemos emplear con Arduino. En general son dispositivos baratos. Podemos encontrarlos por un coste, según modelos, de 0.05€ a 0.30€, buscando en vendedores internacionales de eBay o AliExpress.

Algunos modelos habituales son los modelos 817c (PC817, EL817…), optoacopladores con receptor de fototransistor, por un coste de unos 0.05€.

También son frecuente la serie 4N2X (4N25, 4N26) y 4N3X (4N35, 4N38), todos ellos con receptor de fototransistor y coste de entre 0.10€ a 0.20€.

Dentro de los optoacopladores de fotodiodo + transistor (alta velocidad) tenemos los 6N13X (6N135 y 6N137), con un coste de unos 0.30€.

Finalmente, el MOC3063 y similares, son optoacopladores con recetor fotrotriac, con un coste de unos 0.20€.

¿Cómo usar un optoacoplador con Arduino?

En esta entrada nos centraremos en los optoacopladores con fototransistor (normal, o Darlington) y fotodiodo + transistor. En este tipo de optoacopladores el secundario se comporta de forma similar a un interruptor, controlado por el circuito primario.

Arduino emisor de señal optoacoplada

So queremos transmitir una señal optoacoplada, es decir, que Arduino forme parte del circuito primario, la conexión es sencilla. Por un lado, alimentamos el circuito primario que alimentar el circuito primario, que no deja de ser un simple LED. Por lo tanto únicamente tenemos que poner una resistencia en serie para limitar la corriente, como vimos en la entrada Encender un LED con Arduino.

El valor de la resistencia variará en función de la corriente nominal (forward current) del diodo del optoacoplador, de su caída de tensión y de la tensión de alimentación, pero es razonable un rango de 220-500 Ohm.

El secundario se comporta como un interruptor. Si únicamente queremos accionar una carga, simplemente contemos una de las fases para que el optoacoplador controle la carga.

Si queremos una salida digital (LOW o HIGH), deberemos usar una resistencia de Pull-Up o Pull-Down, respectivamente.

En algunos montajes veréis que se añade un diodo de protección al optoacoplador. Este diodo es opcional, y solo tiene sentido si existe la posibilidad de alentar el circuito primario con una corriente inversa superior a la tensión de ruptura del diodo.

Si estáis alimentando desde Aduino y, dado que la tensión de ruptura tensión en muchos optoacopladores es de 6V, en general, no será necesario este diodo porque el optoacoplador está protegido incluso aunque accidentalmente pongamos los cables al revés.

Arduino receptor de señal optoacoplada

Si lo que queremos es que Arduino reciba una señal optoacoplada emitida desde otro dispositivo, simplemente tenemos que realizar la lectura del secundario como si fuera un pulsador, tal y como vimos en la entrada Leer un pulsador con Arduino.

Si empleamos las resistencias de Pull-Up internas de Arduino, no necesitaremos añadir ningún componente adicional.


Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección
tutoriales de Arduino

Previous Medir tensiones de 220V-230V con Arduino y transformador
Next Detector de cruce por cero con Arduino y optoacoplador H11AA1

¡Deja un comentario!...

avatar
1000
wpDiscuz