Micro PLC Arduino NANO

Este proyecto de Micro PLC Arduino NANO está desarrollado para aprender a programar con un editor ladder y al mismo tiempo utilizarlo incluso en pequeños montajes industriales en los cuales no requieran de complejidad en la programación y/o domotizar la vivienda, el garaje, jardín, etc. No hay límite.

Plc-Arduino-NANO-editor-ladder

Este Micro PLC Arduino NANO se programa en ladder

Cuando empecé este proyecto de PLC, pensaba en un proyecto sencillo de construir y fácil de entender para todos los niveles de usuarios. Estudiantes con conocimientos de electrónica y programación y para los que no tenían ni idea pero muchas ganas de aprender a programar en ladder.

Primero opté por usar un Microcontrolador PIC, pues son mis favoritos, pero mientras realizaba el diseño, cayeron en mis manos unos Arduino NANO y me di cuenta de que era la solución, por facilidad de uso y programación. Ya tenía el Hardware solucionado!!!.

Pero después me surgió una duda, qué software iba a utilizar para programar el PLC de forma que obtuviese las tres “B”; Bueno, Bonito y sobretodo Barato. Teniendo en cuenta que al ser un PLC, la programación debe de ser en Ladder (escalera) porque en el mundo del PLC es un estándar y este proyecto no puede ser menos.

Durante un tiempo, probé y sin exagerar, más de una docena de ellos (porque si digo más, me dirán que soy exagerado), algunos de pago y otros gratuitos. Entre los de pago encontré varios muy buenos y muy caros, así que opté por no adoptarlo al proyecto. Entre los gratuitos, encontré dos, bueno, uno, el otro hace años que lo conozco y realmente es muy bueno, pero para este proyecto buscaba uno que me llamara la atención, quería algo fácil para los usuarios. Probé un software creado por los hermanos Walter el cual ellos lo desarrollaron para una aplicación que comercializan y regalan este software.

Un editor ladder maker free

El programa llamado Walter Ladder Maker es gratis y funciona en varias plataformas, yo lo he probado en Windows 7 y python, pero realmente prefiero la versión Windows, funciona muy bien (y mejor aún siendo gratis), tengan en cuenta que es un software que lleva unos dos años sin actualizar, pero cumple perfectamente mis expectativas del proyecto.

También tengo que decir que estoy intentando contactar con el Sr. Walter para ver si podemos actualizar el software pero no he tenido suerte.

Este proyecto está dedicado a la memoria del Sr. Miró, ingeniero de los años 80 que trabajaba en una empresa llamada Raspistan y al cual admiro su paciencia en la reparación de un elevador/descensor equipado con un PLC fabricado a medida (y con mucho wire-wrap).

Y no quiero olvidarme de Luis Amigó y Juan Manuel Sánchez, mi segunda familia durante 25 años.

Veamos el hardware del proyecto plc con Arduino

El Hardware del Micro PLC Arduino NANO lo he diseñado en base al Arduino por varias razones, lleva incorporado el bootloader que facilita la carga y el módulo se consigue a muy buen precio. Más adelante les haré un video de cómo funciona todo este proyecto que podrán usarlo para modernizar alguna máquina, depósito, etc.

Características:
Tensión de alimentación: 12V DC
Entradas digitales optoacopladas a 24V DC: 5 entradas
Entradas analógicas hasta 24V DC: 4 Entradas
Salidas PWM a 5V DC: 2 salidas
Salidas digitales a relé: 7 salidas
Microcontrolador: Arduino NANO V3
Las conexiones de entradas y salidas del Micro PLC Arduino NANO ya están configuradas y no se pueden modificar debido al software que utilizamos.

Conexiones del Arduino NANO:

Arduino_Nano_ladder_io

Entradas:
A4: Entrada 1
A5: Entrada 2
D2: Entrada 3
D3: Entrada 4
D4: Entrada 5
Salidas:
D5: Salida 1
D6: Salida 2
D7: Salida 3
D8: Salida 4
D11: Salida 5
D12: Salida 6
D13: Salida 7

