Proyecto mecatronica industrial control de servomotores

54
Adrián Fernández Samalea Daniel Cattinari Camblor CFGS Mecatrónica Industrial CIFP la Laboral CONTROL DE ROBOT Y SERVOMOTORES

Transcript of Proyecto mecatronica industrial control de servomotores

Page 1: Proyecto mecatronica industrial control de servomotores

Adrián Fernández Samalea Daniel Cattinari Camblor CFGS Mecatrónica Industrial CIFP la Laboral

CONTROL DE ROBOT Y SERVOMOTORES

Page 2: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 1 de 38

ÍNDICE

1. Introducción..................................................... 2

2. Descripción del robot........................................ 3

3. Descripción del servomotor.............................. 8

4. Descripción del autómata programable............. 11

5. Sistema de control del robot............................. 12

6. Sistema de control del servomotor................... 21

7. Presupuesto...................................................... 35

8. Bibliografía....................................................... 37

9. Programaciones................................................ 38

Page 3: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 2 de 38

1. INTRODUCCIÓN En el presente trabajo se abordarán dos sistemas de control mediante la utilización de un autómata programable de la marca Siemens. El primero de ellos será el control de un robot Mitsubishi que se encuentra actualmente sin uso por la descarga de sus baterías y la consecuente pérdida de la programación almacenada en su memoria RAM, en el aula de automática del CIFP la Laboral. Por lo que consideremos importante su realización para volver a mantener operativo un elemento de estas características. El segundo será el control de un servomotor Sinamics de Siemens. Realizado por:

Daniel Cattinari Camblor Adrián Fernández Samalea

En Gijón, a 5 de junio de 2016

Page 4: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 3 de 38

2. DESCRIPCIÓN DEL ROBOT

2.1 Identificación del modelo: Mitsubishi MELFA RV-2SDB

Imagen 001: Designación del modelo del robot.

(a). RV-2SD: Indica la serie RV-2SD. (b). B: Indica la existencia de un freno. Ejemplo:

Si está en blanco, los ejes J1; J4 Y J6 no tienen freno.

Si aparece la letra "B": Todos los ejes tienen freno. (c). -Sxx: Indica un número especial de modelo. Alguna especificación especial. 2.2 Ejes del robot: Tiene 6 ejes, explicados con la siguiente imagen

Imagen 002: Ejes del robot.

Page 5: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 4 de 38

2.3 Especificaciones:

Item Unidad Especificaciones

Tipo - RV-2SDB

Grados de libertad - 6

Postura de instalación - En el suelo, colgando, o contra la pared (Cuando se utiliza mediante el montaje en la pared, una especificación especial limita el rango de funcionamiento en el que será utilizado el eje J1)

Estructura - Vertical, de tipo múltiples articulaciones

Sistema de movimiento - AC Servomotor Todos los ejes poseen freno

Método de detección de posición - Encoder absoluto

Longitud del brazo Superior

mm 230

Antebrazo 270

Rangos de operación

J1

Grados

480 (- 240 ~ + 240)

J2 240 (- 120 ~ + 120)

J3 160 (0 ~ + 160)

J4 400 (- 200 ~ + 200)

J5 240 (- 120 ~ + 120)

J6 720 (- 360 ~ + 360)

Velocidad de movimiento

J1

Grados/s

225

J2 150

J3 275

J4 412

J5 450

J6 720

Velocidad máxima resultante mm/s 4.400

Carga Máxima

Kg 3,0

Clasificación 2,0

Repetibilidad mm ± 0,02

Temperatura ambiente ºC 0 ~40

Masa Kg 19

Carga de momento admisible

J4 N · m

4,17

J5 4,17

J6 2,45

Inercia admisible

J4 Kg · m2

0,18

J5 0,18

J6 0,04

Presión de suministro MPa 0,5 ± 10 %

Especificación de protección - IP30 (En todos sus ejes)* *IP30: Nos permite trabajar en un ambiente ligeramente polvoriento

Page 6: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 5 de 38

2.4 Posición del centro de gravedad para cargas:

Imagen 003: Posición den centro de gravedad del robot.

Page 7: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 6 de 38

2.5 Dimensiones exteriores:

Imagen 004: Dimensiones exteriores del robot.

Page 8: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 7 de 38

2.6 Rango de operación:

Imagen 005: Rango de operación del robot.

Page 9: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 8 de 38

3. DESCRIPCIÓN DEL SERVOMOTOR

Un conjunto que consta de un convertidor y un servomotor, ambos de la marca Siemens:

Controlador Sinamics V60

Servomotor 1FL5

3.1 Controlador Sinamics V60: El controlador Sinamics V60 ha sido diseñado especialmente para hacer frente a aplicaciones de servomotor simples.

Imagen 006: Controlador Sinamics V60.

3.1.1 Características:

Modelo Posee certificado CE

Módulo Compacto con alimentación integrada, inversor y en bucle cerrado para el eje de un servomotor

Tensión de alimentación 220 V ... 240 V 3 VAC

Corriente de salida 4 versiones con corrientes de salida de 4A, 6A, 7A y 10A

Interfaz de impulsos / Dirección de consigna

5V diferencial de señales al sistema de control de nivel más alto

