¡Construyamos un PLC de grado industrial basado en Arduino! 2da parte

Un controlador lógico programable (PLC por sus siglas en inglés) es dispositivo electrónico inteligente que se utiliza mucho en la automatización de procesos industriales. En esta oportunidad vamos a platicar al diseño al que llegué.

Marcas y modelos comerciales de PLCs se cuentan por decenas, pero todos tienen dos desventajas:

  • Son caros.
  • Su programación también es muy cara.

Es cierto que son robustos y están muy bien diseñados, pero a los costos de producción también hay que agregar los gastos de mantenimiento de grandes corporaciones. Por otro lado, en muchos casos el software de programación debe ser adquirido aparte, y por si eso no fuera poco, el cable de programación puede ser tan costoso como el PLC mismo.

Y qué decir del costo de programación. Los PLCs se pueden programar hasta en 5 lenguajes, siendo todos ellos especializados, y el conocido como «lenguaje de escalera (ladder)» el más común. Aunque la programación de PLCs es relativamente fácil, los programadores cobran mucho ya que es un mercado pequeño (a comparación del de programación de aplicaciones para computadora o teléfonos inteligentes). Ahora tome en cuenta que además de pagar los (altos) honorarios del programador, también en algunas ocasiones, deberá cubrir gastos de transporte y viáticos, porque al ser pocos, tendría Ud mucha suerte de encontrar uno en (o cerca de) su comunidad.

¿Qué oportunidades tienen los micro y pequeños empresarios que no pueden cubrir los altos costos que implica utilizar PLCs comerciales por las razones antes mencionadas?

¿Existirá una opción económica, de código abierto, que no dependa de los caprichos de una empresa ni de un puñado de programadores altamente especializados?


¿Porqué desarrollar un PLC de grado industrial en Arduino?

Porque podemos, porque es divertido, porque es una alternativa real a los productos comerciales, porque es más económico, y porque se puede programar en el lenguaje C/C++ con software de código abierto, como el de Arduino. Además, el número de programadores en esta plataforma se cuenta por miles.

Hay una cantidad de aplicaciones que no justifican los costos de un PLC comercial (y otra cantidad de aplicaciones que sí lo hacen). A continuación le presento una lista demostrativa, más no limitativa, de aplicaciones donde PLCs comerciales quedan sobrados:

  • Arrancadores e inversores de giro de motores eléctricos.
  • Refrigeradores industriales.
  • Lavadoras industriales.
  • Sistemas de riego agrícola.
  • Pequeños invernaderos.
  • Puertas de garage.
  • Plumas de estacionamientos.
  • Semáforos viales.
  • Taladros.
  • Iluminación residencial.
  • Mezcladoras.
  • Sistemas Cisterna-Tinaco.
  • Y un enorme et cétera.

El hardware de un PLC comercial, del tipo brick (de módulo único, o de los llamados micro-PLCs), no está alejado del hardware que diseñamos en nuestro trabajo cotidiano. Si Ud tuviera oportunidad de ver uno por dentro encontraría muchas similitudes con el hardware que diseñamos en el día a día.

¡Pongamos manos a la obra y empecemos con nuestro controlador industrial!

Diseño

Un controlador industrial consiste de 5 partes, principalmente:

  1. Entradas.
  2. Salidas.
  3. Cerebro.
  4. Fuente de alimentación
  5. Sistema operativo.

Entradas

Nuestro controlador tiene 6 entradas digitales ópticamente aisladas, con alimentación independiente, y 2 entradas analógicas. En ambos casos podemos jugar con los valores de algunos componentes para que un mismo circuito impreso nos sirva para

  • Entradas digitales de 5VDC, o 12 VDC, o 24VDC.
  • Entradas analógicas de 5VDC o 10VDC.

El optoacoplador PC817 requiere de una corriente mínima de 1.5 mA para funcionar en su zona segura. Eso nos permite calcular las resistencias en serie de manera que cambiando su valor podamos conseguir que funcione para uno u otro voltaje de entrada. Con el valor de 2K2 las entradas funcionan perfectamente para 5VDC y 12VDC. Para 24VDC su valor debería ser doblado a 3K9 o 4K7. El diodo zener es de 5V1 y está ahí para no estresar al foto-diodo.