Entradas analógicas:
A0: Analógica 1
A1: Analógica 2
A2: Analógica 3
A3: Analógica 4

Salidas PWM:
D9: Salida PWM 1
D10: Salida PWM 2

Recuerde que por el software que usamos para programar en Ladder, no podemos modificar los datos de E/S. No es un inconveniente porque usamos casi todo el potencial del Arduino NANO.

En caso de necesitar alguna entrada adicional, podemos usar las analógicas como entrada digital mediante el sistema de comparación.

Más adelante veremos algún ejemplo y si necesitas más, escribe en los comentarios.

El esquema del PLC Arduino Nano es el siguiente:

PLC-Arduino-Nano-Joan-Mengual

Si desean descargar el esquema en formato pdf pueden hacerlo pinchando el siguiente enlace:

Editor ladder maker

El esquema del PLC lo podemos dividir en 6 secciones y las comento a continuación.

Sección del Microcontrolador: 

La primero y más importante del proyecto es el componente Microcontrolador basado en el Arduino NANO.

Seccion Arduino NANO

Este componente alojará en su interior todos los programas que vayamos a usar con nuestro PLC. Para programarlo, simplemente conéctelo al computador con el cable USB, con el software LadderMaker haga su proyecto y directamente lo graba en el Microcontrolador. Hay otras opciones, estas las veremos más adelante cuando hablemos del software.

Fuente de alimentación

Todo el PLC lo alimentamos con una tensión de entrada de 12V DC, es importante no sobrepasar este valor para no quemar componentes del PLC, los relés son a 12V. Si miran el esquema observarán que es muy simple, pero funciona muy bien.

Fuente de alimentacion PLC

Entrada a 12V DC (fuente y relés) y salida para el Arduino y resto de componentes a 5V DC a través de un regulador del tipo 7805 o similar, lo importante es que pueda soportar 1 Amp. De carga máxima.

Todo el PLC Arduino NANO suele consumir máximo unos 300 o 500 mA.

Les comento de que si ustedes usan este circuito para un ambiente de tipo industrial, ahn de colocar filtros de ruido en la entrada de la fuente.

Sección de entradas

Las entradas digitales soportan hasta 24V y por seguridad son optoacopladas. Siguiendo el circuito de entradas, vemos de que cada entrada tiene una resistencia de 3K3 para limitar la carga del led que visualizará cuando tengamos un nivel alto en la entrada y el diodo emisor del optoacoplador que con la luz que emite, polariza el transistor y permite la conducción entre colector y emisor.

Entradas-digitales-a-24V

Pueden apreciar que las entradas no tienen un punto común, es decir, todas son independientes y optoacopladas para mayor seguridad del PLC. Entre ellas pueden conectarse, pero no entre la masa del PLC si queremos tener la seguridad del optoacoplador.

Recuerden que el valor máximo de la tensión de entrada es de 24V DC. Un valor bueno para obtener un nivel alto en la entrada es a partir de 5V, por debajo, será nivel 0 en entrada.

Entradas analógicas del PLC Arduino NANO

A continuación les muestro la sección de entradas analógicas, cuatro entradas que permiten controlar el PLC con señales de hasta 24V DC.

Entradas analogicas del PLC Arduino

En otro artículo les hablaré de cómo configurar y obtener el máximo provecho de las entradas o convertidor analógico digital (ADC) del Arduino. Ahora nos centramos en este proyecto.
Como ya les mencioné, las entradas analógicas permiten leer señales de hasta 24 voltios mediante un divisor de tensión y un operacional que adapta esta tensión a la entrada ADC del Arduino.

En esta ocasión, si tenemos un común para todas las entradas analógicas, por lo tanto han de tomar precauciones si conectan más de una entrada al PLC. Y las masas entre las entradas y el PLC que son las mismas. Tengan mucha precaución.