Ventiladores No, para un funcionamiento sin mantenimiento

Robustez Gran robustez a través de placas de circuito impreso recubiertas

Puesta en marcha y configuración

Sin necesidad de herramientas basadas en PC Puesta en servicio sencilla usando el operador integrado

Puesta en servicio Sencilla usando el operador integrado panel con teclas y pantalla de 7 segmentos

Capacidad de sobrecarga 200 %

Preconfiguración Guardada en la unidad

Compatibilidad de motor Servomotor 1FL5

3.1.2 Partes principales del controlador:

Page 10: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 9 de 38

Imagen 007: Controlador Sinamics V60.

3.2 Servomotor 1FL5: Está diseñado para funcionar con el convertidor Sinamics V60. Juntos, forman una manera óptima de coordinar un eje. Las combinaciones de motor / accionamiento preconfigurados aseguran rápida y fácil puesta en marcha. El diseño robusto ofrece una combinación óptima de la funcionalidad y la adecuada tecnología.

Imagen 008: Servomotor 1FL5.

Page 11: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 10 de 38

3.2.1 Características:

Tipo 4 tipos: 4 Nm, 6 Nm, 7.7 Nm y 10 Nm

Velocidad nominal 2.000 rpm

Encoder integrado TTL encoder con 2500 PPR (13-bit de resolución en conjunción con Sinamics V60)

Grado de protección IP54

Refrigeración Natural

Freno de mantenimiento Opcional

Conectores Robustos

Cables premontados De 5 o 10 m de largo

Eje motor Liso o con chaveta

Compatibilidad con controladores Sinamics V60

3.2.2 Vistas y dimensiones:

Imagen 009: Vistas y dimensiones del servomotor.

3.3 Esquema de conexión:

Imagen 010: Esquema de conexión del servomotor.

Page 12: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 11 de 38

4. DESCRIPCIÓN DEL AUTÓMATA PROGRAMABLE

Imagen 011: Autómata programable S7-1200

La gama S7-1200 abarca distintos controladores lógicos programables (PLC) que pueden utilizarse para numerosas tareas. Gracias a su diseño compacto, bajo costo y amplio juego de instrucciones, los PLCs S7-1200 son idóneos para controlar una gran variedad de aplicaciones.

Para este trabajo escogeremos el modelo DC/DC/DC puesto que tiene contadores rápidos y salida PWM.

4.1 Características:

Modelo S7-1200 CPU 1214C. Posee marcado CE

Clase DC/DC/DC

Entradas digitales 14 (6 Contadores rápidos)

Entradas analógicas 2 (0-10 V)

Salidas digitales 14 (4;100 kHz tren de impulsos)

Guardado de datos 100 kb

Voltaje de entrada/suministro 24 V DC

Rango admisible 20,4 ... 28n8 V DC

Para señal "0" 5 V DC a 1mA

Para señal "1" 15 V DC a 2,5 mA

Area de aplicación 1 mA

Salida de corriente permanente 0,5 mA

Montaje Carril DIN 35 mm

Dimensiones (Alto x Ancho x Profundidad)

110 x 100 x 75 mm

Temperatura -20 ºC ... +60 ºC

Reloj en tiempo real Si

Comunicación Profinet

Protección IP20

Page 13: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 12 de 38

5. SISTEMA DE CONTROL DEL ROBOT

Cuando movemos un servomotor necesitamos tres cosas, leer la señal de un encoder, en nuestro caso es de tipo absoluto, procesar esa señal, lo haremos mediante un control PID, y con la señal procesada enviar una señal al servomotor, señal denominada PWM. Para poder comprender la solución adoptada para el movimiento del robot de Mitsubishi necesitamos entender lo que es un encoder absoluto, como codifica este encoder las posiciones, lo que es un contador rápido, y porque necesitamos usarlos, el funcionamiento básico de un control PID y lo que es una señal PWM.

ENCODER ABSOLUTO El principio de funcionamiento de un encoder absoluto se basa en un disco que gira, con zonas transparentes y opacas interrumpe un haz de luz captado por fotorreceptores, luego éstos transforman los impulsos luminosos en impulsos eléctricos los cuales son tratados y transmitidos por la electrónica de salida.

Imagen 012: Encoder absoluto

En los encoders absolutos la posición queda determinada mediante la lectura del código de salida, el cual es único para cada una de las posiciones dentro de la vuelta. Por consiguiente los encoders absolutos no pierden la posición real cuando se corta la alimentación (incluso en el caso de desplazamientos), hasta un nuevo encendido (gracias a una codificación directa en el disco), la posición está actualizada y disponible sin tener que efectuar, como en el caso de los encoder incrementales la búsqueda del punto de cero. Analicemos ahora el código de salida que se deberá utilizar para definir la posición absoluta. La elección más obvia es la del código binario, porque fácilmente puede ser manipulado por los dispositivos de control externos para la lectura de la posición, sin tener que efectuar particulares operaciones de conversión.

Page 14: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 13 de 38

