Caso de estudio · Etiquetado de botellas · PLC Arduino
Etiqueta botellas en movimiento, aunque cambie la velocidad de la línea.
Encoder, fotocélula y dos motores paso a paso en un PLC Arduino.
Las botellas llegan cuando llegan.
La etiqueta sigue a la cinta.
Este caso describe una cinta de etiquetado real. No damos el nombre del cliente. Las botellas avanzan sobre una cinta transportadora y pasan por un mecanismo que aplica una etiqueta a cada una. Nadie regula la separación entre botellas, y la cinta puede frenar, acelerar o pararse en cualquier momento. Un PLC basado en Arduino de Industrial Shields controla dos motores paso a paso: el primero mueve el rollo grande de etiquetas y el segundo mueve la cinta. Un encoder rotativo en la cinta da la velocidad de la línea. Una fotocélula da la posición de cada botella.
El reto
Etiquetar una botella en movimiento. A cualquier velocidad y con cualquier separación.
El cliente pedía cinco cosas: aplicar las etiquetas con precisión a botellas en movimiento, admitir una velocidad variable de la cinta, admitir distancias irregulares entre botellas, tirar de la banda de etiquetas a través del dispensador y etiquetar de forma suave y constante a cualquier velocidad. Un retardo de tiempo fijo no sirve cuando la velocidad cambia. La etiqueta tiene que seguir el movimiento real de la cinta.
Botellas en movimiento
La etiqueta se aplica mientras la botella avanza. Tiene que quedar en el mismo sitio en todas las botellas.
La velocidad cambia en cualquier momento
La cinta puede frenar, acelerar o pararse cuando sea. El etiquetado tiene que seguirla.
Separación irregular
Nadie regula la distancia entre botellas. El sistema tiene que localizar cada botella por separado.
Un rollo de etiquetas pesado
La banda de etiquetas sale de un rollo grande y pasa por el cabezal dispensador. El motor necesita par y velocidad suficientes para vencer la fricción del cabezal y la inercia del rollo.
Cómo funciona
Dos lazos: medir la línea y sincronizar cada botella.
Mueve el deslizador y pulsa los botones. Los paneles muestran el patrón general: qué lee el PLC, qué gobierna y cuándo. Son simulaciones ilustrativas. No muestran el programa, las velocidades ni los datos de la instalación.
El encoder es la referencia. No un temporizador.
Hay un encoder rotativo montado en la cinta. Sus dos señales van a dos entradas de interrupción del PLC, I0.5 e I0.6. Cada pulso es un pequeño tramo de avance de la cinta. El PLC toma el encoder como referencia para todas las velocidades y distancias del rollo. Cuando la cinta frena, acelera o se para, la referencia cambia con ella. Con las interrupciones, el PLC no tiene que pedir los datos al encoder todo el tiempo.
- Encoder rotativo en la cinta, en las entradas de interrupción I0.5 e I0.6
- Encoder alimentado con 24 V y GND, como en el esquema original
- Todas las velocidades y distancias del rollo dependen del encoder
- El motor paso a paso 2 mueve la cinta a través del driver 2
Simulación ilustrativa. Velocidades y cuentas de encoder de ejemplo, con tiempos a escala. La resolución del encoder y las velocidades reales de la instalación no se publican.
RelacionadoCómo usar las entradas de interrupción de los PLC Arduino industrialesSolution Library: contador de pulsos con interrupciones (ESP32 PLC)
La fotocélula encuentra la botella. La etiqueta llega a velocidad de línea.
Una fotocélula detecta la posición de cada botella antes del cabezal de etiquetado. La separación no es regular, así que cada botella inicia su propio ciclo. El PLC ordena al motor de etiqueta que acelere hasta la velocidad de la línea en el momento en que el primer borde de la etiqueta toca la botella. El motor mantiene esa velocidad hasta que la etiqueta está entera en la botella. Después frena hasta pararse y espera la siguiente botella.
- Fotocélula de inicio: posición de cada botella en el momento del etiquetado
- El motor paso a paso 1 tira de la banda de etiquetas del rollo grande a través del dispensador
- Acelerar, mantener la velocidad de línea, frenar, parar y esperar
- Objetivo del cliente: etiquetado suave y constante a cualquier velocidad
Línea amarilla: velocidad del motor de etiqueta. Línea gris discontinua: velocidad de la línea según el encoder.
Registro de eventos (ejemplo)
Simulación ilustrativa. Distancias, separaciones, velocidades y rampas de ejemplo, con tiempos a escala. El punto donde empieza la rampa es un ejemplo. Los valores reales de la instalación no se publican.
RelacionadoControl de velocidad de un motor paso a paso con un PLC Arduino y un encoder rotativo
Arquitectura del sistema
¿Cómo sincroniza un PLC Arduino un rollo de etiquetas con una cinta?
El encoder rotativo va a dos entradas de interrupción. Tres salidas digitales gobiernan cada driver de motor paso a paso: pulso, dirección y habilitación. El driver 1 mueve el rollo de etiquetas y el driver 2 mueve la cinta. La fotocélula de inicio da la posición de cada botella. Este diagrama sigue el esquema de cableado original del caso, que verás debajo.
| Señal | Entre | Tipo | Función |
|---|---|---|---|
| Señales del encoder | EntreEncoder rotativo → I0.5 e I0.6 | TipoEntradas digitales con interrupción | FunciónVelocidad de la línea y avance de la cinta, sin consultas constantes |
| Alimentación del encoder | Entre24 V y GND → encoder rotativo | TipoAlimentación | FunciónAlimenta el encoder, como en el esquema original |
| Posición de la botella | EntreFotocélula de inicio → PLC | TipoEntrada digital (pin no indicado en el esquema) | FunciónPosición de cada botella en el momento del etiquetado |
| Motor de etiqueta: pulso, dirección, habilitación | EntreQ0.0, Q0.1, Q0.2 → driver 1 | TipoSalidas digitales | FunciónPasos, dirección y habilitación del motor paso a paso 1 (rollo de etiquetas) |
| Motor de la cinta: pulso, dirección, habilitación | EntreQ1.0, Q1.1, Q1.2 → driver 2 | TipoSalidas digitales | FunciónPasos, dirección y habilitación del motor paso a paso 2 (cinta) |
| Retornos de los drivers | EntrePUL-, DIR-, ENA- de los dos drivers → GND | TipoReferencia común | FunciónCierra los circuitos de entrada de los drivers |
| Fases del motor | EntreDriver → motor paso a paso | TipoA+, A-, B+, B- | FunciónDos fases por motor |