Las salidas del PLC Arduino programado en ladder.

Como las salidas de relés son las más importantes a la hora de hacer funcionar un PLC, comenzaremos la descripción de esta sección comentando que los relés están alimentados a 12V.

El PLC también dispone de 2 salidas PWM a 5V.

Sección de relés de salida.

Observen el esquema a fondo de la etapa de relés de salida.

etapa reles de salida PLC

Los relés de salida están configurados en dos formas, Relé 1, tiene el contacto conmutado en las bornas de salida, podemos usar el común y un contacto cerrado o contacto abierto según necesidad. Los contactos de un relé siempre se describen en posición de reposo.

Y en el resto de relés solo disponemos de contacto abierto. Tengan esto presente a la hora de programar sus proyectos.

Las bobinas de los relés se alimentan a 12V y la señal de 5V para la exitación que viene del Arduino la controlamos con un IC especial llamado ULN2803, ampliamente utilizado en estos circuitos y en la industria.

ULN2803 para PLC Arduino

Esquema del PLC donde aparece el ULN2803

Salida de pulsos PWM

Out PWM for PLC Arduino NANO

Estas salidas que les acabo de mostrar son las que podemos usar para controlar circuitos con control de impulsos (PWM). A destacar que la tensión de amplitud es de 5V DC, si necesitan otros valores, deberán de usar interfaces o convertidores.

El diseño del PLC

Una vez detallado todo el PLC, les muestro como es el PCB.

PLC Arduino NANO ladder

La imagen anterior nos muestra el proyecto PLC Arduino NANO modelo Miró.

Y la siguiente imagen el PCB por la parte de componentes:

PCB-Plc-Arduino-NANO-componentes

Figura del PCB del lado de componentes para su montaje, las medidas de la placa son de 100 mm X 150 mm aproximadamente. He intentado mostrar la máxima información posible en el PCB para que de un simple vistazo sepamos distinguir las diferentes secciones del PLC. El diseño del PCB es de una sola cara, así es mucho más económico poder comprarlo o fabricarlo en casa.

¿Dónde comprar el PCB?

Si desean, el PCB lo pueden adquirir en pcbway a un precio muy económico y además lo envían a cualquier parte del mundo.

He procurado que todo el proyecto sea fácil de construir y los materiales asequibles para cualquier persona, no hay componentes difíciles de conseguir, incluso los optoacopladores pueden montar tipos equivalentes si estos no los tienen en su comercio habitual. El proyecto es compatible con cualquier módulo Arduino NANO que venden en el mercado.

Una vez montado todo el PCB, al conectarlo a la fuente de alimentación verán leds que se iluminan e indican el estado del PLC. El módulo Arduino lo han de insertar según les indica la imagen del PCB.

Junto al regulador de 5 Voltios tenemos el primero que ha de iluminarse y nos indica que la alimentación del PLC esta bien. Recuerden que la entrada de alimentación es a 12V DC.

Siguiendo con las observaciones de los leds, en el módulo Micro PLC Arduino NANO tenemos 4 leds, dos que indican cuando hay emisión / recepción desde el puerto USB, el segundo por la derecha indica que tenemos 5V alimentando la placa del Arduino y el led de la derecha es el que está conectado al pin out7 y se usa para comprobar que el Arduino está en funcionamiento. Este Led sería bueno que para tener un buen control del PLC a simple vista, lo programamos para que luzca una intermitencia de aproximadamente 1 segundo y así tendremos una buena percepción de que el PLC está corriendo.

La indicación de RUN

Yo suelo hacerlo tal como he descrito anteriormente con la salida out 7, en caso de necesitarla, pues la programo y todo continúa normal.

EL PLC tiene suficientes indicadores de funcionamiento, tensión de alimentación, entradas , salidas y el control del módulo Arduino NANO.