En vista que el código se toma directamente desde el disco (que se encuentra en rotación) la sincronización y la captación de la posición en el momento de la variación entre un código y el otro se vuelve muy problemática. En efecto, si por ejemplo tomamos dos códigos binarios consecutivos como 7(0111) 8(1000), se nota que todos los bit del código sufren un cambio de estado: una lectura efectuada en el momento de la transición podría resultar completamente errónea porque es imposible pensar que las variaciones sean instantáneas y que se produzcan todas en el mismo momento. Debido a este problema se utiliza una variante del código binario: el código Gray, el cual tiene la particularidad que al pasar entre dos códigos consecutivos (o desde el último código al primero), uno sólo cambia su estado.

Imagen 013: Comparación de numeración decimal, bcd y bcd Gray.

El código gray presenta como vemos grandes ventajas a la hora de la codificación, pero tiene el inconveniente de que las codificaciones que nosotros hacemos para asignar consignas a través de las entradas analógicas son mediante el código binario normal, por lo tanto debemos convertir dicha señal de código gray a código binario. Para hacer esta conversión tendremos en cuenta que nuestro encoder codifica la señal en 9 bits. La conversión se puede hacer mediante el siguiente esquema de puertas lógicas.

Imagen 014: Conversión bcd Grey - bcd con puertas lógicas.

Page 15: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 14 de 38

Este esquema es muy útil para poder hacer la conversión, pero nosotros programamos mediante contactos (KOP) por lo cual este esquema solo nos vale para hacer una traducción de funciones lógicas (FUP) a lenguaje que nosotros utilizamos KOP.

Imagen 014: Conversión bcd Grey – bcd con puertas lógicas.

Esto es un extracto del programa que se adjunta al final de cómo se traduce el esquema anteriormente mencionado de FUP a KOP. Los bits de entrada en código gray se almacenan en la ID1000,doble palabra, lo que quiere decir que se encuentran en ella 32bits, dado que el más significativo es el bit I1000.0 empezaremos a hacer esta conversión de este bit al bit I1001.0, lo que hace un total de 9 bits. Lo que vemos en la traducción de FUP a KOP es el funcionamiento de la función O exclusiva, solo si el valor de una de las entradas es 1 se almacena un 1 en el bit de salida, si los dos valores son 1 en la salida el valor es 0, valores que almacenaremos en la MW0, 16 bits que luego convertiremos en un numero real MD2, 32 bits. Ya sabemos el tipo de señal que nuestro encoder emite, pero necesitamos leerla y para ello necesitamos utilizar los contadores rápidos que incorpora nuestra CPU. El uso de estos contadores es imprescindible ya que aunque el código gray nos da una precisión muy grande la velocidad de lectura de las entradas del autómata no es suficiente.

Page 16: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 15 de 38

Nuestro autómata opera con una frecuencia de 3KHz, por así decirlo lee y escribe 3000 veces por segundo, velocidad muy alta pero no lo suficiente para las lecturas que vamos a realizar, ya que los movimientos continuos del motor pueden provocar lecturas incorrectas, por eso necesitamos usar los contadores rápidos. Dichos contadores pueden leer entradas con una frecuencia de 100000 KHz, velocidad muy superior a la del resto de entradas de nuestro autómata y que nos evita los errores de lectura. La CPU que utilizamos cuenta con 6 contadores rápidos, nosotros utilizaremos el primero, HSC_1, para ello debemos activarlo desde la configuración del dispositivo.

Imagen 015

Page 17: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 16 de 38

Basta con ponerse encima del HSC_1 seleccionar la opción Activar este contado rápido, una vez activado hay que seleccionar la función que va a realizar.

Imagen 016

De las diversas funciones nosotros usaremos la de contaje, contador A/B y que en el momento inicial empiece a contar hacia arriba, aunque eso no es lo más importante en nuestro caso debido a que para cada posición hay un valor, no es necesario que las incremente como en otro tipo de encoders. El resto de los parámetros del contador los dejaremos como vienen preconfigurados. Ya hemos visto que tipo de señal emite nuestro encoder, también explicamos como leer dicha señal y convertirla a un código binario que podamos entender. Ahora necesitamos tratar esa señal para poder dar una señal de salida que valla acorde a la señal de entrada. Para lograr este objetivo usaremos la función que TIA PORTAL incorpora, la función PID Compact. Pero antes de explicar cómo configurarla necesitamos saber que es un control PID. Un control PID aúna tres tipos de control distinto, el Proporcional, el Integral y el Derivado. Cada uno cumple una función distinta a la hora de hacer la regulación de cualquier sistema de regulación automática, en nuestro caso el de la posición de un servomotor. La parte proporcional produce una señal proporcional al error que comente nuestro encoder entre la cual va flotando por así decirlo nuestra variable, cuanto más pequeña sea la banda proporcional menor será el error que cometeremos en nuestra posición. Pero la parte proporcional por si sola es muy inestable de ahí que se necesite la parte integral. Esta parte integral proporciona una señal que corrige el error que se produce en la parte proporcional del control, reduciendo así el error en la posición y aproximando el valor de la magnitud real lo máximo posible a la consigna de posición que hemos fiado.

Page 18: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 17 de 38

