\n 3.8. Conceptos: ejes internos y externos, tipos de movimiento

3.8. Conceptos: ejes internos y externos, tipos de movimiento

UF1787 – Gestión de activos y mantenimiento de sistemas de control

Introducción Técnica

En el ámbito de la automatización industrial, particularmente en los campos de robótica y mecatrónica, el análisis de los ejes de movimiento y su control constituye un aspecto fundamental para comprender el comportamiento cinemático y dinámico de sistemas manipuladores, máquinas automatizadas y robots industriales. Estos conceptos resultan esenciales para lograr una planificación precisa de trayectorias, una sincronización eficiente de procesos y una interpretación correcta de los grados de libertad disponibles en el sistema.

Diagrama de ejes internos y externos en sistema automatizado

Representación esquemática de ejes internos y externos en un sistema robótico industrial.

Aplicaciones Raspberry en Control de Ejes

Raspberry Pi se utiliza ampliamente para control de ejes en sistemas de automatización:

  • Control de servomotores: Mediante librerías como pigpio para PWM preciso de servos en robots educativos
  • Interfaz con controladores industriales: Como gateway entre PLCs y sistemas de supervisión mediante Modbus TCP
  • Simulación de cinemática: Cálculo de trayectorias para robots de 6 ejes usando Python y NumPy
  • Adquisición de datos de encoders: Lectura de alta velocidad de encoders incrementales para seguimiento de posición
  • Sistemas de visión para seguimiento: OpenCV para tracking de objetos en movimiento en ejes externos

Ejemplo industrial: Raspberry Pi 4 monitorea 8 servomotores en una línea de empaquetado, enviando datos de posición a un SCADA mediante MQTT.

🎥 Vídeo Sugerido:

Motion Control - Motor PaP (Velocidad y Posicion)

Ver Tutorial en YouTube

En esta ocasion vamos a configurar el motion control de un motor paso a paso PaP, lo unico que se necesita es un PLC Siemens con salidas digitales de transistor, un drive de motor PaP y por supuesto el motor PaP. Mira lo facil que es

Duración: 17:35 minutos

Aplicaciones Arduino en Control de Movimiento

Arduino es ideal para control de bajo nivel en sistemas de ejes:

  • Control de motores paso a paso: Manejo preciso con drivers A4988 o TMC2209 para posicionamiento
  • Interfaz de encoders: Lectura de encoders rotativos y lineales para retroalimentación de posición
  • Control de velocidad de motores DC: Mediante PWM y drivers de puente H como L298N
  • Comunicación con sensores de posición: Lectura de sensores de efecto Hall y optoacopladores
  • Sistemas de limitación: Manejo de finales de carrera y sensores de proximidad

Caso práctico: Arduino Mega controla un sistema de 4 ejes lineales en una máquina de corte, con precisión de ±0.1mm.

🎥 Vídeo Adicional:

Conceptos Básicos del Control del Movimiento en la Industria (Webinar)

Ver Tutorial en YouTube

Explicación detallada sobre conceptos de control de movimiento, tipos de ejes industriales y su aplicación práctica en sistemas automatizados.

Duración: 3:10:41 horas

Clasificación de Ejes: Internos vs Externos

En robótica y sistemas de control de movimiento, se establece una distinción clara entre dos categorías de ejes según su ubicación y función dentro del sistema automatizado.

Python en Control de Movimiento 2026

Python se ha convertido en herramienta fundamental para control y simulación de ejes:

  • Librerías especializadas: pySerial para comunicación con controladores, numpy para cálculos cinemáticos
  • Simulación de trayectorias: Cálculo de movimientos interpolados para múltiples ejes
  • Ejemplo de interpolación lineal:
# Interpolación lineal de múltiples ejes en Python
import numpy as np
import matplotlib.pyplot as plt

class MultiAxisInterpolator:
    def __init__(self, num_axes=3):
        self.num_axes = num_axes
        self.trajectories = []
    
    def linear_interpolation(self, start_pos, end_pos, num_points=100):
        """Interpolación lineal entre posiciones de inicio y fin"""
        points = np.linspace(start_pos, end_pos, num_points)
        
        # Cálculo de velocidades para cada eje
        velocities = []
        for i in range(self.num_axes):
            axis_vel = (end_pos[i] - start_pos[i]) / (num_points - 1)
            velocities.append(axis_vel)
        
        return points, velocities
    
    def generate_trajectory(self, waypoints):
        """Genera trayectoria suave a través de waypoints"""
        trajectory = []
        for i in range(len(waypoints) - 1):
            segment, _ = self.linear_interpolation(waypoints[i], waypoints[i+1])
            trajectory.extend(segment)
        
        return np.array(trajectory)