Para estar seguro, es mejor repasar bien todo el montaje del circuito, es mejor perder un poco de tiempo que un semiconductor o el PCB.

Datos Técnicos del micro PLC Arduino NANO

Información general

Tarjeta de Microcontrolador baseArduino NANO
–     ProgramaciónWalter Ladder Maker, IDE Arduino
Lenguajes de Programación
–     KOPSI, Waltech Ladder Maker y LDmicro
–     Lista de TextoSI, Atmel QTouch
–     FUPNO
–     Texto EstructuradoSI, IDE Arduino
Tensión de Alimentación
Valor Nominal (DC)12.0 V
Rango Admisible, límite inferior (DC)9.4 V
Rango admisible, límite superior (DC)13.8 V
Intensidad de entrada
Consumo Valor Nominal19 mA (CPU)
Consumo Max.500 mA
Memoria
Memoria de trabajo
–     Integrado2 KB
–     AmpliableNo
Memoria de Carga
–     Integrado32 KB,  – 2KB reservado para Bootloader
–     AmpliableNo
Respaldo
–     ExistenteSi, Libre de Mantenimiento
–     Sin PilaSI (No necesita reloj RTC)
Tiempos de ejecución de la CPU
Para operaciones a bits6 uS
Para operaciones a palabras260 uS
Para operaciones de coma flotanteN/A
CPU – Bloques
N° de bloques (total)1 OB Principal (algo limitado)
Bloque de Organización
Cantidad MáximaLimitada por la Flash de 32KB.
Funciones AdmisiblesLimitado por programa (Ver Manual)
Área de datos y su remanencia
área de Datos RemanentesNo
área de Marcas y Datos Globales16KB

Configuración de hardware

N° de módulos por sistema máx.Solo 1 módulo CPU
Entradas digitales
N° de Entradas Digitales5 canales
ED con funciones TecnológicasNinguna
Canales Integrados7 canales
Tensión de entrada
–     Valor Nominal (DC)24VDC
–     Para señal “0”0.1VDC – 5.0 VDC
–     Para señal “1”5.0VDC – 24VDC
Retardo de entrada (a tensión nominal de entrada)
–     ParametrizableNo
–     En transición “0” a “1”, máx.20 nS
–     En transición “1” a “0”, máx.50 nS
Salidas Digitales
Número de salidas7 canales
Canales integrados7 canales
Tipo de SalidasRelé
Tensión máx.28 VDC, 120 VAC, 220 VAC.
Salidas PWM a 5V2 de tipo transistor
Entradas Analógicas
N° de entradas analógicas4 canales
Canales Integrados4
Tipos de Entrada
–     CorrienteNo
–     VoltajeSi
Rangos de entrada (valores nominales)
–     0 – 24 V DCSi
–     0 – 20 mANO
Formación de valores analógicos
Tiempo de integración y conversión/resolución por canal
Resolución8 bits, 1,024
Tiempo de conversión por canal260 uS
Tipo de cableado2 hilos (masa común)
Interfaz Programación PLC
Tipo de InterfazMini – B USB
Norma FísicaUSB 1.0
Funciones de Comunicación
Comunicación en RS 232/485No
Comunicación EthernetNo
Servidor WebNo
N° de Conexiones1 tipo USB
CEM (Compatibilidad Electromagnética)
Tipo de Prueba e InmunidadSin Pruebas Aplicadas
Condiciones Ambientales
Temperatura de Servicio
–     Mínima-10 °C
–     Máxima60 °C; Todas las salidas conectadas
Humedad relativa60%

Unos apuntes del proyecto

Hasta aquí he descrito el hardware del PLC, ahora creo que toca el software.

El editor laddermaker para programar el Micro PLC Arduino NANO lo pueden descargar directamente desde la web del autor.

Autor del HardWare PLC Arduino NANO: Joan Mengual

El manual del hard y soft en formato PDF del proyecto PLC Arduino NANO lo pueden descargar de aquí: Manual completo.

