Date post: | 19-Feb-2017 |
Category: |
Technology |
Upload: | adrian-fernandez-samalea |
View: | 465 times |
Download: | 30 times |
Adrián Fernández Samalea Daniel Cattinari Camblor CFGS Mecatrónica Industrial CIFP la Laboral
CONTROL DE ROBOT Y 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
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
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.
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
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.
Proyecto de Mecatrónica Industrial Página 6 de 38
2.5 Dimensiones exteriores:
Imagen 004: Dimensiones exteriores del robot.
Proyecto de Mecatrónica Industrial Página 7 de 38
2.6 Rango de operación:
Imagen 005: Rango de operación del robot.
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:
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.
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.
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
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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 €
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 €
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
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.
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:
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:
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:
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:
Totally Integrated
Automation Portal
"Bloque_1"
%FC1%FC1
EN ENO
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
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
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
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:
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:
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:
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:
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
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:
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