A diferencia de otros diseños, los LEDs testigos los coloqué del lado de 5VDC. Con esto logramos que no se le exija más corriente de la necesaria a los sensores digitales y aumentamos su vida útil. El capacitor de 10nF funciona como un minifiltro y evitamos escribir rutinas anti-ruido por software.

Las entradas analógicas no están aisladas. Utilicé un divisor de tensión para reducir los 10VDC de los sensores analógicos comerciales a los 5VDC máximos que maneja el microcontrolador. Si el sensor entrega 5VDC, entonces podemos colocar una resistencia pequeña, de unos 33R (en R4 o R5), y dejamos el otro lado del divisor sin resistencia (abierto). Así mismo, en esta misma configuración, podríamos hacer que las entradas sirvan para un lazo de corriente de 4-20mA calculando solamente el valor adecuado para R4 o R5 (o ambos).

¡Ser dueños del diseño nos da un mundo de posibilidades!

¿Porqué entonces algunos fabricantes han conectado las entradas a través de resistencias en lugar de opto-acopladores? Existe una razón muy importante para hacerlo así. Si Ud lo sabe, póngalo en los comentarios; si no lo sabe y quiere saberlo, escriba su duda en los comentarios y cuando el número de éstos llegue a 25 dentro de los próximos 10 años, entonces les daré la respuesta =)

(Esta promoción termina en julio de 2030.)

Salidas

Nuestro controlador tiene 4 salidas a relevador y 2 salidas a transistor. Las salidas a relevador están galvánicamente aisladas y sirven para controlar directamente cargas de hasta 10A, tanto en corriente directa como alterna. Las salidas a transistor, que no están aisladas, se utilizan para controlar cargas ligeras (como contactores o LEDs), o cargas que requieran tiempos de conmutación muy rápidos, tal como PWM (modulación por ancho de pulso), o para llevar a cabo control de temperatura a través de un relevador de estado sólido (SSR).

La tensión de bobina de los relevadores puede ser de 5VDC, 12VDC, o 24VDC. Agregué un puente para que la tensión que llega a las bobinas sea la misma de la alimentación de la tarjeta (12VDC o 24VDC), o se tome de la salida de 5VDC del regulador 7805. Con esto último, y una correcta selección de las resistencias para las entradas digitales, ¡logramos un controlador que funcione a 12VDC o 24VDC!

La potencia para las bobinas de los relevadores, así como las salidas a transistor, se toman de un ULN2003. Los LEDs testigos de las salidas están conectados a la entrada de este circuito integrado, y no a su salida. Poner los LEDs del lado de los relevadores los estresaría mucho, tanto por la tensión de alimentación (por arriba de 5VDC) como por la tensión inversa creada al quitar la alimentación de las bobinas (aunque utilicemos el diodo free wheeling).

Además, los relevadores, cuya tensión y corriente nominales son 127VAC y 10A, deben estar aislados de la baja tensión y sus pistas deben muy anchas, y en la medida de lo posible, exponiendo el estaño. Es por eso que cada salida a relevador de nuestro controlador incluye una ranura de seguridad y tiene pistas gruesas y con el estaño expuesto:

Para terminar esta sección quiero comentar que Ud encontrará diseños en Internet que tienen opto-acopladores entre la salida del ULN2003 y los relevadores. Es mi obligación aclarar que si no utiliza una fuente separada para las salidas, entronces tanto aislamiento no sirve para nada. El doble aislamiento sirve como mercadotecnia, a menos que incluya una fuente de alimentación separada.

La única forma para que los opto-acopladores a la salida sirvan a su propósito es que las terminales comunes (COMx) sean diferentes. Cuando todas las salidas del controlador son a transistor, entonces el opto-acoplador es obligatorio; no así cuando se trata de relevadores.

Cerebro