La acción integral nos ayuda a vencer el error cometido en la parte proporcional pero esta acción podría ser demasiado grande generándonos igualmente un erro por eso también se incluye una acción derivada. La parte derivada del control se encarga de anticipar y disminuir la desviación excesiva que nos pudiera ocasionar la parte integral de nuestro sistema de control. Hay que reseñar que la parte derivada del control PID es la más difícil de regular, por eso en la calibración de nuestro sistema de posicionamiento veremos si tan solo con la parte proporcional e integral es suficiente para el objetivo que perseguimos, posicionar un eje correctamente, si con esta parte PI no es suficiente dejaremos la parte derivada a 0. Ahora que sabemos a groso modo como funciona un control PID, veremos cómo configurar la función PID Compact en TIA PORTAL.

Imagen 017

Activaremos esta función mediante la entrada EN, que activaremos mediante la marca M2.0. En esta función determinaremos la consigna mediante la entrada analógica ID67 (SETPOINT), y para determinar en qué posición se encuentra nuestro motor usaremos la MD2 (INPUT), que como explicamos anteriormente es donde almacenamos la conversión a código binario de la lectura del contador rápido HSC_1.

Page 19: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 18 de 38

Con los parámetros de entrada al controlador determinados necesitamos configurar su funcionamiento. Para ello veremos cómo configurar los parámetros necesarios para poder hacer una puesta en marcha inicial, el resto se deberán de ajustar si fuese necesario posteriormente.

Imagen 018

Lo primero es seleccionar el tipo de regulación, en nuestro caso al ser una posición de un eje seleccionaremos ángulo.

Imagen 019

Page 20: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 19 de 38

También debemos seleccionar los parámetros de entrada, seleccionaremos INPUT ya que la entrada del encoder la tomaremos de la MD2, marca interna del autómata y en la salida seleccionaremos OUTPUT_PWM ya que la seña que recibe el servomotor es una señal PWM como explicaremos más adelante.

Imagen 020

El ultimo parámetro a configurar son los parámetros PID, lo único que haremos ahora será seleccionar la estructura del regulador y pondremos PID, el resto de parámetros tendremos que regularlos cuando hagamos una puesta en marcha del sistema. Ya hemos leído la señal del encoder, procesado dicha señal y mediante el regulador PID damos la salida necesaria al servomotor, salida que como hemos configurado anteriormente es una salida PWM. La salid PWM, salida de modulación de ancho de pulso, podemos decir que esta salida emite 1 y 0 durante un periodo de tiempo determinado como se ve en la figura.

Imagen 021

El control PID emite una señal PWM distinta para cada posición del servomotor, en función de los tiempos de conexión y desconexión de dicha salida el eje adquiere una posición u otra.

Page 21: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 20 de 38

A continuación se incluye un esquema de conexionado al autómata programable:

Imagen 022 Conexionado del autómata y el servomotor del robot.

Page 22: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 21 de 38

6. SISTEMA DE CONTROL DEL SERVOMOTOR

USO DEL CONTROLADOR SINAMICS V60

El controlador SINAMICS V60 de siemens nos permite junto con la función motion control que incorpora el S7-1214 DC/DC/DC controlar la posición así como la velocidad de movimiento del servo motor, para ello hay que conectar el controlador al autómata como en el esquema adjunto. También conectaremos las entradas y salidas que nos permitan poner en marcha, seleccionar los parámetros y parar el motor.

Imagen 023: Conexionado

También se debe conectar el servomotor al controlador de la manera que se indica en el esquema para que no haya ningún error de funcionamiento.

Page 23: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 22 de 38

Imagen 024: Conexionado

Una vez que el hardware ha sido conectado de manera correcta podemos empezar a hacer el programa para poder mover el servomotor a través del TIA PORTAL. Lo primero que debemos de hacer después de crear el proyecto y seleccionar la CPU que usaremos, S7-1214 DC/DC/DC, es añadir un objeto tecnológico, en la sección MOTION & TECHNOLOGY, seleccionaremos MOTION CONTROL y en esa opción el comando TO_Axis_PTO.

Imagen 025

Page 24: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 23 de 38

Ahora que tenemos configurado tanto la CPU así como el controlador, podemos empezar a programar los comandos para el movimiento del motor. Para ello comenzaremos asignado el nombre a las variables que vamos a usar como se muestra en la imagen.

Imagen 026

Con las variables ya determinadas ya podemos estructurar nuestro programa, constará del Main[OB1] y dos bloques de función, FC_1 MOTION BLOCKS y FC_MOTION COMAND TABLE. Estos dos bloques son llamados siempre desde el Main y cada uno de ellos cumple una función distinta, basta con copiarlos y cambiar los parámetros para poder mover otro eje distinto dentro del mismo programa. FC_1 MOTION BLOCKS En este bloque se encuentran todos los boques necesarios para controlar el movimiento del servomotor a voluntad del operario. Siempre que incluyamos una instrucción o bloque de MOTION CONTROL, debemos de especificar para el eje que queremos dicha instrucción, mediante la entrada AXIS que contiene cada bloque.

Page 25: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 24 de 38

Durante la descripción veremos que la mayoría de bloques tiene una salida disponible llamada ERROR, esta salida se activa cada vez que se produce cualquier tipo de incidencia que impida el funcionamiento normal del servomotor, emitiendo una señal digital a la salida Q0.2 del autómata. Estos bloques también disponen de una salida de error analógica, por la cual mirando el valor de la salida podremos diagnosticar el fallo que se ha producido. A continuación describiremos cada bloque y su función. MC_POWER