# Uso en sistema de 3 ejes
interpolator = MultiAxisInterpolator(3)
start = [0, 0, 0]  # mm
end = [100, 50, 25]  # mm
trajectory, velocities = interpolator.linear_interpolation(start, end)
print(f"Trayectoria generada con {len(trajectory)} puntos")
print(f"Velocidades por eje: {velocities} mm/punto")

Aplicación: Este código se usa en sistemas pick-and-place para calcular movimientos suaves.

Caso Práctico Industrial

Contexto: Una máquina de corte CNC de 5 ejes presenta vibraciones durante movimientos rápidos en interpolación circular. La máquina tiene 3 ejes lineales (X, Y, Z) y 2 ejes rotativos (A, C). Las vibraciones ocurren específicamente cuando los ejes A y C se mueven simultáneamente con los ejes lineales a velocidades superiores a 500 mm/s.

Problema: Se observan marcas de vibración en las piezas mecanizadas y desgaste prematuro en los rodamientos de los ejes rotativos.

Pregunta: ¿Cuál sería la causa más probable de estas vibraciones?

Ejes Internos: Estructura Nativa del Sistema

Los ejes internos, también denominados ejes integrados o nativos del sistema, constituyen parte estructural del manipulador o máquina. Cada uno de estos ejes proporciona un grado de libertad y generalmente se acciona mediante motores ubicados dentro de la propia estructura del equipo. Suelen identificarse como ejes primarios o cinemáticos, definiendo mediante su movimiento la posición y orientación del efector final (end effector) en relación con la base del sistema.

Ejemplos representativos:

Ejes Externos: Complementos Auxiliares

Los ejes externos o ejes auxiliares son aquellos que, sin formar parte de la estructura base del robot o sistema principal, se encuentran sincronizados con él y son controlados desde el mismo sistema de mando. Se añaden habitualmente para complementar funcionalidades específicas como:

Estos ejes pueden operarse como ejes esclavos o en modo coordinado, dependiendo de las capacidades del sistema de control empleado (PLC, CNC o controlador robótico específico).

Caso Práctico Raspberry Pi + Node-RED

Contexto: Se implementa un sistema de supervisión para 6 servomotores que controlan una mesa de posicionamiento de 3 ejes (X, Y, Z) y 3 ejes rotativos (Rx, Ry, Rz). Cada servomotor envía datos de posición, velocidad y temperatura. Se necesita visualizar estos datos en tiempo real y generar alarmas cuando algún parámetro exceda límites.

Problema: Los datos llegan por puerto serial a 115200 baudios y deben ser procesados, almacenados y visualizados simultáneamente.

Pregunta: ¿Cuál sería la arquitectura óptima en Node-RED para este sistema?

⚠️ Toma nota:

La correcta diferenciación entre ejes internos y externos es crucial para la planificación de mantenimiento, la programación de movimientos y la resolución de fallos en sistemas automatizados. Los ejes internos requieren atención a su cinemática inherente, mientras que los externos necesitan especial consideración en sus interfaces de sincronización.

Caso Práctico: Diagnóstico de Sistema con Múltiples Ejes

Escenario: En una línea de ensamblaje automotriz, un robot articulado de 6 ejes presenta problemas de sincronización con una mesa giratoria externa. El robot debe colocar componentes en piezas que giran continuamente, pero se observan errores de posicionamiento cuando la mesa alcanza alta velocidad.

Pregunta: ¿Cuál sería el primer aspecto técnico a verificar para diagnosticar este problema de sincronización?

A Calibrar únicamente los ejes internos del robot articulado
B Verificar la comunicación y parámetros de sincronización entre el controlador del robot y el controlador de la mesa giratoria (eje externo)
C Reemplazar todos los servomotores de los ejes internos del robot
D Reducir permanentemente la velocidad de toda la línea de producción

Respuesta correcta: B) Verificar la comunicación y parámetros de sincronización entre el controlador del robot y el controlador de la mesa giratoria (eje externo)

Explicación: Esta es la aproximación diagnóstica más efectiva por las siguientes razones técnicas:

  • Razón 1: El problema se manifiesta específicamente en alta velocidad y afecta la sincronización entre sistemas independientes (robot y mesa), lo que apunta directamente a fallos en comunicación o parámetros de coordinación.
  • Razón 2: Los ejes externos como mesas giratorias requieren sincronización precisa mediante protocolos como EtherCAT, PROFINET o interfaces específicas; cualquier desfase en tiempos de comunicación causa errores de posicionamiento.
  • Razón 3: Verificar primero la comunicación evita intervenciones innecesarias en los ejes internos del robot, que probablemente funcionan correctamente si el error solo aparece durante operación coordinada a alta velocidad.
  • Razón 4: Esta verificación es rápida, no invasiva y puede identificar problemas de latencia, configuración de ganancias, o ajustes de feedforward en el control del eje externo.