Aquí no hay mucho que adivinar. El cerebro de nuestro controlador es el microcontrolador de 8 bits ATmega328 de Atmel (adquirida por Microchip). Tiene 32KB de memoria de programa y 2 KB de memoria para variables. Para un controlador de 8 entradas y 8 salidas programado en C/C++, ¡32KB es muchísima memoria de programa!

Este procesador es el mismo utilizado en las tarjetas Arduino UNO, se consigue con mucha facilidad, y su precio es decente. A mi parecer es el microcontrolador con más soporte en todo el mundo gracias a la plataforma Arduino.

Tarjeta minimalista (sistema mínimo) tipo Arduino UNO. Se utiliza para instalaciones definitivas ya que el usuario puede usar los conectores que mejor se adapten a su proyecto.

8 bits parecen poco para un controlador industrial, ¿cierto? FALSO. El procesador del PLC Zelio, cuya foto le mostré hace un momento, es el ATmega128, de la misma familia (mismo núcleo) que el ATmega328, pero con más memoria y más terminales. Así que por el momento no se preocupe por utilizar 8 bits.

Sin embargo, si sus procesos requiriesen una gran cantidad de cálculos numéricos, o necesita una velocidad de procesamiento más alta, entonces lo mejor sería migrar a un procesador de 32 bits con núcleo ARM Cortex, como el LPC1227, pero para los procesos industriales mencionados hace un momento, el ATmega328 es más que suficiente.

Fuente de alimentación

Finalmente llegamos al cuarto elemento de nuestro controlador, la fuente de alimentación.

Para diseñarla tuve dos opciones: una fuente lineal, o una fuente conmutada. La segunda es más eficiente, pero más complicada. La idea de nuestro controlador es que podamos construirlo con componentes thru-hole y que además sean de fácil consecución. Las fuentes conmutadas requieren de inductancias que no son fáciles de conseguir si no es a través de distribuidores internacionales como mouser.com. Yo compro seguido con ellos, y lo más probable es que ustedes no lo hagan. Esta fue la principal razón por la cual me decidí por una fuente lineal basada en el circuito integrado 7805.

La protección contra inversiones de polaridad en la alimentación es más complicado que un simple diodo. Éste nos daría muchos problemas si decidimos que los relevadores sean de 5VDC alimentados por el 7805.

Y hablando del 7805, en específico de la disipación de calor, Ud notará que no existe un disipador de calor. Más o menos. Cuando el 7805 sólo se dedica a alimentar la parte del cerebro y los relevadores son alimentados por la tensión de entrada (12VDC o 24 VDC), entonces el disipador no es necesario. Sin embargo, si los relevadores son alimentados por el 7805, ¡sí que necesitaremos un disipador!

Entre el cuerpo del 7805 y el borde de la tarjeta dejé una distancia de 2mm lo cual nos permitirá colocar una lámina de aluminio de ese grosor en caso de que el chip se sobre-caliente (cosa que sí sucederá en el escenario descrito).

Reloj de tiempo real

Existe un quinto elemento del cual vale la pena hablar debido al grado de flexibilidad que introduce en el diseño: el reloj de tiempo real (RTC por sus siglas en inglés).

Un RTC es un dispositivo que maneja y mantiene la hora/calendario. Los más simples sólo llevan la hora, por ejemplo el MCP7940, la cual se pierde si se le quita la alimentación; mientras que otros más sofisticados, como el MCP79410, incluyen soporte para batería de respaldo (más otras monerías: RAM, EEPROM, alarmas, pin multi función), con lo cual la hora/calendario se mantiene aún con cortes largos de la alimentación.

Nuestro controlador incluye un RTC: el que nosotros deseemos instalarle. Así es, afortunadamente el tamaño del chip y la distribución de terminales es estándar entre fabricantes y grado de sofisticación, por lo que podemos soldar un MCP7940, o un MCP79410, o un M41T11. Todos estos RTCs se comunican vía el protocolo serial IIC (ó I2C, ó Wire, como también se le conoce).