Imagen 027

La primera instrucción o bloque es el MC_Power, cuando se le da la orden de activarse esta función habilita el motor para su funcionamiento, si esta instrucción no está activa el resto de bloques no funcionan. Para ello debemos de dar la señal por la entrada ENABLE a través de la entrada I0.3. Cuando el motor esta activado la salida STATUS dará señal a la salida Q0.3.

Page 26: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 25 de 38

MC_RESET

Imagen 028

La instrucción reset nos permite devolver el motor a una posición preconfigurada si activamos la entrada I0.4 del autómata. Tenemos que tener en cuenta que si estamos ejecutando otra instrucción o no ha sido subsanado el error el programa no ejecutara la instrucción reset.

MC HOME

Imagen 029

Mediante la orden HOME mandamos al eje a una posición que nosotros hayamos configurado en el parámetro POSITION de dicha función. Esta instrucción es muy importante debido a que el resto de movimientos y posiciones se determinaran gracias a la posición de origen que nosotros hayamos fijado. Si no configuráramos este parámetro y no mandamos el motor a HOME al inicio del funcionamiento de la maquina el resto de posiciones y lecturas del encoder serian erróneas. Para mover el servomotor a dicha posición debemos de activar la entrada I0.5.

Page 27: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 26 de 38

MC MOVE ABSOLUTE

Imagen 030

Esta instrucción nos permite mover nuestro eje con referencia a la posición HOME, de ahí que sea imprescindible que nuestro servomotor esta primeramente en esta posición ya que determinara el resto. Para poder configurar esta posición absoluta se dispone de la entrada analógica ID64 que nos permite regular la consigna de posición y también de la entrada analógica ID68 que nos permite regular la velocidad del desplazamiento.

Page 28: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 27 de 38

MC MOVE RELATIVE

Imagen 031

Esta instrucción nos permite mover nuestro servomotor de manera relativa, es decir sin necesidad de darle una posición de referencia HOME, el inconveniente de esta instrucción es que no tenemos ninguna referencia a la hora de dar una consigna. Mediante la entrada I0.7 ejecutamos dicha instrucción y mediante las entradas analógicas de posición y velocidad configuramos dichos parámetros. MC MOVE VELOCITY

Imagen 032

Dicha instrucción nos permite mover el servomotor de forma continua a la velocidad fijada en el parámetro VELOCITY mediante la entrada analógica ID68, activando la entrada I1.2.

Page 29: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 28 de 38

MC MOVE JOG

Imagen 033

Esta es la función que nos permite poner a punto nuestro servomotor, mediante la entrada I1.3 movemos nuestro eje en sentido positivo y mediante la entrada I1.4 en sentido negativo a la velocidad marcada por el parámetro de velocidad que cambiamos mediante la entrada analógica ID68. Gracias a esta instrucción podemos ver si nuestro eje ha sido montado correctamente y ver si los finales de carrera han sido posicionados de la manera adecuada.

Page 30: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 29 de 38

MC HALT

Imagen 034

Con esta instrucción detenemos nuestro eje, deteniendo cualquier otra orden que se esté ejecutando. Accionando la entrada I1.5 el eje se detiene de la manera que hayamos fijado en cualquier posición. Estos son todos los bloques que encontramos en nuestro FC1, pero aun nos queda otra función de nuestro programa que se encuentra en el FC_MOTION CONTROL TABLE. MC COMMAND TABLE

Imagen 035

Page 31: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 30 de 38

Gracias a la tabla de peticiones, podemos reunir en una sola instrucción un conjunto de movimientos para que nuestro eje se mueva de manera continua y automática a través de dicha secuencia de órdenes. Para ello basta con accionar la entrada I1.6. Estas que hemos visto son todas las instrucciones que integran nuestro programa, pero no basta con poner las funciones también hay que configurar tanto el eje como la tabla de variables de la manera que se explica a continuación. CONFIGURACION DEL EJE El TIA PORTAL nos permite configurar todos los parámetros de nuestro eje, pero a continuación explicaremos la configuración básica que nos permite accionarlo, el resto de parámetros siempre pueden ser modificados por el usuario si lo creyese conveniente cuando realiza la puesta en marcha del servomotor.

imagen 036

Lo primero que se debe hacer es seleccionar la salida del generador de pulsos, en nuestro caso la 1, y el programa ya configura el resto de parámetros. Una vez configurado esto, necesitamos configurar tanto las señales de accionamiento como la vigilancia de la posición del eje.

Page 32: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 31 de 38

Imagen 037

En nuestro caso conectamos a la salida Q0.4 la salida que habilita al servomotor para que pueda moverse como nosotros queramos y a la entrada I1.1 la señal para que se pueda dar la habilitación al motor. Ahora que nuestro servomotor tiene configurados los accionamientos necesitamos saber en qué punto se encuentra para que los movimientos sean exactos, por eso tenemos que configurar los parámetros de vigilancia de posición.

Imagen 038