Autor del SoftWare ladder maker: Waltech

En el próximo artículo sobre este proyecto que hablaré del editor, dejaré unos enlaces para poder descargar todo el proyecto hardware en un solo archivo y otro con el editor por si falla el enlace anterior.

La programación del PLC pueden hacerla de varias maneras, yo he escogido el software Waltech Ladder Maker que se lo presentaré en una próxima entrega. Mientras pueden optar por montar el circuito y recuerden los pines para programarlo con cualquier editor como el IDE de Arduino.

Dejen sus comentarios y cuenten que tipo de editor ladder usa para programar su PLC Arduino.

8 comentarios en “Micro PLC Arduino NANO”

  1. Hola Joan,
    Te mando un pequeño resumen de algo que escribí hace tiempo y tu artículo me ha vuelto a recordar aquellos tiempos de garaje con unos amigos desarrollando inventos electrónicos que hoy día es nuestro trabajo.

    «El PLC (controlador lógico programable) ha sido y sigue siendo el componente básico del mundo de la automatización industrial.
    La aplicación industrial hizo que los sistemas PLC fueran muy caros, tanto para comprar como para reparar, y también debido a las habilidades altamente específicas que se les solicitan a los diseñadores de software para extraer el máximo potencial de los controladores.
    Arduino es un tipo de controlador programable universal, aunque es solo el «núcleo» y, en cualquier caso, se ha creado para aplicaciones generales; con un poco de hardware externo (esencialmente interfaces capaces de transferir señales desde sensores y actuadores, reduciendo la EMI que puede dañar el microcontrolador) y un software apropiado puede, sin embargo, convertirse en algo muy similar a un PLC.»
    Me ha parecido ideal porque es básicamente lo que tu has realizado con este proyecto.
    Un abrazo y sigue adelante, me gustan tus proyectos.

    1. Gracias por tu comentario David,
      Aún recuerdo aquellos veranos de campamento y los inventos que solíamos llevar para jugar con los amigos, grillos electrónicos, luz que se encendían en la noche y se apagaban solas, voces fantasmagóricas de ultratumba, detectores de presencia. xD, qué recuerdos con nuestra pasión de electrónicos. Un saludo y cuando quieras puedes mandar un artículos de los tuyos y lo publico. Será un honor, tener a todo un doctor en electrónica en una de mis páginas.
      Un abrazo.

  2. Buenas amigo, quisiera ver si puedes apoyarme necesito un PLC como este pero necesito que tenga 6 entradas y 6 salidas y que se pueda instalar una LCD 16×2 y un monedero electrónico puedes ayudarme con la modificación.

    1. Hola Arturo, como pueden ver todos mis amigos, llevo varios meses muy atareado y apenas tengo tiempo de actualizar la web. Respecto a esta petición y si aún necesitas mi colaboración, te ruego envíes un mensaje privado con todas tus necesidades y te ayudaré, después publicaré aquí el proyecto para todos los lectores.

      Un abrazo.

    1. Hola, muchas gracias por tu comentario, me gustaría me ampliaras información sobre los diodos que mencionas. No sé a cuales te refieres y por lo tanto no te puedo ayudar, comenta y te ayudo.

  3. Hola Joan, yo también quería preguntar los mismo. Supongo que se refiere a los zener de las entradas digitales. Un saludo y gracias.

    1. Hola, gracias por las preguntas, los diodos con el símbolo zener de las entradas, en realidad son diodos tipo 1N4007 o similares, hay un error el el dibujo.

      Cuando pueda modifico el esquema. Muchas gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos
ResponsableJoan Mengual +info...
FinalidadGestionar y moderar tus comentarios. +info...
LegitimaciónConsentimiento del interesado. +info...
DestinatariosAutomattic Inc., EEUU para filtrar el spam. +info...
DerechosAcceder, rectificar y cancelar los datos, así como otros derechos. +info...
Información adicionalPuedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Scroll al inicio