Por qué funciona
Una sola referencia de distancia. Señales sencillas.
Interrupciones para el encoder
El encoder usa dos entradas de interrupción. El PLC no tiene que pedir los datos al encoder todo el tiempo: los pulsos llegan solos.
Tres salidas por motor
Cada driver de motor paso a paso usa tres salidas digitales: pulso, dirección y habilitación. El mismo PLC mueve el rollo de etiquetas y la cinta.
Velocidad y distancia, no tiempo
El rollo de etiquetas sigue al encoder y cada botella empieza con la fotocélula. El ciclo se adapta cuando cambian la velocidad o la separación.
Hardware utilizado
Un PLC basado en Arduino en el carril DIN.
M-DUINO ETHERNET PLC ARDUINO 42
Un PLC industrial basado en un Arduino Mega 2560 original. Tiene los pines del esquema original: entradas de interrupción I0.5 e I0.6, y salidas digitales Q0.0 a Q0.2 y Q1.0 a Q1.2. Lo programas en C++ con el Arduino IDE.
- Entradas
- 26: 12 analógicas/digitales (0-10 V), 14 digitales optoaisladas (de 5 a 24 Vdc), 4 con interrupción
- Salidas
- 16: 6 analógicas/digitales/PWM (0-10 V), 10 digitales optoaisladas (de 5 a 24 Vdc)
- Red y serie
- Ethernet 10/100 (RJ45), RS-485, RS-232, I2C, SPI
- Integrado
- Reloj de tiempo real, ranura microSD
- Alimentación
- De 12 a 24 Vdc
- Montaje
- Carril DIN TS35, IP20
El caso no publica el modelo exacto del PLC. La imagen y el enlace muestran el M-Duino 42+ (referencia IS.MDuino.42+), un modelo actual con todos los pines del esquema. El caso tampoco publica los modelos de los drivers, los motores, el encoder ni la fotocélula. Antes de cablear un driver, comprueba que sus entradas aceptan la tensión de salida del PLC.
Preguntas sobre este caso
¿Cómo se mantiene la etiqueta sincronizada cuando cambia la velocidad de la cinta?
Un encoder rotativo en la cinta mide su avance. El PLC toma el encoder como referencia para todas las velocidades y distancias del rollo, no un temporizador. Cuando la línea frena o acelera, la referencia cambia con ella.
¿Por qué el encoder va a entradas de interrupción?
El encoder va a dos entradas de interrupción, I0.5 e I0.6. Así el PLC no tiene que hacer peticiones constantes para obtener los datos del encoder. Cada pulso lanza una rutina corta que actualiza la cuenta.
¿Qué hace el motor de etiqueta con cada botella?
La fotocélula detecta la botella. El PLC ordena al motor de etiqueta que acelere hasta la velocidad de la línea en el momento en que el primer borde de la etiqueta toca la botella. El motor mantiene esa velocidad hasta aplicar la etiqueta entera, frena hasta pararse y espera la siguiente botella.
¿Motores paso a paso o servomotores?
El caso usa dos motores paso a paso: lo dicen la introducción y el esquema de cableado. Funcionan con drivers de pulso, dirección y habilitación. El texto de hardware del caso habla también de un sistema servo, porque el motor de etiqueta necesita par y velocidad para el cabezal dispensador y el rollo grande. Muchos servoaccionamientos también aceptan entradas de pulso y dirección.
¿Qué PLC se usó?
Un PLC basado en Arduino de Industrial Shields. El caso no indica el modelo. El esquema usa las entradas de interrupción I0.5 e I0.6 y las salidas Q0.0 a Q0.2 y Q1.0 a Q1.2. El M-Duino 42+ las tiene todas.
¿Tengo que programar en Arduino?
El PLC se programa en C++ con el Arduino IDE. Pero se empieza por la máquina, no por el código: cuéntanos la secuencia, las señales y los motores, y nuestros ingenieros te dirán cómo montarlo.
Descarga el caso de estudio
PDF de 4 páginas con el reto, la lógica, la arquitectura y el hardware. Sin formularios.
¿Proyecto similar?
Háblanos de tu línea y de tus etiquetas. Te responderá un ingeniero.
Cuéntanos qué productos etiquetas, cómo llegan, cómo cambia la velocidad de la línea y qué motores y drivers usas. Te diremos cómo conectar el encoder, el sensor y los drivers, y qué controlador encaja.
- Respuesta de nuestro equipo técnico
- Recuento de E/S para tu máquina
- PLC basados en Arduino, ESP32 o Raspberry Pi