En la imagen anterior podemos observar varias cosas acerca del RTC:

  • Utilicé al MCP79410 porque tiene soporte de batería, unos cuantos bytes de RAM, y dos alarmas.
  • Usa un cristal de 32768 Hz. Aquí se puede notar una cama de estaño que conecta el encapsulado metálico con el plano de tierra de la tarjeta.
  • Los capacitores C5 y C6 no están instalados porque al momento de construir el prototipo no los tenía a la mano (15/julio/2020, en México estamos en medio de la pandemia del Covid-19 y no podemos salir de nuestras casas, así que no puedo ir a comprarlos), pero por fortuna, el reloj funciona y permite realizar su programación.
  • El puente MFP-DIR conecta una terminal del ATmega328 hacia la salida MFP (Multi-function pin) del RTC o hacia la salida RS485-DIR. Dado que ya no tenía pines disponibles en el chip principal, tuve que agregar el puente y que el usuario decidiera si quiere las alarmas del RTC o utilizar el canal de comunicación RS485.

Ventajas del RTC

En cualquier caso no sólo se trata de controlar la hora/calendario, sino tomar ventaja de ello. Con el RTC podremos programar eventos diarios o semanales basados en la hora del día, o el día de la semana. ¡Con un RTC se nos abre otro mundo de posibilidades!

¿No podríamos llevar la hora/calendario por software y ahorrarnos el RTC? Llevar la hora del día por software es muy fácil; llevar el calendario es una pesadilla.

Controlador industrial UB-PLR328A

Pues la hora de la verdad ha llegado y les presento a nuestro controlador industrial, casi terminado de ensamblar:

Controlador industrial UB-PLR328A.

Sus dimensiones son de 10x10cm, doble cara, componentes trhu-hole en su mayoría.

Si Ud quiere ver el proceso en el tiempo del desarrollo de este proyecto, lo invito a ver algunos videos que creé con ese propósito:

¿Qué sigue?

Me gustaría hablarles del sistema operativo del PLC (desde el punto de vista de Ingeniería de Software), de su programación (desde el punto de vista de programación de PLCs), y de la versión Open source de una variante de este diseño para que ustedes manden fabricar sus propios circuitos impresos. Pero cada uno de estos sub-temas requieren su propia entrada del blog (y eventualmente, un video). Si les interesa que escriba o haga videos sobre esos temas, háganmelo saber en los comentarios. ¡Ah! y no olviden suscribirse a este blog.


Si encuentras este blog interesante, entonces podrías considerar suscribirte a él y recibir información relevante sobre tecnología y sistemas embebidos, y de vez en cuando, uno que otro regalo.

¡Construyamos un PLC de grado industrial basado en Arduino!

¿En serio, un PLC basado en Arduino? ¿Te volviste loco?
¿Debemos ser mentalmente inestables para considerar la idea de utilizar la plataforma Arduino para realizar un PLC de grado industrial? ¿Es imposible? ¿Alguien nos lo prohíbe?
¡Podemos hacerlo mejor que los chinos!

Hola, soy Fco. Javier (fjrg76), Ingeniero en Electrónica con 20+ años de experiencia en electrónica y sistemas embebidos, y en esta serie de artículos vamos a descubrir si podemos realizar un PLC basado en el chip ATmega328. Nuestro producto final será un PLC diseñado y ensamblado por nosotros que programaremos en C/C++, en sketches o en la línea de comandos.

¿Qué tenemos que hacer?

  • Lo primero es analizar a los PLCs comunes y corrientes, tener claro qué son y cómo están fabricados. Esto lo veremos en este artículo.
  • En un próximo artículo estableceremos las características de nuestro PLC.

Antes de responder a todas las preguntas que planteamos hace un momento veamos (o recordemos) brevemente lo que es un PLC (Programable Logic Controller, Controlador Lógico Programable).

¿Qué es un PLC?

Un PLC es una computadora de propósito específico utilizada para la automatización industrial que debe soportar los ambientes extremos de las industrias.

Un PLC es una computadora de propósito específico

Si es una computadora de propósito específico, entonces en un sistema embebido, como los que nos gustan hacer. Esto es, un PLC no es una computadora de propósito general, como las computadoras a las que estamos acostumbrados. Muchos PLCs ni siquiera tienen una pantalla.