En nuestro caso vamos a controlar la posición tanto por finales de carrera físicos, HW, como mediante el software, SW, gracias al encoder que incorpora nuestro servomotor. Los finales de carrera físicos los hemos cableado a las entradas I0.1 e I0.2, que debemos de indicárselo en esta sección de la configuración. Aquí también se especifican los valores para controlar mediante el encoder las posiciones más extremas, pero esos valores deben ser especificados durante la puesta en marcha. Una vez que tengamos configurados estos parámetros debemos de determinar el sistema de referencia que vamos a utilizar.

Page 33: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 32 de 38

Imagen 039

Lo primero que debemos hacer es determinar qué entrada nos dará nuestro punto de referencia, en nuestro caso I0.0. Con nuestro punto de referencia tomado, debemos de seleccionar la manera en que nuestro se moverá con respecto a él.

Imagen 040

Para ello debemos de entrar en el parámetro referenciar, en la sección Activo. En este parámetro se nos muestra el diagrama de movimiento de nuestro eje, con el punto de referencia HOME, nuestro eje se aproximará hacia él de la manera que se nos muestra en el grafico. Nuestro eje ya está configurado para poder moverse y hacer una puesta a punto para configurar los parámetros que no hemos visto, pero como veíamos antes podemos usar una tabla de peticiones que también debemos de configurar para que se pueda mover de manera automática.

Page 34: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 33 de 38

CONFIGURACION DE LA TABLA DE COMANDOS Los parámetros básicos de la tabla nos los configura por defecto y no es necesario modificarlos. Pero los parámetros avanzados si los debemos de modificar.

Imagen 041

Debemos de seleccionar primeramente el eje que queremos gobernar desde esta tabla, en nuestro caso el Eje_1.

Imagen 042

Posteriormente debemos de determinar la aceleración y deceleración que alcanzara nuestro eje mientras se aproxima a los puntos de consigna.

Page 35: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 34 de 38

Imagen 043

Y por ultimo seleccionaremos tanto la velocidad máxima como también las posiciones extremas que tomara nuestro eje. De esta manera mediante el programa que hemos hecho junto con la configuración del eje así como de la tabla de peticiones seremos capaces de mover y controlar la posición de un servomotor a través del controlado r SINAMICS V60 y el autómata S7-1214 DC/DC/DC.

Page 36: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 35 de 38

7. PRESUPUESTO

7.1 Presupuesto para el sistema de control del robot:

Cantidad Descripción Marca Referencia Precio

1 Pulsador rasante verde,1 NA SIEMENS 3SB3202-0AA41

7,37

1 Pulsador rasante rojo, 1 NC

SIEMENS 3SB3203-0AA21

7,37

1

Lámpara de señalización completa c/LED, plástica, IP66, 24VCA/CC, ROJA

SIEMENS

3SB3244-6AA20

12,14

1

Lámpara de señalización completa c/LED, plástica, IP66, 24VCA/CC, VERDE

SIEMENS

3SB3244-6AA40

12,14

1

CPU 1214 FC, CPU COMPACTA, DC/DC/DC, E/S INTEGRADAS: 14 DI 24V DC; 10 DO 24 V DC; 2 AI 0 - 10V DC, ALIMENTACION: DC 20,4 - 28,8 V DC, MEMORIA DE PROGRAMA/DATOS 125KB

SIEMENS

6ES7214-1AF40-0XB0

293,00

Total 332,02 €

Page 37: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 36 de 38

7.2 Presupuesto para el sistema de control del servomotor

Cantidad Descripción Marca Referencia Precio

11 Pulsador rasante verde, 1 NA SIEMENS 3SB3202-0AA41

81,07

1 Pulsador rasante rojo, 1 NC SIEMENS 3SB3203-0AA21

7,37

1 Lámpara de señalización completa c/LED, plástica, IP66, 24VCA/CC, ROJA

SIEMENS 3SB3244-6AA20

12,14

1 Lámpara de señalización completa c/LED, plástica, IP66, 24VCA/CC, VERDE

SIEMENS 3SB3244-6AA40

12,14

1 Lámpara de señalización completa c/LED, plástica, IP66, 24VCA/CC, AMARILLA

SIEMENS 3SB3244-6AA30

12,14

1 CPU 1214 FC, CPU COMPACTA, DC/DC/DC, E/S INTEGRADAS: 14 DI 24V DC; 10 DO 24 V DC; 2 AI 0 - 10V DC, ALIMENTACION: DC 20,4 - 28,8 V DC, MEMORIA DE PROGRAMA/DATOS 125KB

SIEMENS 6ES7214-1AF40-0XB0

293,00

1 SERVOMOTOR SINCRONO 1FL5 - 4NM - Chaveta con Freno

SIEMENS 1FL5060-0AC21-0AB0

241,83

1 SINAMICS V60, CPM60.1

SIEMENS 6SL3210-5CC17-0UA0

412,42

Total 1072,11 €

Page 38: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 37 de 38

8. BIBLIOGRAFÍA

Real Academia Española de la Lengua http://www.rae.es/

Actualidad y Recursos sobre Automatización http://www.infoplc.net/

Manual de sistema, Controlador Programable Siemens S7-1200

Manual del servomotor Sinamics V60 Manual Motion control Siemens