Las opciones A y C serían prematuras sin antes diagnosticar la interfaz de sincronización, mientras que la opción D es una solución temporal que no resuelve la causa raíz del problema técnico.

Control Avanzado de Ejes con Python y Raspberry Pi

Tutorial completo sobre implementación de control de movimiento multi-eje usando Python. Cubre comunicación con servomotores, interpolación de trayectorias, seguimiento de encoders y generación de perfiles de movimiento S-curve para movimientos suaves y precisos.

▶ Ver Video Especializado
Contenido: Motion Control with Raspberry Pi and ClearPath-SC Servos Duración: 09:06 minutos Relevancia: Tutorial técnico sobre el uso de computadoras de placa única para control de servos mediante software (SC).

Tipología de Movimientos en Sistemas Automatizados

Los tipos de movimiento que pueden ejecutar los ejes (tanto internos como externos) son diversos, y su comprensión resulta indispensable para diseñar secuencias de trabajo eficientes en entornos de automatización. Entre las categorías más significativas se encuentran:

Tipo de Movimiento Características Principales Aplicaciones Industriales Típicas
Movimiento Lineal Desplazamiento en trayectoria recta a lo largo de uno o varios ejes cartesianos (X, Y, Z) Mesas de posicionamiento, portales, ejes de traslación, sistemas pick and place
Movimiento Rotacional Giro de un eje alrededor de un punto fijo o sobre su propio eje de rotación Robots articulados, tornos CNC, servomotores de giro, sistemas de indexado de piezas
Movimiento Interpolado Coordinación simultánea de múltiples ejes para describir trayectorias suaves en espacio tridimensional Mecanizado CNC 3D, soldadura robótica de contornos complejos, aplicaciones de pintura automatizada
Movimiento Oscilante Movimiento alternante entre dos posiciones fijas, generalmente rápido y repetitivo Sistemas de vibración para compactación, equipos de clasificación por tamizado, mecanismos de impacto controlado
Movimiento Combinado Integración de varios tipos de movimiento en una misma operación secuencial Pinzas que se desplazan linealmente mientras rotan, cabezales multifunción en centros de mecanizado
Parámetro de Control Ejes Internos Ejes Externos Consideraciones Clave
Precisión Posicional Alta (±0.01-0.1mm) Media (±0.1-1mm) Depende de retroalimentación y mecánica
Velocidad Máxima Alta (1-10 m/s) Variable según aplicación Limitada por inercia y carga
Comunicación Bus dedicado (EtherCAT) Protocolo industrial (Modbus) Latencia crítica para sincronización
Calibración Automática/home Manual/configurable Frecuencia según uso
Mantenimiento Preventivo programado Correctivo según síntomas MTBF típico 20,000-50,000h
Caso Práctico Python para Control de Ejes

Contexto: Se desarrolla un sistema de control para un robot SCARA de 4 ejes. El sistema debe mover el efector final en trayectorias circulares mientras mantiene orientación constante. Los cálculos cinemáticos se realizan en Python y se envían a un controlador de movimiento vía Ethernet.

Problema: El sistema presenta "jerk" (sacudidas) en los cambios de dirección, especialmente en las transiciones entre segmentos de trayectoria.

Pregunta: ¿Qué modificación en el algoritmo Python mejoraría la suavidad del movimiento?

Parámetros Críticos en el Control de Ejes

En la automatización de movimientos, deben considerarse meticulosamente los siguientes parámetros técnicos que determinan el rendimiento y seguridad del sistema:

Característica Arduino (Control de Ejes) Raspberry Pi (Control de Ejes) Recomendación de Uso
Control en Tiempo Real Excelente (bare metal) Limitado (Linux no RT) Arduino: control crítico
Procesamiento 16MHz, 8-bit 1.5GHz, 64-bit RPi: cálculos complejos
Comunicación Serial, I2C, SPI Ethernet, WiFi, USB RPi: conectividad IoT
E/S Digitales 14-54 pines 26-40 GPIO Arduino: más E/S nativas
PWM Precision 8-16 bit Software (menor precisión) Arduino: control motores
Energía 5V/500mA 5V/2.5A+ Arduino: bajo consumo
Ejemplo Aplicación Control 4 servos + encoders Supervisión 10 ejes + HMI Usar combinados (Arduino control, RPi supervisión)

Aplicación Práctica y Sistemas de Control de Ejes

La gestión efectiva de ejes en sistemas automatizados se implementa generalmente mediante las siguientes tecnologías:

La planificación de movimientos debe contemplar cuidadosamente aspectos como análisis de colisiones, trayectorias libres de obstáculos, velocidades permitidas según normativa de seguridad, y técnicas de programación de puntos de paso mediante métodos de teach-in o programación textual offline.

Recursos Técnicos y Normativos 2026