Micro PLC.

Ambientes y condiciones extremos

Un PLC debe soportar condiciones de temperatura y humedad extremas que se generan en las industrias. Así mismo, debe soportar las variaciones de tensión y ruido electromagnético producido por motores eléctricos (recuerda que los motores eléctricos mueven al mundo).

Compactos y expandibles

Es muy deseable que los PLCs sean compactos, consuman poca energía y se puedan expandir. Esto último significa que deben incrementar su funcionalidad (más entradas, más salidas) de la manera más simple y barata posible. Esto se consigue con módulos esclavo conectados al módulo central a través de protocolos seriales: RS-232, RS-485, Ethernet, así como con protocolos propietarios.

Fáciles de programar

Existen diferentes lenguajes de programación para los PLCs, siendo el lenguaje de escalera (ladder diagram) el más común entre los programadores. Cada fabricante tiene su propio software de programación.

La programación de nuestro PLC será en C/C++, desde un sketch o desde la línea de comandos (mi preferida).

¿De qué está hecho un PLC?

Cerebro

El cerebro de un micro PLC moderno es un microcontrolador. El tamaño de éste dependerá del conjunto de funcionalidades que tenga el PLC. Algunos de estos microcontroladores son comerciales (de fabricantes como Atmel (hoy Microchip), ST, NXP, Hitachi), mientras que otros son propietarios. Sus rangos de velocidades van de los 72 MHz hasta los 180 MHz.

Microcontrolador de 32 bits LPC1227 Cortex-M0 de grado industrial. Foto tomada de una tarjeta de desarrollo que yo diseñé.

Algunos PLCs son simples y sólo se encargan de leer las entradas, procesar el programa, escribir a las salidas, y realizar comunicaciones seriales básicas; mientras que otros son mucho más complejos: en un mismo chip integran controladores de pantallas LCD, Ethernet, CAN, convertidores digitales-analógicos (DACs), el reloj RTC, memoria externa FLASH/RAM, etc.

Desde hace un poco más de una decada la empresa ARM introdujo al mercado (de la mano de muchos fabricantes) procesadores RISC de 32 bits muy económicos. Esta línea de chips es conocida como Cortex-Mx (donde la x puede ser 0, 0+, 3, 4, …). Los PLCs chinos utilizan como base al procesador STM32F1xx por las razones mencionadas y por la alta integración de periféricos en un mismo chip. (Como dato interesante, un procesador Cortex-M0 puede costar menos de la mitad que un ATmega328.)

Es conveniente saber que algunos PLCs que requieren velocidades de ejecución extremadamente rápidas optan por usar FPGAs, que son una especie de dispositivos cuya programación es sobre compuertas lógicas y bloques lógicos pre-construídos sobre las compuertas lógicas.

Entradas

Las entradas de un PLC son de dos tipos: digitales y analógicas. Y no podemos conectar un dispositivo directamente a las entradas ya que en el ambiente industrial tales dispositivos suelen funcionar con 24V de corriente directa, o con tensiones alternas de 120/240 V, mientras que la tensión máxima que soporta un microcontrolador es de máximo 5V (ya sea que éste trabaje a 5V o 3.3V).

Si a una terminal del microcontrolador se le aplica una tensión por arriba de la máxima soportada, en el mejor de los casos ese pin quedará inservible; en el peor, el chip completo estará frito.

La etapa de entrada que baja la tensión (de digamos 24V) a 5V o 3.3V también proteje las terminales en casos de cortos-circuitos, inversiones de polaridad, o de picos de tensión. Usualmente están construídas en base a optoacopladores, aunque existen modelos de PLCs que en lugar de éstos tienen nada más un divisor resistivo a la entrada. PLCs más sofisticados utilizan transformadores que aislan galvánicamente las terminales del chip de los dispositivos externos.

¿Tiene alguna ventaja la entrada basada en resistencias?