Manual Robot Mitsubishi MELFA RV-2SDB

Page 39: Proyecto mecatronica industrial control de servomotores

Proyecto de Mecatrónica Industrial Página 38 de 38

10. PROGRAMACIONES

Se anexan a continuación los programas para ambos sistemas de control, realizados con el software de siemens TIA Portal V13.

Page 40: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

ENCODER ABSOLUTO / PLC_1 [CPU 1214C DC/DC/DC] / Bloques de programa

Main [OB1]

Main Propiedades

General

Nombre Main Número 1 Tipo OB Idioma KOP

Numeración automática

Información

Título "Main Program Sweep (Cy‐cle)"

Autor Comentario Familia

Versión 0.1 ID personaliza‐da

Main

Nombre Tipo de datos Valor predet.

Temp

Constant

Segmento 1:

"Tag_2"

%I1000.0%I1000.0

"Tag_4"

%M0.0%M0.0

Segmento 2:

Page 41: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

"Tag_5"

%I1000.1%I1000.1

"Tag_4"

%M0.0%M0.0

"Tag_6"

%M0.1%M0.1

"Tag_5"

%I1000.1%I1000.1

"Tag_4"

%M0.0%M0.0

Segmento 3:

"Tag_7"

%I1000.2%I1000.2

"Tag_6"

%M0.1%M0.1

"Tag_8"

%M0.2%M0.2

"Tag_7"

%I1000.2%I1000.2

"Tag_6"

%M0.1%M0.1

Segmento 4:

"Tag_9"

%I1000.3%I1000.3

"Tag_8"

%M0.2%M0.2

"Tag_10"

%M0.3%M0.3

"Tag_9"

%I1000.3%I1000.3

"Tag_8"

%M0.2%M0.2

Segmento 5:

Page 42: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

"Tag_11"

%I1000.4%I1000.4

"Tag_10"

%M0.3%M0.3

"Tag_12"

%M0.4%M0.4

"Tag_11"

%I1000.4%I1000.4

"Tag_10"

%M0.3%M0.3

Segmento 6:

"Tag_13"

%I1000.5%I1000.5

"Tag_12"

%M0.4%M0.4

"Tag_14"

%M0.5%M0.5

"Tag_13"

%I1000.5%I1000.5

"Tag_12"

%M0.4%M0.4

Segmento 7:

"Tag_15"

%I1000.6%I1000.6

"Tag_14"

%M0.5%M0.5

"Tag_17"

%M0.6%M0.6

"Tag_15"

%I1000.6%I1000.6

"Tag_14"

%M0.5%M0.5

Segmento 8:

Page 43: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

"Tag_16"

%I1000.7%I1000.7

"Tag_17"

%M0.6%M0.6

"Tag_18"

%M0.7%M0.7

"Tag_16"

%I1000.7%I1000.7

"Tag_17"

%M0.6%M0.6

Segmento 9:

"Tag_19"

%I1001.0%I1001.0

"Tag_18"

%M0.7%M0.7

"Tag_20"

%M1.0%M1.0

"Tag_19"

%I1001.0%I1001.0

"Tag_18"

%M0.7%M0.7

Segmento 10:

CONV

toInt Real

"Tag_27"

%MW0%MW0

"Tag_28"

%MD2%MD2

EN

IN

ENO

OUT

toInt Real

Segmento 11:

Page 44: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

"Bloque_1"

%FC1%FC1

EN ENO

Page 45: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

ENCODER ABSOLUTO / PLC_1 [CPU 1214C DC/DC/DC] / Bloques de programa

Bloque_1 [FC1]

Bloque_1 Propiedades

General

Nombre Bloque_1 Número 1 Tipo FC Idioma KOP

Numeración automática

Información

Título Autor Comentario Familia

Versión 0.1 ID personaliza‐da

Bloque_1

Nombre Tipo de datos Valor predet.

Input

Output

InOut

Temp

Constant

Return

Bloque_1 Void

Segmento 1:

PID_Compact

"Tag_30"

%M2.0%M2.0

"PID_Compact_1"

%DB2%DB2

"POSICION"

%ID67%ID67

"Tag_28"

%MD2%MD2

W#16#0

...

...

...

...

...

EN

Setpoint

Input

Input_PER

ENO

Output

Output_PER

Output_PWM

State

Error

Page 46: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

Segmento 2:

S

"MOTOR ON"

%I0.2%I0.2

"Tag_30"

%M2.0%M2.0

Segmento 3:

R

"MOTOR OF"

%I0.3%I0.3

"Tag_30"

%M2.0%M2.0

Segmento 4:

"Tag_30"

%M2.0%M2.0 "MOTOR FUNCIONANDO"

%Q0.1%Q0.1

Segmento 5:

"Tag_30"

%M2.0%M2.0

"MOTOR PARADO"

%Q0.2%Q0.2

Page 47: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

SERVOMOTOR SINAMICS V60 / PLC_1 [CPU 1214C DC/DC/DC] / Bloques de programa

Main [OB1]

Main Propiedades

General

Nombre Main Número 1 Tipo OB Idioma KOP

Numeración automática

Información

Título "Main Program Sweep (Cy‐cle)"

Autor Comentario Familia

Versión 0.1 ID personaliza‐da

