En este artículo hablaré de un dispositivo semiconductor muy útil para nuestros propósitos. Hasta ahora he mencionado algunas herramientas de control para Arduino en mis anteriores aportes, por ejemplo:
- Herramientas de control para Arduino: El BJT o Transistor de Unión Bipolar (NPN y PNP)
- Herramientas de control para Arduino: El relay o relevador
Estos dispositivos le permiten al usuario manipular voltajes y corrientes muy superiores a los valores nominales de Arduino (5V, 40 mA), por lo que se hacen muy útiles a la hora de hacer nuestros proyectos.
Sin embargo en el caso del Transistor BJT solo puede ser utilizado con voltajes y corrientes directas. El relevador o relay puede ser utilizado tanto en corriente alterna como en corriente directa, pero debido a sus limitaciones (estados transitorios, desgaste mecánico, retraso en la conmutación, etc) presenta varias desventajas que le impiden ser el dispositivo adecuado para ciertos diseños electrónicos.
Es aquí donde se necesita encontrar un dispositivo capaz de permitirle a Arduino manejar corrientes alternas de la misma forma como es posible para el microcontrolador conmutar voltajes en corriente directa a través del uso del BJT o los FET.
Dicho dispositivo se conoce con el nombre de TRIAC, o bien, Triodo para Alternar Corriente.
El TRIAC es un dispositivo semiconductor bidireccional que puede abrir o cerrar un circuito en donde haya un flujo de corriente variable en el tiempo. Antes en este blog hemos tratado temas en donde se habla de la corriente alterna, por ejemplo:
En dicho artículo se presentan algunas generalidades acerca de las corrientes y los voltajes variables en el tiempo. Ahora vamos a construir un circuito en el cual utilizaremos un TRIAC para encender una lámpara que opera con 120 voltios en corriente alterna.
Antes de proceder a la construcción del circuito, necesitamos conocer el «pinOut» de un TRIAC. Los TRIAC, al igual que la mayoría de los transistores, cuentan con tres patas llamadas Ánodo 1, Ánodo 2 y Gate. Cuando se aplique una tensión al Gate, habrá conducción entre A1 y A2.
Para poder interfacear Arduino con un TRIAC debemos usar un dispositivo intermedio llamado optoacoplador, fotoacoplador o fotointerruptor. Estos dispositivos consisten en un LED interno, el cual al ser encendido activan un fotoTRIAC que excita el gate del TRIAC para iniciar la conducción.
Estos optoacopladores deben ser especiales para este fin. Los modelos más utilizados son el MOC3010 y el MOC3021. Hay muchos otros modelos pero se suele tomar como referencia alguno de estos dos. El circuito interfaz para comunicar Arduino con el TRIAc es extremadamente sencillo.
En este diagrama podemos observar que el optoacoplador (MOC3020) va conectado al TRIAC. En el terminal que dice Arduino es donde se conecta el microcontrolador. Necesita protegerse con una resistencia de 330 Ohm ya que al tener el optoacoplador un LED interno es necesario proteger dicho LED.
Cuando se aplique un voltaje a la pata número 1 del optoacoplador, se cerrará el circuito y la lámpara encenderá. Esta lámpara puede ser reemplazada por cualquier otra carga que trabaje con corriente alterna. Hay que tomar en cuenta los límites del TRIAC que varían de modelo a modelo.
Para enviar el pulso de Arduino a Java utilizaremos el mismo código que hemos aplicado ya en varias ocasiones, el cual está disponible en este post:
Si deseamos utilizar un programa en Java para comunicarnos con Arduino y encender las cargas AC desde un programa en la computadora podemos utilizar el siguiente aporte:
Por último les dejo un video explicativo con un resumen de todo el material de este post.
Espero que la información proporcionada sea de mucha utilidad. Para cualquier duda o sugerencia por favor dejen sus comentarios.
hola que tal, me ayudo mucho, pero tengo una duda, estoy realizando un control de un auto transformador para aumentar voltajes y disminuir pero cuando no se le coloca una carga, el triac se queda activado a pesar de que en el moc ya no hay señal, que se puede hacer??
A qué te refieres con que el TRIAC se queda activado?
Hola buenas noches como seria el diagrama de control de potencia para este circuito
Búscate un diagrama de control con un MOC3021 y te saldrá una gran cantidad de circuitos. Casi todos se basan en lo mismo
buenas, como se calcula el valor de la resistencia que va en la pata 6
Las resistencias que vez ahí son prácticamente estándar. Siempre se usan los mismos valores
como hacer que desde arduino, no solo se prenda o se apague, sino que se pueda cambiar la intensidad de la luz.
Necesitas un circuito con un detector de cruces por cero, utilizando un 4N25 y un puente rectificador
Excelente enseñanza gracias
Me podrias pasar el codigo para encender el foco de 120 voltios con javany arduino
Está disponible en el repo de Github
En este momento estoy realizando un circuito de cruce por 0 pero necesito hacerlo con 3 pulsadores el optoacoplador y el triac pero no se como realizar el codigo sin java solo en arduino como me recomiendas hacerlo
Usa el circuito 4N25 para detectar el cruce por cero
La resistencia que va conectada a la pata 6 del optoacoplador, es recomendable que sea de 1,200 ohms, 1 watt ya que se recalienta por la corriente.
Eso no es correcto. Lo he hecho con 180 y es más que suficiente
Muy buena la info. Gracias. Yo quiero hacer un variador de velocidad trifasico 380v y manejarlo c arduino pero como dijiste necesito encontrar el 0 para asi enviar c el arduino los pulsos. Donde podria investigar mas del tema. Gracias
HOLA! que código utilizaste?
En el post dice:
Para enviar el pulso de Arduino a Java utilizaremos el mismo código que hemos aplicado ya en varias ocasiones, el cual está disponible en este post:
Comunicación Serial con Arduino: Encender luces desde el teclado de nuestra computadora
amigo que modelo de triac recomienda ?
BT134 es bueno
Hola amigo. Gracias por este contenido. Ahorita estoy haciendo un proyecto de control de intensidad de luces y me gustaría saber como poder implementarlo, porque en este video solo es el control del encendido y apagado y, quiero saber si se le implementan más componentes o es otro circuito para el control de intensidad!
Saludos!
Para ello necesitas investigar cómo construir un circuito de detección de cruce por cero, con el cual podrás utilizar cualquier algoritmo que le permita al Arduino trabajar como dimmer
Hola amigo me ah parecido muy interesante, el proyecto, le eh dado click sobre el link del programa en java pero me dice que la pagina no existe crees que podrias colgarlo de nuevo o poner el codigo en tu post.
gracias por el aporte, saludos
muy bueno y gracias