Sí. La misma entrada puede ser utilizada de manera digital o analógica. Es por eso que PLCs similares al mostrado incluyen muchas entradas analógicas (compartidas con las digitales), ya que es relativamente fácil configurarlas como digitales o analógicas.

Un segundo tipo de entrada digital es para tensión alterna, la cual puede ir desde 24 VAC hasta 240 VAC.

En cuanto a las entradas analógicas se presenta el mismo problema que las entradas digitales, sólo que en este caso no se pueden utilizar optoacopladores como interfaz. Aquí existen varias opciones:

  1. Conectar el dispositivo analógico externo (que normalmente opera en el rango 0-10V) al microcontrolador a través de un divisor de tensión que reduzca el rango a 0-5V ó 0-3.3V.
  2. Utilizar un convertidor analógico-digital (ADC) externo que soporte tensiones mayores y que transmita el resultado al microcontrolador en forma serial o paralela.

Salidas

Así como las entradas sólo pueden trabajar con baja tensión, las salidas tienen, además, restricciones de potencia, esto es, solamente pueden entregar una cantidad muy limitada de corriente, en el mejor de los casos, 20 mA, siendo el caso general del órden de los 3 – 5 mA, apenas lo suficiente para activar un LED. Pero los PLCs deben manejar cargas de muchas órdenes de magnitud superior a eso, tanto en tensión como en corriente.

Por eso a la salida de los PLCs encontramos, generalmente, relés o transistores, actuando ambos como «amplificadores» (en el sentido más amplio del término) de corriente. La salida a relé provee un aislamiento galvánico entre la terminal del microcontrolador y la carga. La salida a transistor provee potencia, pero no aislamiento, a menos que se incluya una pre-etapa basada en optoacopladores.

Los fabricantes de PLCs incluyen, en la misma línea de producto, versiones a relé y versiones a transistor. Algunos también agregan al catálogo salidas a TRIAC o SCR.

Tenía una duda personal sobre cuál salida es la mejor. La respuesta a la que llegué es: ambas y ninguna. Es decir, cada tipo de salida obedece a diferentes tipos de aplicaciones, y el diseñador del sistema debe escoger la más adecuada. Veamos brevemente las ventajas y desventajas de cada una.

Salida a relé

Ventajas:

  • Provee aislamiento galvánico.
  • Puede manejar tensiones directas y alternas.
  • Pueden manejar tensiones y corrientes muy altas.

Desventajas:

  • Se desgastan con el tiempo. Entre más se usen, más se gastan.
  • El cierre de los contactos puede producir interferencia EMI (Electro-Magnetic-Interference) que podría afectar no sólo a equipo cercano, sino al mismo PLC.
  • Son lentos. No se pueden usar en dispositivos de alta velocidad, o de control por PWM (Pulse-Width Modulation).

Salida a transistor

Ventajas:

  • Son muy rápidos, con pulsos en el orden de los KHz. Se pueden usar para dispositivos de alta velocidad, o de control por PWM, por ejemplo para controlar un SSRs (Solid-State Relay) o un motores servo (o servo-motores).
  • Si se utilizan dentro de sus parámetros seguros de tensión y corriente su duración es de muchos años antes de que fallen.
  • Es más fácil controlar la EMI.
  • Son ligeros y compactos.

Desventajas:

  • Por sí mismas no proveen aislamiento galvánico entre las terminales del microcontrolador y el mundo externo por lo que se debe agregar una etapa optoacoplada entre el procesados y los transistores.
  • La tensión y corriente que soportan son mucho menores que la de un relé.
  • Funcionan sólo para tensión directa. Si se quiere controlar cargas de corriente alterna, entonces se tiene que utilizar un SSR. Como mencioné, algunos modelos de PLC cuentan con salida a TRIAC o SCR, siendo estos el componente principal de los SSRs.

Fuente de alimentación

Por último, pero no menos importante, está la fuente de alimentación que provee de energía tanto al PLC como a los sensores/actuadores conectados a él.