Main

Nombre Tipo de datos Valor predet.

Temp

Constant

Segmento 1:

"FC_1 MOTION BLOCKS"

%FC1%FC1

EN ENO

Segmento 2:

"FC_ MOTION CONTROL COMAND TABLE"

%FC4%FC4

EN ENO

Page 48: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

SERVOMOTOR SINAMICS V60 / PLC_1 [CPU 1214C DC/DC/DC] / Bloques de programa

FC_1 MOTION BLOCKS [FC1]

FC_1 MOTION BLOCKS Propiedades

General

Nombre FC_1 MOTION BLOCKS Número 1 Tipo FC Idioma KOP

Numeración automática

Información

Título Autor Comentario Familia

Versión 0.1 ID personaliza‐da

FC_1 MOTION BLOCKS

Nombre Tipo de datos Valor predet.

Input

Output

InOut

Temp

Constant

Return

FC_1 MOTION BLOCKS Void

Segmento 1:

Page 49: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

MC_Power

"MC_Power_DB"

%DB2%DB2

"Eje_1"

%DB1%DB1

"MOTOR ON"

%I0.3%I0.3

0

"MOTOR OK"

%Q0.3%Q0.3

...

"ERROR"

%Q0.2%Q0.2

...

...

EN

Axis

Enable

StopMode

ENO

Status

Busy

Error

ErrorID

ErrorInfo

Segmento 2:

MC_Reset

"MC_Reset_DB"

%DB3%DB3

"Eje_1"

%DB1%DB1

"RESET"

%I0.4%I0.4

...

"ERROR"

%Q0.2%Q0.2

EN

Axis

Execute

ENO

Done

Error

Segmento 3:

Page 50: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

MC_Home

"MC_Home_DB"

%DB4%DB4

"Eje_1"

%DB1%DB1

"HOME"

%I0.5%I0.5

0.0

0

...

"ERROR"

%Q0.2%Q0.2

EN

Axis

Execute

Position

Mode

ENO

Done

Error

Segmento 4:

MC_MoveAbsolute

"MC_MoveAbsolute_

DB"

%DB5%DB5

"Eje_1"

%DB1%DB1

"MOV.ABSOLUTO"

%I0.6%I0.6

"POSICION"

%ID64%ID64

"VELOCIDAD"

%ID68%ID68

...

"ERROR"

%Q0.2%Q0.2

EN

Axis

Execute

Position

Velocity

ENO

Done

Error

Segmento 5:

Page 51: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

MC_MoveRelative

"MC_MoveRelative_

DB"

%DB6%DB6

"Eje_1"

%DB1%DB1

"MOV.RELATIVO"

%I0.7%I0.7

"POSICION"

%ID64%ID64

"VELOCIDAD"

%ID68%ID68

...

"ERROR"

%Q0.2%Q0.2

EN

Axis

Execute

Distance

Velocity

ENO

Done

Error

Segmento 6:

MC_MoveVelocity

"MC_MoveVelocity_

DB"

%DB7%DB7

"Eje_1"

%DB1%DB1

"MOV.CONTINUO"

%I1.2%I1.2

"VELOCIDAD"

%ID68%ID68

false

...

...

EN

Axis

Execute

Velocity

Current

ENO

InVelocity

Error

Segmento 7:

Page 52: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

MC_MoveJog

"MC_MoveJog_DB"

%DB8%DB8

"Eje_1"

%DB1%DB1

"PUESTA EN SERVICIO +"

%I1.3%I1.3

"PUESTA EN SERVICIO -"

%I1.4%I1.4

"VELOCIDAD"

%ID68%ID68

...

"ERROR"

%Q0.2%Q0.2

EN

Axis

JogForward

JogBackward

Velocity

ENO

InVelocity

Error

Segmento 8:

MC_Halt

"MC_Halt_DB"

%DB9%DB9

"Eje_1"

%DB1%DB1

"PARO"

%I1.5%I1.5

...

...

EN

Axis

Execute

ENO

Done

Error

Page 53: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

SERVOMOTOR SINAMICS V60 / PLC_1 [CPU 1214C DC/DC/DC] / Bloques de programa

FC_ MOTION CONTROL COMAND TABLE [FC4]

FC_ MOTION CONTROL COMAND TABLE Propiedades

General

Nombre FC_ MOTION CONTROL CO‐MAND TABLE

Número 4 Tipo FC Idioma KOP

Numeración automática

Información

Título Autor Comentario Familia

Versión 0.1 ID personaliza‐da

FC_ MOTION CONTROL COMAND TABLE

Nombre Tipo de datos Valor predet.

Input

Output

InOut

Temp

Constant

Return

FC_ MOTION CONTROL COMAND TABLE Void

Segmento 1:

Page 54: Proyecto mecatronica industrial control de servomotores

Totally Integrated

Automation Portal

MC_CommandTable

"MC_CommandTable_

DB"

%DB10%DB10

"Eje_1"

%DB1%DB1

"Tabla de peticiones_1"

%DB11%DB11

"PRECONFIGURACION"

%I1.6%I1.6

...

"ERROR"

%Q0.2%Q0.2

EN

Axis

CommandTable

Execute

ENO

Done

Error