Los PLCs llamados compactos casi siempre incluyen la fuente de alimentación dentro de su propio gabinete y convierten ya sean 120VAC/220VAC o 24VDC a la tensión del procesador, que como ya dije, puede ser de 3.3V o 5V. Regularmente la fuente de alimentación es del tipo SMPS (Switch-Mode Power Supply) por su alta eficiencia en la conversión.

Cuando las entradas del PLC son para tensión alterna, entonces se alimenta al mismo directamente con la tensión de línea, ya sea de 120VAC o 220VAC. Cuando las entradas del PLC son de 24VDC, entonces se le alimenta con una tensión de 24VDC proveniente de una fuente externa.

Últimamente es común encontrarse con PLCs que trabajan a 12VDC, y algunos que trabajan a 5VDC. Sin embargo, 24VDC es un estándar de la industria.

Entonces, ¿podemos construir un PLC basado en la plataforma Arduino, sí o no?

La respuesta es un rotundo SÍ acompañado de un rotundo SIEMPRE Y CUANDO LO DISEÑEMOS BIEN.

Más arriba mencioné que algunos PLCs conocidos utilizan microcontroladores comerciales (de esos que podemos comprar en una tienda de electrónica o pedir a mouser.com o digi-key.com, aunque algunos podrían estar descontinuados). Vamos a ver una pequeña lista:

PLCChipTecnología del chipFabricante del chip
Leganza 88DDT8P89C6688051Philips (NXP)
Mitsubishi FX-20MR-ESHD64332588 bitsHitachi
WeconSTM32F10332 bitsST
Scheneider ZelioATmega1288 bitsAtmel (Microchip)

Scheneider Zelio

Pongamos atención al último de la lista porque es muy interesante. Y para tener un contexto de la pequeña lista de características que voy a mencionar, quizás querrías echarle una mirada a este siguiente enlace, donde se muestra al PLC desensamblado.

Esta imagen representa el interior de un PLC marca Zelio, y podemos observar, además del procesador, al reloj de tiempo real, los relevadores y la batería de mantenimiento del calendario (la que parece rebanada amarilla).
  • Usa al chip ATmega128, una versión «ampliada» del ATmega328 (corazón de la Arduino UNO).
  • Las entradas no están optoaisladas.
  • Usa un RTC (Real-Time Clock) comercial M41T56 de ST acompañado de una pila.
  • Usa transistores discretos para energizar a las bobinas de los relés.
  • Parece que la fuente de alimentación se reduce a un simple 7805 o un LM317.
  • Tiene pistas en ángulo recto (los expertos no lo recomiendan).
  • Muchos PLCs tienen una cubierta (coated paint ) que lo protege contra la humedad y la corrosión. A simple vista éste no la tiene.

(Para conocer más acerca de este PLC puedes dar click aquí que te llevará a su página oficial en español.)

DISCLAIMER: Hagamos lo que hagamos, en ningún momento y bajo ninguna circunstancia será una copia o clon del PLC mostrado. Lo usé como ejemplo de que es posible construir equipo profesional a partir de microcontroladores comerciales.

¿Qué sigue?

Hoy hemos visto de forma muy general lo que son los PLCs, las partes de las que están hechos, y muy importante, el cerebro del mismo. También vimos que no hay nada que nos impida construir nuestro PLC de grado profesional, solamente hay que diseñarlo bien.

Y precisamente eso será lo que veamos en el siguiente artículo: el diseño de un PLC basado en Arduino, y siendo más específicos, un PLC basado en el microcontrolador ATmega328 y programado en el lenguaje más hermoso del mundo, C++.

Microcontrolador de 8 bits ATmega328 montado en una tarjeta tipo Arduino UNO. Este chip será el cerebro de nuestro PLC.

Nos vemos en el siguiente artículo (click aquí) donde tomaremos decisiones (algunas muy difíciles) de diseño para construir nuestro PLC.

Si consideras que hoy has aprendido algo nuevo, y que en el futuro podrás seguir aprendiendo cosas nuevas o útiles para tu trabajo o escuela, entonces podrías suscribirte a mi blog.


Por favor déjame tus comentarios, qué piensas de este proyecto, si ya has hecho PLCs en el pasado y qué micro usaste.