integraciÓn y puesta en marcha de un … · resumen el trabajo constó de la integración de un...

100
INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN TRABAJO FINAL UNIVERSIDAD NACIONAL DE LA PAMPA FACULTAD DE INGENIERÍA INGENIERÍA ELECTROMECÁNICA Autor: Alberto Carlos ALONSO Tutor: Dr. Ing. Rogelio L. HECKER GENERAL PICO, 8 de Agosto de 2011

Upload: doanminh

Post on 20-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE

POSICIONAMIENTO DE ALTA PRECISIÓN

TRABAJO FINAL

UNIVERSIDAD NACIONAL DE LA PAMPA

FACULTAD DE INGENIERÍA

INGENIERÍA ELECTROMECÁNICA

Autor: Alberto Carlos ALONSO

Tutor: Dr. Ing. Rogelio L. HECKER

GENERAL PICO, 8 de Agosto de 2011

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

ÍNDICE ÍNDICE ............................................................................................................................ 2 AGRADECIMIENTOS .................................................................................................... 3 RESUMEN ...................................................................................................................... 4 ORGANIZACIÓN DEL TRABAJO ................................................................................. 5 CAPÍTULO 1: MESA DE POSICIONAMIENTO DE ALTA VELOCIDAD ...................... 6

INTRODUCCIÓN ........................................................................................................ 6

PROCEDIMIENTO DE DISEÑO ................................................................................. 7

ESPECIFICACIONES DE DISEÑO ............................................................................ 9

SELECCIÓN DE COMPONENTES PREFABRICADOS ........................................... 10

MODELO DEL SISTEMA .......................................................................................... 15

CAPÍTULO 2: INTEGRACIÓN DEL CONTROLADOR CNC ....................................... 18 INTRODUCCIÓN ...................................................................................................... 18

SELECCIÓN DEL CONTROLADOR ......................................................................... 19

CONEXIONES .......................................................................................................... 22

MANEJO Y PROGRAMACIÓN INTERNA ................................................................ 33

CAPÍTULO 3: MONTAJE DE LA ESCALA LINEAL ................................................... 42 INTRODUCCIÓN ...................................................................................................... 42

SELECCIÓN .............................................................................................................. 43

MONTAJE ................................................................................................................. 45

CONEXIONES .......................................................................................................... 53

CAPÍTULO 4: PUESTA EN MARCHA DEL SISTEMA ............................................... 55 SOFTWARE DE CONTROL ..................................................................................... 55

AJUSTES DEL SISTEMA ......................................................................................... 56

PROGRAMACIÓN DE LAZOS DE CONTROL INTERNOS ..................................... 61

PROGRAMACIÓN DE LAZOS DE CONTROL PERSONALIZADOS ....................... 67

CAPÍTULO 5: CONCLUSIONES ................................................................................. 68 APÉNDICES ................................................................................................................. 69

APÉNDICE A: PLANOS DE FABRICACIÓN Y FIJACIÓN ...................................... 69 APÉNDICE B: PWIN32PRO2: PROGRAMA DEL CONTROLADOR ADV. 400 .... 70 APÉNDICE C: PMACTUNINGPRO2: PROGRAMA DE SINTONIZACIÓN ............. 80 APÉNDICE D: ALGORITMOS PERSONALIZADOS DE CONTROL ...................... 91

REFERENCIAS ............................................................................................................ 99

Alberto C. Alonso 2

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

AGRADECIMIENTOS A mis padres y a mis hermanas por estar incondicionalmente brindándome

apoyo y la contensión para poder transitar los tiempos difíciles.

Alberto C. Alonso 3

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

RESUMEN El trabajo constó de la integración de un controlador numérico a una mesa de

posicionamiento XY, la cual se encontraba controlada por un sistema de arquitectura

abierta, por medio de una placa adquisidora de datos. Dicha integración debía

realizarse de manera tal que se pudieran utilizar alternativamente los dos sistemas de

control.

Conjuntamente con esta integración del controlador se realizó la instalación de

una escala lineal para medir la posición del eje de desplazamiento Y.

Una vez finalizados estos trabajos se procedió a poner en marcha el nuevo

sistema de control de la mesa de posicionamiento XY y realizar los ajustes

correspondientes para dejar en funcionamiento el sistema completo.

Los logros de este trabajo fueron la instalación de la escala lineal cumpliendo

todos los requisitos especificados en el manual de montaje, y la integración y puesta en

marcha del controlador, como también la sintonización de los lazos de control para los

motores, de manera tal que los errores de seguimiento a trayectorias conocidas se

mantuvieran dentro de los valores logrados con el sistema de control inicial, es decir, el

de arquitectura abierta.

Finalmente se dejan dos guías de manejo para los programas utilizados en la

sintonización y programación de los lazos de control, en las cuales se detallan las

diferentes funciones que se utilizaron para realizar el actual trabajo.

Alberto C. Alonso 4

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

ORGANIZACIÓN DEL TRABAJO

El presente trabajo final detalla las etapas que se llevaron a cabo para lograr la

integración y puesta en marcha de un controlador numérico en un sistema de

posicionamiento de alta precisión. El mismo está formado por 5 capítulos los cuales se

describen brevemente a continuación.

El primer capítulo corresponde al estudio del sistema existente, a fin de conocer

los distintos componentes que lo conforman y las principales características de los

mismos. Para ello se utilizaron los manuales y los informes que se realizaron del

sistema.

Por medio del segundo capítulo se podrá conocer cómo se realizó la integración

del controlador numérico al sistema de posicionamiento. Dicha integración corresponde

a las conexiones del controlador numérico computarizado (CNC) y a la configuración de

parámetros iniciales de funcionamiento. También se describe el manejo del panel de

control del CNC y sus principales características.

El tercer capítulo involucra el montaje de la escala lineal, donde se realiza la

descripción de la escala lineal y sus características más importantes. Luego se detalla

el procedimiento llevado a cabo para realizar el montaje, como también las conexiones

que fueron necesarias para vincular la escala lineal al controlador numérico.

El cuarto capítulo describe las características del software de control utilizado

para manejar y configurar al controlador numérico. También se detallan los pasos que

se llevaron a cabo para realizar la sintonización, optimización y ajuste de ganancias de

los lazos de control del sistema de posicionamiento. En donde se utilizaron

trayectorias típicas para analizar y mejorar el error de seguimiento.

También se presenta un quinto capítulo que contiene las conclusiones más

importantes a las que se arribaron. Finalmente se presentan cuatro apéndices que

contienen planos de fabricación de soportes para fijación de la escala lineal, guías de

manejo del programa PWIN32PRO2 y PMACTUNINGPRO2, y un apéndice dedicado al

desarrollo de algoritmos personalizados de control.

Alberto C. Alonso 5

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

CAPÍTULO 1: MESA DE POSICIONAMIENTO DE ALTA VELOCIDAD INTRODUCCIÓN

El presente capítulo contempla los distintos pasos que se llevaron a cabo para la

construcción de la mesa de posicionamiento, selección de los componentes

prefabricados y el modelo matemático utilizado para representarla. Los datos aquí

expuestos fueron extraídos de las publicaciones [1], [2] y [3] realizadas de la mesa de

posicionamiento, conjuntamente con los manuales de selección de motores [4] y

controladores [5].

Considero necesario incluir toda esta información dentro del proyecto, dado que

forma parte del sistema con que trabajé, y el conocimiento básico de la misma me fue

necesario para iniciar el trabajo de integración y puesta en marcha de la mesa de

posicionamiento y el controlador CNC.

La mesa en cruz o mesa XY es una configuración de dos ejes de

desplazamiento montados perpendicularmente uno sobre otro. Cada eje de

posicionamiento es una configuración de distintos elementos que permiten el

desplazamiento de un carro a lo largo de un recorrido útil. Éste se encuentra formado

por un motor eléctrico acoplado a un sistema tornillo-tuerca, un carro solidario a dicha

tuerca, un sistema de guías para el carro y soportes para sostener el tornillo en sus

extremos, tal como se muestra en la FIGURA 1-1.

FIGURA 1-1: Esquema y eje real de posicionamiento

Alberto C. Alonso 6

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Todo el conjunto está montado sobre una base especialmente diseñada para

soportar tanto los esfuerzos estáticos como los dinámicos. En la FIGURA 1-2 puede

verse la mesa de posicionamiento modelada en 3D, como también la mesa real.

Desde el punto de vista estructural, los grandes esfuerzos dinámicos, producto

de las altas aceleraciones, requieren una estructura más rígida para evitar

deformaciones. En el proceso de diseño se presentaron dos especificaciones que están

en clara contraposición: por un lado, la mesa debía soportar los esfuerzos dinámicos

minimizando las deformaciones, lo cual se puede lograr aumentando la masa del

conjunto, pero al mismo tiempo, la exigencia de altas aceleraciones obligaba a reducir

las inercias en juego.

FIGURA 1-2: Modelo 3D de la mesa XY

PROCEDIMIENTO DE DISEÑO

Para el diseño de la mesa se utilizó un procedimiento iterativo a partir de la

suposición de valores iniciales para ciertas variables de diseño. En la FIGURA 1-3 se

puede ver un diagrama de flujo del mencionado procedimiento.

Como comienzo de este proceso se definió las prestaciones de la máquina para

un potencial usuario. Esto incluyó área de trabajo, tipo y ciclos de trabajo, cargas útiles,

precisión y vida útil de la máquina, entre otros. A partir de estos datos se obtuvieron los

parámetros básicos de la máquina, entre los cuales se pueden citar el área de trabajo,

aceleraciones máximas, errores geométricos permitidos, vida útil de las partes, carga

útil, velocidades máximas, etc.

Una vez conocidas las condiciones de diseño, y realizadas algunas suposiciones

(masas de los carros y paso del tornillo) se seleccionaron elementos comerciales como

el tornillo-tuerca y el conjunto patines-rieles.

Alberto C. Alonso 7

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

FIGURA 1-3: Diagrama de flujo del procedimiento de diseño

Teniendo en cuenta las dimensiones de los elementos seleccionados y las

deformaciones máximas permitidas, se diseñaron las bases de cada eje de

desplazamiento y se realizó el mecanizado de otras piezas. Finalizado el diseño de

estas piezas, se logró conocer con mayor precisión las masas en juego, con lo que se

pudo recalcular los elementos prefabricados y comprobar el cumplimiento de las

especificaciones.

Seguidamente se procedió a la selección de los motores, teniendo en cuenta las

aceleraciones y velocidades de diseño, así como también los valores de inercia en

juego. Se recalculó el valor del paso del tornillo que minimiza el torque motor

necesario, y se comparó este valor con el del paso seleccionado.

Con el torque máximo definido para cada motor, se calcularon los elementos de

unión necesarios para fijar las distintas piezas del ensamblaje. Estos elementos debían

proporcionar la unión suficiente para evitar movimientos relativos entre las mismas,

bajo las condiciones más desfavorables.

Finalmente, con las fijaciones definidas, se completó el diseño de los elementos

a fabricar.

Alberto C. Alonso 8

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

ESPECIFICACIONES DE DISEÑO

Dentro de las especificaciones de diseño se definió que el dispositivo cumpliera

con las exigencias de mecanizado de alta velocidad. Por lo tanto, esto se tomó como

punto de partida. Tales especificaciones se detallan en la TABLA 1-1.

Requerimientos Valor Aceleración lineal máxima (de cada eje) 21 (9,8 / )g m s

Velocidad lineal máxima 42 / (0,7 / )m min m s

Deformaciones estáticas máximas 20e mµ≤

Área de trabajo (X x Y) 530 730mm x mm

Vida útil 80.000hs

Carga útil 145kg TABLA 1-1: Especificaciones de diseño

También fue necesario determinar las condiciones básicas de esfuerzos y

velocidades de las distintas etapas de un mecanizado de alta velocidad típico. Para

esto, se debieron tener en cuenta las distintas condiciones de operación de cada eje de

la máquina, que se definen a continuación.

• Maquinado: Se suponen diferentes operaciones de desbaste y acabado usando

diferentes combinaciones de diámetros de fresas y velocidades de avance. A

partir de estas operaciones y sus porcentajes de utilización se calculó una fuerza

efectiva media y una velocidad de avance media.

• Aceleración y desaceleración: Este es el caso en que el eje cambia de

velocidad, ya sea que acelera desde cero hasta una velocidad determinada o

que se está moviendo con cierta velocidad y debe detenerse. La fuerza que

actúa en este caso está relacionada con la aceleración máxima del eje y con las

masas en movimiento.

• Movimientos rápidos: Los movimientos rápidos representan los movimientos en

vacío (sin fuerza de maquinado) donde el eje se mueve con la velocidad

máxima. Bajo estas condiciones, actúa la fuerza de fricción entre los patines y

las guías más la fricción entre el tornillo y la tuerca.

• En reposo, con maquinado: En esta situación, un eje se encuentra quieto

mientras el otro está maquinando, por lo que el eje que no se mueve también

debe soportar los esfuerzos de corte.

Alberto C. Alonso 9

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

• En reposo, sin maquinado: En este último caso el sistema no soporta ningún

esfuerzo ya que se están realizando labores de cambio de herramienta, cambio

de pieza de trabajo, entre otras. Sin embargo, esta se debe tener en cuenta para

el cálculo de la vida útil de la máquina.

Para cada una de las condiciones de trabajo mencionadas anteriormente se

debieron definir las fuerzas que actúan, la velocidad lineal y rotacional, y el porcentaje

de aplicación de cada caso. Los resultados encontrados, luego de realizar los cálculos

pertinentes, se pueden visualizar en la TABLA 1-2.

Eje X Eje Y Operación n [rpm] F [N] Uso [%] n [rpm] F [N] Uso [%]

Maquinado 900 825 30 900 825 30

Movimientos rápidos 4.200 120 5 4.200 130 5

Aceleración y desaceleración 450 1.537 8 450 2625 8

En reposo, con maquinado 0 825 30 0 825 30

En reposo, sin maquinado 0 0 27 0 0 27 TABLA 1-2: Condiciones de operación de cada eje

SELECCIÓN DE COMPONENTES PREFABRICADOS

Como se dijo anteriormente algunos elementos se fabricaron, mientras que para

otras partes de la mesa se seleccionaron elementos comerciales prefabricados. Estos

son el conjunto tornillo-husillo de bolas recirculantes y el conjunto patines-guías.

También se seleccionaron los soportes para el tornillo, el tipo de maquinado de los

extremos del tornillo, el soporte para la tuerca, etc.

Para la selección del husillo de bolas se calculó la capacidad de carga dinámica

del husillo teniendo en cuenta un promedio de fuerzas, para lo cual se utilizaron las

condiciones de operación calculadas anteriormente.

Utilizando las fórmulas y procedimientos definidos por el fabricante del husillo se

obtuvieron los requerimientos de carga dinámica para los ejes X e Y, cuyo valores

fueron CtX = 11.066 N y CtY = 15.678 N, respectivamente.

Con estos datos se seleccionó el tornillo más adecuado y se definió el diámetro y

paso del mismo. Teniendo en cuenta un balance entre la velocidad y torque de los

motores, se optó por un paso del tornillo de 10 mm. Una vez fijado el paso del tornillo

Alberto C. Alonso 10

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

se determinó el diámetro mínimo para cumplir con las especificaciones con un valor de

25 mm. Los datos de los tornillos seleccionados se muestran en la TABLA 1-3.

Descripción Eje X Eje Y Diámetro del tornillo [mm] 25 25

Paso del tornillo [mm] 10 10

Largo total del tornillo [mm] 743 943

Momento de inercia [kg m2] 1,78 10-4 2,25 10-4

Capacidad de carga dinámica [N] 15.700 15.700

Precarga [%] 5 5

Torque de fricción [N] 0,10 – 0,29 0,10 – 0,29 TABLA 1-3: Datos de los husillos seleccionados

Luego de seleccionar los tornillos, se recalculó el valor de la vida útil,

obteniéndose un valor de 228.473 hs para el eje X y de 80.342 hs para el eje Y.

Por otro lado, la precisión de posicionamiento del tornillo está directamente

relacionada con el tipo y grado de tolerancia, que garantiza un error máximo de

desviación a lo largo del recorrido. Teniendo en cuenta un compromiso entre el error de

posición y costo, se seleccionó un tornillo laminado de precisión con un valor de

tolerancia media (T5), lo que garantiza una desviación máxima de 30 mµ a lo largo de

todo el recorrido del eje X, y de 35 mµ para el eje Y.

Finalmente, una vez seleccionados los tornillos, se pudo calcular la velocidad de

giro admisible y la carga axial admisible, según los procedimientos indicados por el

fabricante. Ambos parámetros dependen de la longitud y el diámetro del tornillo, así

como también del tipo de soporte utilizado. En nuestro caso, se utilizó un soporte fijo en

un extremo (con una rigidez de 450 N/ mµ ) y uno flotante en el otro extremo. Teniendo

en cuenta estas características, se obtuvieron los resultados mostrados en la TABLA 1-

4.

Descripción Eje X Eje Y Velocidad máxima [rpm] 11.788 6.213 Fuerza máxima admisible [N] 41.763 22.014

TABLA 1-4: Resultados de velocidad y fuerza

Según las especificaciones de diseño, la velocidad máxima lineal es de 42

m/min, resultando una velocidad rotacional de 4.200 rpm, por lo que se concluyó que

Alberto C. Alonso 11

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

los tornillos que se seleccionaron cumplen con los requerimientos de velocidad

máxima. En cambio, como la carga axial máxima depende del torque máximo del motor

y de las inercias en juego, que todavía no se conocían, se debió calcular

posteriormente y comprobar que no superaran los valores admisibles.

La selección de los patines y los rieles se realizó teniendo en cuenta la vida útil

de los mismos y las deformaciones máximas admisibles debido a los esfuerzos

dinámicos. Para la selección en base a la vida útil, se siguió un proceso de cálculo

similar al proceso de selección del husillo de bolas. La deformación máxima para el

conjunto (patines, guías y bases) es una especificación de diseño y se fijó en 20 µm,

resultando en una deformación máxima para cada conjunto rieles–patines de 6 µm.

Utilizando los datos de cargas horizontales y verticales, las cuales se muestran

en la TABLA 1-5 y TABLA 1-6, derivadas de las condiciones de operación definidas en

las especificaciones de diseño, se determinó la capacidad de carga dinámica.

Eje X Eje Y n [rpm] F [N] Uso [%] n [rpm] F [N] Uso [%]

9 825 30 9 825 30

42 26 5 42 37 5

4,5 1.443 8 4,5 2.531 8

0 825 30 0 825 30

0 0 27 0 0 27 TABLA 1-5: Esfuerzos horizontales para cada eje

Eje X Eje Y v [m/min] F [N] Uso [%] v [m/min] F [N] Uso [%]

0 1.830 60 0 2.908 60

5,16 1.005 40 5,16 2.083 40 TABLA 1-6: Esfuerzos verticales para cada eje

Una vez hallados los requerimientos de carga dinámica a través de los

procedimientos indicados por el fabricante y calculadas las deformaciones máximas

permitidas se seleccionaron patines tamaño 25. En la TABLA 1-7 se presentan los

datos de los patines seleccionados.

Descripción Eje X Eje Y Tamaño 25 25

Alberto C. Alonso 12

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Precisión Clase H Clase H Precarga [% de la carga dinámica] 0,08 C 0,08 C Capacidad de carga dinámica (C) [N] 22.800 22.800 Longitud del riel [mm] 835 1050 Rigidez para cargas verticales [ /N] 1,95 10-3 1,95 10-3

Rigidez para cargas laterales [ /N] 2,28 10-3 2,28 10-3

Deformación vertical [ ] 3,4 3,4

Deformación horizontal [ ] 5,36 5,36 TABLA 1-7: Datos de los patines y rieles seleccionados

Para la selección de los motores se debieron definir las distintas condiciones de

operación, las cuales se resumen a continuación:

• Máxima aceleración, con maquinado: Teniendo en cuenta las ecuaciones de la

dinámica del sistema, se calculó el torque requerido para lograr la máxima

aceleración de diseño, teniendo en cuenta la fuerza máxima de maquinado, de

donde se obtuvo un torque de 9 Nm para el eje X y 12,5 Nm para el eje Y. La

velocidad máxima para esta operación es la máxima de maquinado, de 12 m/min

(1.200 rpm). Este punto debe estar dentro de la curva de torque máximo.

• Máxima aceleración en vacío: El torque se calculó de forma similar al punto

anterior, pero eliminando la fuerza de maquinado, con lo que se obtuvo un

torque de 7,1 Nm para el eje X y 10,6 Nm para el eje Y. La velocidad para este

punto de operación es la velocidad máxima de diseño, de 4,2 m/min (4200 rpm).

Este punto también se debe encontrar dentro de la curva de torque máximo.

• Máxima velocidad en vacío: En este punto de operación se tiene la máxima

velocidad de diseño (4.200 rpm) y el torque de fricción (0,58 Nm para el eje X y

0,6 Nm para el eje Y), ya que el eje se mueve a velocidad constante.

• Punto de operación Eficaz: El torque de este punto es el torque eficaz, teniendo

en cuenta las distintas operaciones del sistema de donde se obtienen 2,75 Nm

para el eje X y 3,7 Nm para el eje Y. La velocidad para este punto es la

velocidad media de 516 rpm.

Teniendo en cuenta los distintos puntos de operación para cada uno de los ejes

(TABLA 1-8) y los momentos de inercia mínimos requeridos se seleccionaron los

motores. Con esta selección y teniendo en cuenta el torque máximo de los motores se

seleccionó el controlador adecuado.

Alberto C. Alonso 13

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Eje X Eje Y Operación n [rpm] T [Nm] n [rpm] T [Nm]

Máxima aceleración con maquinado 1.200 8,8 1.200 12,7

Máxima aceleración en vacío 4.200 7,3 4.200 11,1

Máxima velocidad en vacío 4.200 0,6 4.200 0,6

Punto de operación eficaz 516 2,7 516 3,8 TABLA 1-8: Puntos de operación para cada eje

El proceso de selección dio como resultado el mismo conjunto motor-controlador

para ambos ejes. El motor seleccionado es de la empresa FESTO, cuyas

características principales, extraídas del manual [4] se describen en la TABLA 1-9.

Motor FESTO MTR-AC-100-3S Datos eléctricos generales Datos mecánicos generales

Tensión nominal [V ] 325 Momento de giro en reposo [ ] Nm 4,74

Corriente nominal del motor [ ] A 5 Momento de giro nominal [ ] Nm 3,53

Corriente permanente en reposo [ ] A 6,7 Régimen nominal [1/ ] min 4300

Pico de corriente [ ] A 20 Momento de giro máximo [ ] Nm 12,2

Constante del motor [ ] /Nm A 0,711 Revoluciones máximas [1/ ] min 5320

Resistencia de la bobina [ Ω ] 1,5 Momento de inercia del motor [ ] 2kg cm 2,6

Inductancia de la bobina [ ] mH 4,629

Potencia nominal [W ] 1417 Tensión del freno [V D ] C 24

Potencia del freno [W ] 13 TABLA 1-9: Especificaciones del motor

A partir del motor seleccionado se eligió un controlador, también de la empresa

FESTO, cuyas características básicas, extraídas del manual [5], se detallan en la

TABLA 1-10.

Controlador FESTO SEC-AC-305 Datos eléctricos generales Tensión nominal [ ] ACV 230 Tensión de circuitos electrónicos [V D ] C 24

Corriente para 24 V [ ] mA 350

Potencia nominal con fuente DC [VA ] 1500

Potencia nominal con fuente AC [VA ] 1000

Pico máximo de potencia durante 10 seg. [VA ] 3000 Voltaje del circuito intermedio max. [V D ] C 340

Alberto C. Alonso 14

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Corriente del circuito intermedio max. [ ] A 5

Corriente nominal [ effA ] 5

Pico de corriente durante 10 seg. [ effA ] 10 TABLA 1-10: Especificaciones del controlador

MODELO DEL SISTEMA

Para la construcción de un modelo matemático del sistema físico, se dividió al

mismo en dos partes: una parte rotacional y otra lineal. Además se consideró un

modelo rígido que tiene en cuenta la fricción viscosa, la cual es proporcional a la

velocidad, y se supuso que las partes mecánicas en juego no sufren deformaciones.

Planteando las ecuaciones de movimiento, y teniendo en cuenta las

consideraciones anteriores, se obtuvieron los siguientes resultados:

c mJ T Bθθ θ= − −&& &rT [ecuación rotacional]

Donde:

:cJ momento de inercia combinado del motor, el tornillo y el acoplamiento

[ ] 2kg m

torque del motor [ ] :mT N m

:Bθ coeficiente de viscosidad rotacional [ ] N m seg

torque resistente ejercido por la mesa [ ] :rT N m

r x pM x F B x F= − −&& & [ecuación lineal]

Donde:

:M masa del carro y la pieza que soporta [ ] kg

reacción al torque resistente que aplica la mesa sobre el tornillo [ ] :rF N

:xB coeficiente de viscosidad lineal [ ] /kg seg

fuerza de perturbación del sistema (maquinado y fricción) [ ] :pF N

Considerando que la fuerza y el torque se encuentran relacionados con el paso

del tornillo, [ ], por medio de la siguiente ecuación: q /m rev

2qT Fπ

=

Alberto C. Alonso 15

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

A fin de simplificar las ecuaciones se definió la variable como el paso del

tornillo, medido en [ ], quedando:

r

/m rad

2qrπ

=

Inicialmente se consideró que el sistema era rígido, es decir, que no sufría

deformaciones. A partir de esto se establecieron relaciones entre las variables lineales

y angulares, tal como se muestra a continuación:

; ;x r x r x rθ θ θ= = =& &&& &&

Utilizando la ecuación rotacional y la lineal del modelo, conjuntamente con las

relaciones expresadas anteriormente, se obtuvo la siguiente ecuación:

( )c m x pxJ T B r M x B x Frθ= − − + +& && &

Finalmente, reordenando esta ecuación y despejando el torque del motor ( ) se

llegó a la siguiente expresión:

mT

cm

J BT x r M x r B r Fr r

θ⎛ ⎞ ⎛ ⎞= + + + +⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

&& & x p [ecuación final del sistema]

Aplicando la transformada de Laplace a la ecuación final del sistema, y

considerando que no ingresan perturbaciones al mismo, se obtuvo la función

transferencia del torque motor a la posición:

( )( ) ( )m

X s rT s s s J B

=+

Donde: 2

2c

x

J J r M

B B r Bθ

= +

= +

inercia combinada del sistema [ ] :J 2kg m

:B viscosidad combinada del sistema [ ] 2 /kg m seg

momento combinado del motor, el tornillo y el acoplamiento [ ] :cJ 2kg m

:M masa del carro y pieza que soporta [ ] kg

:Bθ coeficiente de viscosidad rotacional [ ] 2 /kg m seg

:xB coeficiente de viscosidad lineal [ ] /kg seg

paso del tornillo [ ] :r /m rad

Alberto C. Alonso 16

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

A partir de la función transferencia, y utilizando un retenedor de orden cero (zero

order hold, ZOH), se obtuvo la función transferencia discreta que se muestra a

continuación:

1 2( )( ) ( 1) ( )m

k z kX zT z z z p

+=

− −

Donde:

1

2

(1 ln )ln

( 1 ln )ln

BJp erTk p

B prTk p

B p

=

= − +

= − + +

p

p p

período de muestreo [ ] :T seg

paso del tornillo [ ] :r /m rad

También a partir de la ecuación final del sistema se pudo plantear un modelo

continuo en variable de estado, el cual se muestra en las siguientes ecuaciones:

2

00 1 0

0 m p

x xT FB r rx xJ J J

⎡ ⎤⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥= + +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− −⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

&g g

&& &g

[ ]1 0x

yx

⎡ ⎤= ⎢ ⎥

⎣ ⎦g

&

Luego, conocidos los parámetros B y J, se pudo discretizar la ecuación anterior,

tal como se indica en [3].

Con esto se dio por finalizada la etapa concerniente al conocimiento de la mesa

XY.

Alberto C. Alonso 17

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

CAPÍTULO 2: INTEGRACIÓN DEL CONTROLADOR

INTRODUCCIÓN

La tecnología de control numérico ha revolucionado las máquinas de proceso,

actividades como la mecanización de materiales la incorporan optimizando la

fabricación de piezas complejas a alta velocidad. En los últimos años las máquinas,

especialmente máquinas de herramienta, de Control Numérico Computarizado se han

convertido en uno de los elementos más importantes en la automatización. La

utilización de tecnologías CNC supone que las máquinas de mecanizado funcionan de

forma automática, por lo cual es ventajoso para medianos lotes de producción. Es

consecuentemente ésta una de las razones fundamentales por las que aumenta

notablemente la productividad de la industria.

Las máquinas herramientas modernas requieren de sistemas de

posicionamiento capaces de seguir, con errores reducidos, trayectorias con valores

elevados de velocidad y aceleración. Para ello, estos sistemas deben ser diseñados y

controlados para obtener un ancho de banda adecuado y buena robustez a las

perturbaciones externas y a las no linealidades del sistema.

Finalmente se puede decir que estos sistemas presentan ventajas y desventajas,

pudiéndose citar las siguientes:

Ventajas: Permiten obtener mayor precisión en el mecanizado.

Permiten mecanizar piezas más complejas.

Se puede cambiar fácilmente de mecanizar una pieza a otra.

Se reducen los errores de los operarios.

Cada vez son más baratos los tornos CNC.

Desventajas: Necesidad de realizar un programa previo al mecanizado de la primera pieza.

Coste elevado de herramientas y accesorios.

Conveniencia de tener una gran ocupación para la máquina debido a su alto coste.

Alberto C. Alonso 18

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

SELECCIÓN DEL CONTROLADOR

Para la selección del controlador se realizó un análisis de los CNC disponibles

en el mercado, y considerando las características deseadas y los precios, se eligió el

controlador ADVANTAGE 400 de la empresa Delta Tau Data Systems Inc. El mismo

posee una interfase de usuario integrada que permite la programación mediante código

G estándar y posee integrados los algoritmos de interpolación para el movimiento

coordinada de varios ejes. Para darle mayor flexibilidad al sistema se le adicionó una

placa especial denominada Turbo PMAC2 PC/104 que permite la programación de

lazos personalizados para luego ser utilizados en la ejecución de movimientos

controlados.

FIGURA 2-1: Controlador ADVANTAGE 400

En la FIGURA 2-1 se puede ver la parte frontal y trasera del controlador

seleccionado.

Finalmente en la FIGURA 2-2 se puede ver la estructura de la placa Turbo

PMAC2 PC/104

FIGURA 2-2: Placa Turbo PMAC2 PC/104

Alberto C. Alonso 19

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

A continuación se presentan las características del hardware, software y demás accesorios que conforman el sistema.

Características del Hardware

• 40 MHz DSP563xx CPU (OPT-5AF 80 MHz 560xx equivalent) • 128k x 24 internal zero-wait-state SRAM • 512k x 8 flash memory for user backup and firmware • Latest released firmware version • RS-232 serial interface • 4 channels axis interface circuitry, each including: • 12-bit +/-10V analog output • Pulse-&-direction digital output • Quadrature encoder inputs A, B, C, channels with differential/single-ended

drivers • 4 input flags, 2 output flags at TTL levels • 3 PWM top-and-bottom pairs (unbuffered) • 50-pin IDC header for amplifier/encoder interface • 34-pin IDC header for flag interface • PID/notch/feedforward servo algorithms • 1-year warranty from date of shipment

Características del Software

• Trajectory Generation Features - Linear interpolation mode with S-curve accel/decel - Circular interpolation mode with S-curve accel/decel - Rapid point-to-point move mode - Cubic B-spline interpolation mode - Cubic Hermite-spline (PVT) interpolation mode - Automatic move-until-trigger functions with hardware capture - Interactive jog moves - Optional multi-move lookahead for velocity and acceleration limiting

• Servo Features - Standard digital PID feedback filter - Velocity, acceleration, and friction feedforward - 2nd-order notch/low-pass filter - Gains changeable at any time - Programmable input, integrator, and output limits - Optional 35-term pole-placement servo filter

• Commutation Features - Sinusoidal commutation of AC servo motors - Vector control of AC induction motors - Digital current-loop closure with direct PWM output (PMAC2)

• Compensation Features - Position compensation tables (1D and 2D) - Torque compensation tables - Backlash compensation - Tool radius compensation

Alberto C. Alonso 20

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

• Safety Features - Hardware and software overtravel limits - Amplifier enable/fault handshaking - Following error limits - Integrated current limit - Encoder loss detection (some versions) - Watchdog timer - Program and communications checksums

• Computational Features - Real-time multi-tasking operating system - 48-bit floating-point math for user programs - Trigonometric and transcendental functions - Automatic type-matching of different variable types

• Feedback sensor types that can be processed - Digital quadrature encoders - Sinusoidal encoders, interferometers - Resolvers - Potentiometers - LVDTs, RVDTs - Parallel-format encoders, interferometers - MLDTs - Serial absolute encoders (e.g. SSI)

• Coordination and Master/Slave Features - User-defined coordinate systems for automatic coordination of axes - Separate coordinate systems for independent motion of axes - Multi-motor axis support (e.g. gantries) - Dynamic axis transformations (e.g. offsets, rotations, mirroring) - Electronic gearing (no programming required) - Electronic cams with programmable profiles

• Motion Program Features - High-level programming language - Automatic sequenced execution of moves - Calculations and I/O synchronous to motion - Axes programmed in user engineering units - Motion values as constants or expressions - Automatic coordination of multiple axes - Ability to execute G-code programs

• PLC Program Features - Execution asynchronous to programmed motion - I/O control as in hardware PLC - Executive functions for standalone applications - Safety and status monitoring - Servo gain scheduling - Data reporting functions - Access to all registers in controller

Accesorios adicionales

Processor and Firmware Options

Alberto C. Alonso 21

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

OPT-5CF - 80 MHz DSP563xx CPU (160 MHz 560xx equivalent)

Base Board Options

OPT-2A - PC/104 Bus Stack Interface

CONEXIONES

Conexiones de potencia Para llevar a cabo la integración del controlador ADVANTAGE 400 con la mesa

de posicionamiento se utilizaron los esquemas eléctricos que se muestran en las

figuras siguientes. Donde se describen los circuitos de potencia y comando para llevar

a cabo dicha integración.

FIGURA 2-3: Conexiones de potencia

Alberto C. Alonso 22

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

En la FIGURA 2-3 se detallan las conexiones entre el controlador ADVANTAGE

400 y los drivers SEC-AC-305 de los servomotores correspondientes al circuito de

potencia. Para suministrarle energía al controlador ADVANTAGE 400 se utilizó la

entrada monofásica de corriente alterna (85V - 264V). Para ello se conectaron la fase,

el neutro y la puesta a tierra en el conector AC POWER INPUT del controlador, de

acuerdo al esquema de conexión provisto por el manual del fabricante del

ADVANTAGE 400, el cual puede apreciarse en la FIGURA 2-4.

FIGURA 2-4: Interfase AC/DC

También se le suministró una entrada de corriente continua en el rango de 12V –

24V, que se utiliza para alimentar las salidas digitales y las líneas de amplificador

habilitado.

Dado que la potencia de esta entrada depende de las salidas digitales que se utilicen, y

teniendo en cuenta que la corriente máxima de cada entrada es de 0,5 A, resulta una

potencia de 12 W como máximo para cada salida digital. Para calcular la potencia que

debía tener la fuente de alimentación se supuso un máximo de 8 salidas digitales, para

lo cual la potencia de la fuente resultó ser de 96 W. Finalmente se seleccionó una

fuente de 24 V y 100 W.

La conexión de la entrada de corriente continua se realizó en los pines 24 y 25

del conector AMP1 perteneciente al controlador ADVANTAGE 400, como puede

apreciarse en la TABLA 2-1.

Alberto C. Alonso 23

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

AMP 1 Pin# Symbol Function Description

1 DAC1A+ Output Analog Out X-Axis 2 DAC1A- Output Analog Out X-Axis 3 DAC2A+ Output Analog Out Y-Axis 4 DAC2A- Output Analog Out Y-Axis 5 DAC3A+ Output Analog Out Z-Axis 6 DAC3A- Output Analog Out Z-Axis 7 DAC4A+ Output Analog Out U / A / S 8 DAC4A- Output Analog Out U / A / S 9 AGND Output Ref. for command (analog) out 10 AMP1-ENA Output Amplifier Enable X-Axis 11 AMP2-ENA Output Amplifier Enable Y-Axis 12 AMP3-ENA Output Amplifier Enable Z-Axis 13 AMP4-ENA Output Amplifier Enable U / A / S 14 AMP5-ENA Output Amplifier Enable U / A / S 15 AMP1-FLT Input Amplifier fault 1 X-Axis 16 AMP2-FLT Input Amplifier fault 2 Y-Axis 17 AMP3-FLT Input Amplifier fault 3 Z-Axis 18 AMP4-FLT Input Amplifier fault 4 U / A / S-Axis 19 AGND Output Ref. for command (analog) out 20 AMP5-FLT Amplifier fault 5 V / B-Axis 21 DAC5A+ Analog Out V / B-Axis 22 DAC5A- Analog Out V / B-Axis 23 NC 24 Ext +24V Input External +24V 25 Ext GND Input External ground, "FIELDRETURN"

TABLA 2-1: ADVANTAGE 400 - Pines del conector AMP1

Los controladores SEC-AC-305 de los motores Festo poseen una entrada

trifásica de corriente alterna 340V – 480V y 8 A, junto con una entrada externa de

corriente continua de 24 V y una potencia de 12 W. Ambas entradas deben conectarse

en el conector X9, cuyos pines se describen en la TABLA 2-2.

X9 Pin Symbol Meaning 1 L1 AC input (400 Veff) 2 L2 AC input (400 Veff) 3 L3 AC input (400 Veff) 4 UZK+ Positive intermediate circuit voltage 5 UZK- Negative intermediate circuit voltage 6 24V+ 24V DC auxiliary supply 7 24V- Earrh / GND for auxiliary supply

TABLA 2-2: SEC-AC-305 – Pines del conector X9

Alberto C. Alonso 24

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Conexiones de comando Para realizar las conexiones correspondientes a la etapa de comando se utilizó

el diagrama de conexiones que se muestra en la FIGURA 2-5. En el mismo se indican

las conexiones de los pulsadores de arranque y parada de emergencia, los sensores

de final de carrera y de posición de referencia (Home Position) a los puertos tanto de

los controladores SEC-AC-305, como también los del controlador ADVANTAGE 400.

FIGURA 2-5: Conexiones de comando

Alberto C. Alonso 25

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Conexión de los servomotores Para poder comandar los servomotores desde el controlador ADVANTAGE 400

se utilizaron sus salidas analógicas ubicadas en el conector AMP1, las cuales se

conectaron a la entrada analógica de referencia de los controladores SEC-AC-305

ubicadas en el conector X1. Las salidas analógicas se detallan en la TABLA 2-1, y las

entradas analógicas de referencia de los controladores SEC-AC-305 se describen en la

TABLA 2-3.

La conexión entre estas se realizó teniendo en cuenta que la salida del

controlador es diferencial, por lo cual se conectaron de la salida analógica los pines

positivo y negativo (DAC1A+ y DAC1A-) a sus respectivos pines de entradas en el

conector X1 del controlador SEC-AC-305 (Ain0 y Ain0/), dejando el pin 9

correspondiente a la tierra (AGND) flotante. Esto mismo se realizó tanto para el

servomotor 1 como para el servomotor 2, utilizándose cuatro salidas analógicas del

conector AMP1 (DAC1A+, DAC1A-, DAC2A+ y DAC2A-).

X1 Pin Symbol Value Specification

1 Scrhim 0 V Screening / shield connection 14 Scrhim 0 V Screening / shield connection

2 Ain0 ±10V ±5% Ri=20 kΩ ±1%Analogue nominal value input (A/Bsignals) channel 0. Differential max. 25

V input voltage 15 Ain0/ Reference connection, analogue

connection channel 0

3 Ain1 ±10V ±5% Ri=20 kΩ ±1%Analogue nominal value input (A/Bsignals) channel 0. Differential max. 25

V input voltage 16 Ain1/ Reference connection, analogue

connection channel 0 4 +VREF +10V ±5% Reference voltage output (for optional

nominal value potentiometer) 17 AMON0 ±10V ±5 Analogue monitor output 0

5 AMON1 ±10V ±5 Analogue monitor output 1

18 + 24V DC ±24V ±5% max. 200 mA

24 V DC power supply output, not resistanto short circuits, supply via power plug X3, common potential for switching signals of

digital inputs (e.g. for limit switches) 6 GND GND Digital earth / GND

19 Din0 POS-Bit0 Position selection bit 0 7 Din1 POS-Bit0 Position selection bit 1

20 Din2 POS-Bit0 Position selection bit 2 8 Din3 POS-Bit0 Position selection bit 3

21 Din4 ENA-PWR Final output stage enable

Alberto C. Alonso 26

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

9 Din5 ENA-CL Regulator enable, reacts to falling signal edge

22 Din6 END-0 Limit switch negative 10 Din7 END-1 Limit switch positive

23 Din8 START Start positioning 11 Din9 POS-Bit0 Position selection bit 0

24 Dout0 READY Ready-to-operate 12 Dout1 PRG-1 Freely programmable output

25 Dout2 PRG-2 Freely programmable output 13 Dout3 PRG-3 Freely programmable output

TABLA 2-3: SEC-AC-305 – Pines del conector X1

A continuación la FIGURA 2-6 muestra el esquema eléctrico correspondiente a

las salidas analógicas diferenciales del controlador.

FIGURA 2-6: ADVANTAGE 400 – Salida diferencial

Las especificaciones correspondientes a las señales de salida diferencial se

presentan en la TABLA 2-4.

Parameter Min Max Units Voltage range -10 10 V Output current -3 3 mA

Resolution 12 bit

TABLA 2-4: ADVANTAGE 400 – Salidas diferenciales

Para realizar esta conexión se utilizó cable apantallado de par trenzado para

reducir las interferencias en la señal de salida. Este fue uno de los inconvenientes que

se tuvo debido a que inicialmente se utilizó un cable que no cumplía con lo especificado

en el manual y las interferencias afectaban al sistema. Con el uso del cable

mencionado se solucionaron todos los problemas relacionados con las interferencias.

Alberto C. Alonso 27

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Cada interfase de motor posee una entrada digital para detectar fallas en el

motor denominada Amplifier Default, para nuestro sistema se utilizaron dos de estas

entradas que se encuentran en los pines 15 y 16 del puerto AMP1 del controlador

ADVANTAGE 400. Una para el motor correspondiente al eje X y otra para el eje Y.

Estas se conectaron a la salida digital cero del controlador SEC-AC-305 para cada

motor, la cual se encuentra en el pin 24 del conector X1 (Dout0).

La habilitación y deshabilitación de los motores se configuró para que se realice

directamente desde los pulsadores de arranque y parada respectivamente, dejando sin

conexión las salidas que posee el controlador ADVANTAGE 400 destinadas a esta

misma operación.

Conexión de los sensores de realimentación En nuestro sistema para medir la posición de los motores, se utiliza un resolver,

la señal del mismo ingresa al controlador SEC-AC-305, el cual posee un emulador de

encoder cuya señal es ingresada al controlador ADVANTAGE 400, el cual es capaz de

leer un encoder incremental con dos entradas diferenciales en cuadratura (A, B) y un

canal de referencia C.

Para las conexiones de los encoders se utilizaron los pines del conector ENC n

cuya descripción se detalla en la TABLA 5 mostrada a continuación.

Enc n Pin# Symbol Function Description

1 CHA1+ Input Pos. A Chan. 2 GND Common Digital Reference 3 CHB1- Input Neg. B Chan. 4 CHC1+ Input Pos. C Chan. 5 A+5V Output Digital Supply 6 NC 7 NC 8 NC 9 CHA1- Input Neg. A Chan. 10 CHB1+ Input Pos. B Chan. 11 GND Common Digital Reference 12 CHC1- Input Neg. C Chan. 13 NC 14 A+5V Output Digital Supply 15 NC

TABLA 2-5: ADVANTAGE 400 – Pines del conector ENC n

Alberto C. Alonso 28

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Para concluir la conexión se utilizó el conector X11 del controlador SEC-AC-305

cuyos pines se describen en la TABLA 2-6.

X11 Pin Symbol Value Specification 1 A 5V Ra ≈ 60Ω Output signal tracer A

6 A/ 5V Ra ≈ 60Ω Output signal tracer A inverted 2 B 5V Ra ≈ 60Ω Output signal tracer B

7 B/ 5V Ra ≈ 60Ω Output signal tracer B inverted 3 C 5V Ra ≈ 60Ω Output signal tracer C

8 C/ 5V Ra ≈ 60Ω Output signal tracer C inverted 4 Scrhim 0 V Screening / shield connection

9 GND 0 V Digital earth / ground 5 +5V DC +5V DC Auxiliary voltage for external sensor (max 100 mA)

TABLA 2-6: SEC-AC-305 – Pines del controlador X11

Por lo tanto para cerrar el lazo de control con la posición angular de los motores

se usaron los conectores ENC n y X11 conectando cada canal con el correspondiente

en el otro conector. Esto se realizó en el conector ENC 1 y en el ENC 2

correspondientes al motor X y al motor Y respectivamente.

Conexión de finales de carrera y sensores de posición Home Para limitar el movimiento de los motores se instalaron dos sensores mecánicos

de posición, uno correspondiente al final de carrera positivo y otro para el negativo.

Estos sensores se conectaron directamente al controlador SEC-AC-305 a través de las

entradas ubicadas en los pines 22 y 10 del conector X1 perteneciente al mencionado

controlador. De esta manera, éste es el encargado de detener al motor cuando alcanza

algunos de los límites de movimiento establecidos.

Por otro lado, se instaló un sensor mecánico de referencia denominado HOME

utilizado para la rutina de posicionamiento inicial del motor. Este se conectó al puerto

FLG1 del controlador ADVANTAGE 400 de acuerdo a la TABLA 2-7 mostrada a

continuación.

FLG1 Pin# Symbol Function Description

1 USER1 Input General Capture Flag ** 2 PLIM1 Input Positive Limit Flag ** 3 MLIM1 Input Negative Limit Flag ** 4 HOME1 Input Home Flag ** 5 24VDC out Field power supply 24 VDC

Alberto C. Alonso 29

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

6 USER2 Input General Capture Flag ** 7 PLIM2 Input Positive Limit Flag ** 8 MLIM2 Input Negative Limit Flag ** 9 HOME2 Input Home Flag ** 10 24VDC out Field power supply 24 VDC 11 USER3 Input General Capture Flag ** 12 PLIM3 Input Positive Limit Flag ** 13 MLIM3 Input Negative Limit Flag ** 14 HOME3 Input Home Flag ** 15 nc Not connected 16 USER4 Input General Capture Flag ** 17 PLIM4 Input Positive Limit Flag ** 18 MLIM4 Input Negative Limit Flag ** 19 HOME4 Input Home Flag ** 20 GND out Output GND field power supply, flag ref 21 USER5 Input General Capture Flag ** 22 PLIM5 Input Positive Limit Flag ** 23 MLIM5 Input Negative Limit Flag ** 24 HOME5 Input Home Flag ** 25 GND out Output GND field power supply, flag ref

TABLA 2-7: ADVANTAGE 400 – Pines del controlador FLG1

Debemos tener en cuenta que todo lo anterior se realizó para cada motor.

Usándose para el motor X la entrada denominada HOME1 y para el motor Y la entrada

denominada HOME2.

Antes de ir a los conectores citados anteriormente, éstos se conectan a una

bornera y de allí a los conectores finales. En la FIGURA 2-7 se muestra un esquema de

la disposición de los sensores de final de carrera y home.

FIGURA 2-7: Finales de carrera y sensor de posición HOME

Alberto C. Alonso 30

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Por otro lado, en la TABLA 2-8 se detallan las distintas conexiones de las

borneras para cada motor. Los pines de la bornera se enumeran de izquierda a

derecha, viéndola de frente.

BORNERA Pin# X Y

1 Puesta a tierra Puesta a tierra

2 Pin 18 del puerto X1 del driver SEC-AC-305 (+24 VDC)

Pin 18 del puerto X1 del driver SEC-AC-305 (+24 VDC)

3 Sin conexión Sin conexión 4 Sin conexión Sin conexión

5 Pin 9 del puerto X1 del driver SEC-AC-305 (ENA-CL)

Pin 9 del puerto X1 del driver SEC-AC-305 (ENA-CL)

6 Final de carrera negativo (ubicado al lado del motor)

Final de carrera negativo (ubicado al lado del motor)

7 Final de carrera positivo (ubicado al lado del home)

Final de carrera positivo (ubicado al lado del home)

8 Home (borne positivo) Home (borne positivo) 9 Home (borne negativo) Home (borne negativo)

10 Sin conexión Sin conexión

11 Borne positivo de la fuente de alimentación de 24 VDC Sin conexión

12 Masa de la fuente de alimentación de 24 VD Sin conexión

TABLA 2-8: Descripción de borneras

Finalmente se detalla en la FIGURA 2-8 la disposición de los sensores HOME

para los motores X e Y y la conexión a los pines del puerto FLG1 del controlador

ADVANTAGE 400.

FIGURA 2-8: Sensores de posición HOME

Conexión de los pulsadores de arranque y parada de emergencia

Alberto C. Alonso 31

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Estos pulsadores son los encargados de permitir o no el movimiento de los ejes.

La función del pulsador de arranque es la de habilitar la etapa de potencia de los

controladores de los motores, mientras que la función del pulsador de parada de

emergencia maneja en forma asíncrona el movimiento de los motores, de tal manera

que si la parada de emergencia está desactivada, los motores tienen la libertad de

movimiento según la referencia que le envía el controlador ADVANTAGE 400; por otro

lado, cuando la parada de emergencia se acciona, los controladores de los motores

llevan su velocidad a cero, deteniéndose completamente el movimiento.

Para lograr que el pulsador de arranque habilite la etapa de potencia de los

controladores se conectó a 24 VDC la entrada ubicada en el pin 21 (ENA-PWR) del

conector X1 ubicado en el controlador SEC-AC-305, usándose para ello un contacto

normal abierto del contactor, como puede observarse en la FIGURA 2-5.

Finalmente queda mencionar que el estado de funcionamiento del sistema se

visualiza por medio de tres luces indicadoras. Una luz ámbar que se enciende cuando

se da energía al sistema y que indica que todavía no se ha dado arranque mediante el

pulsador de arranque, que acciona el contactor.

El estado del pulsador de parada de emergencia se visualiza por medio de una

luz roja y otra verde, de tal manera que cuando la luz verde está encendida indica que

los motores están en condiciones de moverse, y si la luz roja está encendida esto

muestra que los motores no están habilitados para realizar algún movimiento.

La luz verde se conectó a 24 VDC por medio de un contactor normal cerrado de

la parada de emergencia, mientras que la luz roja lo hace a través de un contacto

normal abierto. En la FIGURA 2-5 pueden verse las citadas conexiones.

Interfase de comunicación La comunicación entre el controlador ADVANTAGE 400 y una pc externa se

realiza a través del protocolo de comunicación RS232. Por medio de esta comunicación

es posible realizar varias tareas como son la de sintonización PID, subida de

parámetros al controlador, bajada de variables, etc.

Para la vinculación entre el controlador y la pc se utilizó un cable serial cuya

configuración se describe en la FIGURA 2-9.

Alberto C. Alonso 32

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

FIGURA 2-9: Conexiones RS232

Las diferentes conexiones se realizaron basadas en el manual de conexiones

[6].

MANEJO Y PROGRAMACIÓN INTERNA DEL CONTROLADOR

El panel frontal del controlador, el cual se muestra en la FIGURA 2-10, tiene las

siguientes características. Los datos aquí presentados fueron extraídos del manual de

uso [7]

FIGURA 2-10: ADVANTAGE 400 - Panel del Controlador

• Keyboard: Teclado alfanumérico que contiene las teclas necesarias para

controlar el software del Adv. 400 y para tipear los diferentes programas

realizados en código G o programas PLC.

Alberto C. Alonso 33

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

• Display: Pantalla flat que permite visualizar diferentes aspectos del controlador.

• F1 to F10 F-keys: estas teclas permiten un acceso sencillo al software del

controlador, ejes de la máquina, edición de programas, etc.

• Cycle Start, Feed Hold and Reset: Estos botones son utilizados para controlar

el inicio, parada y reinicio respectivamente, de un programa que esté cargado en

el controlador.

• Hand Wheel: Para mover los ejes manualmente se puede utilizar el Hand

Wheel. Por otro lado la perilla Feedrate Override está dividida en 4 cuadrantes y

dependiendo en que cuadrante se encuentre, el movimiento del eje será de

0,001 o 0,01 o 0,1 o 0,2 milímetros por cada incremento de la perilla Hand

Wheel. Utilizando la tecla F2 establecemos el modo manual y con la F4

seleccionamos el eje a mover.

• Feedrate Override: Permite ajustar en porcentaje la velocidad de avance

programada desde 0 a 100 % en modo manual y desde 0 a 120 % en modo

automático.

• USB Connector: Esta entrada admite la conexión de un dispositivo USB

(teclado, mouse, etc).

FIGURA 2-11: Interfaz del software ADV 400 NC

Alberto C. Alonso 34

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Al iniciar el controlador se carga el sistema operativo que posee como

plataforma, para este controlador es una versión de Windows CE, el cual ejecuta como

programa de inicio el software Adv 400 NC, cuya pantalla de inicio se muestra en la

FIGURA 2-11.

Antes de poder realizar cualquier cambio o configuración en el sistema se debe

definir el nivel de uso, el cual está protegido por una clave. Al iniciar el controlador por

primera vez se solicita el ingreso de la clave, la cual definirá el nivel de manejo que

podrá hacerse del controlador, según lo especificado en el manual de integración [8].

• User Level: para ingresar a este nivel no es necesario introducir una clave, sólo

cliqueando en el botón OK o presionando la tecla F2 ya estará en el nivel de

usuario. Este nivel permite mover los ejes manualmente, hacer la rutina de

búsqueda de home y correr el programa presente.

• Manager Level: para ingresar al nivel de administrador se debe tipear la palabra

clave 400USER. En este nivel permite modificar el programa de movimiento

cargado y administrar diferentes menus, teniendo restringido el acceso a

algunos menus de configuración.

• Integration Level: para ingresar al nivel de integración se debe introducir la

palabra clave 400MC. En este nivel el acceso a todos los menus es completo y

se puede realizar la integración de la máquina.

La FIGURA 2-11 muestra las distintas partes que conforman la interfaz del software,

estas se describen brevemente a continuación.

• Menu Bar: en la barra de menú se encuentran todos los accesos a las diferentes

partes del programa. En la TABLA 2-9 se presenta una descripción rápida de

estos accesos.

Menu Bar Item Descripción File Gestiona el programa de movimiento, permitiendo crear, abrir y salvar. Edit Provee las herramientas necesarias para modificar un programa.

Tools Abre el administrador de herramientas.

Offsets Accede a los offsets de trabajo, permite setear la posición de cada eje y el manejo de las variables P.

Subprograms Permite crear, editar, borrar, cargar y descargar subprogramas. CNC Permite acceder a las diferentes herramientas para realizar la integración.

Alberto C. Alonso 35

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Language Cambia el lenguaje del software. Version Provee información del sistema.

Esc No tiene una función. TABLA 2-9: Descripción de la barra de menú

• Information Window: provee información de la posición de los distintos ejes,

porcentaje de la velocidad de avance, estado del sistema (manual, automático,

home, etc) y el estado de ejecución del programa de movimiento.

• Part Program Window: contiene el programa de movimiento cargado, listo para

ser ejecutado, editado, etc.

• Messages Window: provee información de errores, alertas, etc.

• F-Keys Bar: teclas de acceso directo a distintas funciones del software. En la

TABLA 2-10 se muestra una descripción rápida de estas funciones.

F-Keys

Tecla Descripción F1 Abre una ventana de ayuda donde se encuentran los mensajes de errores.

F2

Setea al sistema en modo manual, y en este modo los ejes se pueden seleccionar usando la tecla F4 y mover usando las teclas F5 y F6. También

en esto modo con F8 se accede a la parte de creación, edición y modificación de un programa de movimiento.

F3 Setea al sistema en modo automático. En este modo se puede correr un

programa de movimiento que esté cargado, utilizando las teclas Cycle Start, Feed Hold y Reset.

F4 Permite seleccionar los ejes. En modo manual permite seleccionar un eje y

moverlo usando las teclas F5 y F6. En modo automático permite seleccionar el eje al cual se le hará la rutina de homing usando las teclas F5 o F6.

F5 Estando el sistema en modo manual, mueve un eje en la dirección positiva.

En modo automático corre la rutina de búsqueda del home para el eje previamente seleccionado.

F6 Estando el sistema en modo manual, mueve un eje en la dirección negativa.

En modo automático corre la rutina de búsqueda del home para el eje previamente seleccionado.

F7 Permite cambiar el tipo de información mostrada, entre una información completa o mostrar solamente la posición de los ejes.

F8 Estando en modo manual, permite ingresar al modo edición de un programa de movimiento.

F9 Muestra un submenú de teclas, entre las cuales figuran F1, F2 y F10, para

acceder a funciones de edición rápida, búsqueda de home y salida del submenú, respectivamente.

F10 Permite acceder al menu bar. TABLA 2-10: Teclas de función

Alberto C. Alonso 36

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Configuración interna Antes de usar los ejes se configuró el sistema, para ello se llevaron a cabo 4

pasos, los cuales se describen a continuación.

1. Configuración general de ejes – 1º parte:

FIGURA 2-12: Configuración – Paso 1

En este primer paso de configuración se definió la cantidad de motores activos,

para nuestro caso son dos, motor 1 y motor 2 correspondiente al eje X e Y

respectivamente. Dado que el sistema posee servomotores sin escobillas se seleccionó

la opción “Analog”. Con respecto al item “Max Freq” este valor no se configuró ya que

sólo es necesario definirlo cuando el tipo de motor seleccionado es del tipo paso a paso

(stepper). La resolución del encoder incremental es de 1024 pulsos o

cuentas por revolución. Dado que por cada revolución el avance lineal es de 10 mm

tenemos que la resolución expresada en cuentas por milímetros es:

4 4096x =

14096 409,610

cts rev ctsxrev mm mm

=

Con respecto a la máxima velocidad, se consideró una velocidad de 3000 rpm.

Teniendo nuevamente en cuenta el paso del tornillo de 10 mm tenemos que:

3000 10 30000rev mm mmxmin rev min

=

Alberto C. Alonso 37

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Finalmente resta calcular el tiempo para llegar de 0 a la velocidad máxima. Para

calcular este valor, se supuso una aceleración de 0,5g. De lo cual obtenemos que:

2

30000101,9

0.5 9.81M

mmv mint mma x

seg

= = = seg

Por lo tanto se estableció como tiempo un valor de 100 mseg. Y con esto

completamos el primer paso de la configuración, como se puede apreciar en la

FIGURA 2-12.

2. Configuración general de ejes – 2º parte:

En esta etapa primero se configuró la señal de error del amplificador, el cual es

un elemento de seguridad, ya que si algún motor falla, el controlador lo detecta y da

aviso al sistema. Para nuestro caso hemos seleccionado la opción “High True” lo que

significa que cuando tengamos un nivel bajo el sistema nos avisará que el motor está

fallando.

Lo siguiente que se configuró fueron los límites por hardware. El controlador

ADVANTAGE 400 posee entradas para controlar los límites de carrera, pero en nuestro

sistema los límites de carrera fueron conectados a los controladores SEC-AC-305 los

cuales se encargan de realizar el monitoreo de estos finales de carrera. Por lo tanto se

seleccionó la opción “Disable” deshabilitando esta alternativa de monitoreo que nos

proporciona el controlador ADVANTAGE 400.

Así como puede hacer un monitoreo por hardware de los finales de carrera,

también se puede limitar el movimiento por software, definiendo valores de distancia a

recorrer en un sentido y otro expresadas en mm. También esta opción fue

deshabilitada por las razones expresadas anteriormente. Con solo ingresar un valor

nulo de posición queda desactivada esta opción.

Luego se definió la máxima velocidad con la que se puede mover alguno de los

motores utilizando las perillas de mano ubicadas en el panel frontal del controlador

ADVANTAGE 400. Se fijó un valor de velocidad máxima de 3000 mmmin

.

Finalmente se deseleccionó la casilla “Motor 1 y 2 with Brake” para indicar que

los motores no poseen freno interno.

Alberto C. Alonso 38

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

En la FIGURA 2-13 se puede apreciar cómo quedó configurada esta segunda

etapa.

FIGURA 2-13: Configuración – Paso 2

3. Configuración de los ejes para la búsqueda del home:

En esta sección se configuró todo lo concerniente a la búsqueda del home. Dado

que nuestra intención es que el sistema pueda buscar el home y que lo haga utilizando

tanto el sensor mecánico de posición y el canal C del encoder incremental, dejamos las

primeras tres opciones (No Home, Absolut pos y Only C ch) sin tildar.

Para que el controlador determine cuándo ha activado el sensor mecánico de

posición HOME y el pulso del canal C del encoder incremental, debemos definir el

estado de estas señales. Para ello se seleccionó para ambos casos la opción “High

True”, lo cual significa que ante una señal baja el sistema a detectar que ha llegado a la

posición HOME.

Respecto de la velocidad con que debe realizar la búsqueda del home, ésta se

fijó en un valor de 500 mmmin

, valor suficientemente pequeño para que la búsqueda se

realice sin dificultad.

Alberto C. Alonso 39

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Finalmente se definió para esta tercera etapa el “Home seq” que es la secuencia

con que el sistema empezará a buscar el home para cada uno de los motores. En este

caso se configuró para que comience la búsqueda del HOME del motor 1 y luego el del

motor 2, correspondientes al eje X y al eje Y, respectivamente.

Nuevamente todo lo expresado anteriormente se puede visualizar en la FIGURA

2-14, mostrada a continuación.

FIGURA 2-14: Configuración – Paso 3

4. Configuración de las misceláneas:

En esta última etapa de esta configuración se definió el máximo error de

seguimiento, estableciéndose un valor de 1 mm, para lo cual superado este valor el

sistema enviará un mensaje advirtiendo el evento ocurrido, para que se puedan realizar

las correcciones pertinentes.

Tanto para el motor 1 como para el motor 2 se tildó la opción “Reverse Counting

direction” necesaria para que la dirección de conteo del encoder coincida con el

comando analógico de salida del correspondiente motor.

Las demás opciones se dejaron como estaban por defecto, considerándose no

necesaria su modificación. En la FIGURA 2-15 puede visualizarse lo expresado

anteriormente.

Alberto C. Alonso 40

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

FIGURA 2-15: Configuración – Paso 4

Con esto se dio por concluida la etapa de configuración interna del sistema.

Alberto C. Alonso 41

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

CAPÍTULO 3: MONTAJE DE LA ESCALA LINEAL

INTRODUCCIÓN

Los encoders lineales pueden ser usados en casi cualquier aplicación. Estos son

ideales para máquinas y otros equipamientos cuyos ejes de alimentación se

encuentren en un lazo cerrado, tales como máquinas de fresado, centros de

maquinado, tornos, etc.

El beneficio del comportamiento dinámico de los encoders lineales, su velocidad

de desplazamiento de gran fiabilidad, y su aceleración en la dirección de medición,

hacen que estos sean muy convenientes para medición de ejes de alta dinámica.

Son muchas las ventajas que poseen esta clase de encoders, tales como medir

la posición de un eje sin elementos mecánicos de transferencia adicionales. Los

errores de transferencia desde la mecánica pueden ser detectados por el encoder y

corregidos por medio de su electrónica de control. Este puede eliminar un número de

fuentes potenciales de error, tales como:

• Error de posición debido al comportamiento térmico del tornillo de bolas

recirculante.

• Histéresis.

• Error cinemático a través del error de paso del tornillo de bolas.

Diseño mecánico

Los encoders lineales para máquinas herramientas de control numérico son

encoders sellados. Por medio de una carcaza de aluminio se protege a la escala, la

cabeza de lectura y el carril-guía de virutas, de polvo y de fluidos. Finalmente un labio

de cierre sella la carcaza.

La cabeza de lectura viaja en una guía de baja fricción con la unidad de

medición. Un acoplamiento conecta la cabeza de lectura con el bloque de montaje y

compensa el desajuste entre la escala y las guías de la máquina.

Dependiendo del modelo de escala se permiten desplazamientos laterales y

axiales de a . 0,2± 0,3mm±

Comportamiento térmico La combinación de procesos de mecanizado cada vez más rápidos y con

máquinas completamente cerradas conduce a incrementar la temperatura del ambiente

en que las máquinas trabajan. Por lo tanto es cada vez más importante el

Alberto C. Alonso 42

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

comportamiento térmico de los encoders lineales a utilizar, ya que es esencial para la

exactitud de trabajo de las máquinas.

Como regla general el comportamiento térmico de los encoders lineales debería

coincidir con el de la pieza de trabajo u objeto medido. Durante los cambios de

temperatura, el encoder lineal debe ser capaz de expandirse y contraerse de una

manera definida y calculabe.

Comportamiento dinámico El constante incremento en eficiencia y rendimiento de las máquinas

herramientas requieren cada vez más altas velocidades y aceleraciones, al mismo

tiempo que debe ser mantenida la precisión en el mecanizado.

Una característica importante es la rigidez en la dirección de medición, para

garantizar precisión de desplazamiento de la máquina herramienta. La baja masa de

los componentes contribuye a un comportamiento dinámico excelente.

En la FIGURA 3-1 se presenta un diseño esquemático de un encoder lineal.

FIGURA 3-1: Diseño esquemático de un encoder lineal

Finalmente todas estas particularidades que poseen los encoders lineales hacen

pensar seriamente la inclusión de los mismos para realizar mediciones o para formar

parte de un sistema de control; aún teniendo en cuenta que los costos de estos

dispositivos son superiores a la de otros sistemas de medición.

SELECCIÓN

Existen muchas variables a considerar al momento de seleccionar una escala

lineal, pero como ésta va a estar destinada a medir la posición de un sistema de alta

Alberto C. Alonso 43

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

velocidad son dos especificaciones las que se tuvieron en cuenta para realizar la

elección, las cuales son la resolución y la precisión.

Considerando las distintas empresas que ofrecen reglas lineales se analizaron

dos productos, uno de la empresa FAGOR y otro correspondiente a HEIDENHAIN.

Teniendo en cuenta la similitud de los productos de ambas empresas, se optó por

elegir la escala lineal de la marca HEIDENHAIN por contar ésta con mayor trayectoria y

mejor asesoramiento.

En la TABLA 3-1 se muestran las características de la escala lineal

seleccionada.

Especificaciones Modelo 177LS Medición estándar Escala de vidrio con graduación DIADUR* Coeficiente de expansión 6 18 10térmico x Kα − −=

Grado de precisión 5 mµ±

Longitud de medición 740mm

Señales incrementales 20TTL x

Período de rejilla 20 mµ

Interpolación integrada 20 fold−

Período de la señal 1 mµ

Frecuencia de barrido 25kHz

Borde de separación 0.5 sµ≥

Resolución 0,25 mµ

Velocidad de avance 30 mmin

Suministro de energía sin carga 5 5% /140V mA±

Largo del cable 100m≤

Fuerza de movimiento requerida 4 N≤

Vibración (55 a 2000 Hz) 2200 mseg

Shock (11 mseg) 2400 mseg

Aceleración 260 mseg

≤ en la dirección de medición

Temperatura de operación 0 º 50 ºC a C

Protección IEC 60529 53IP

Peso 2,1Kg TABLA 3-1: Especificaciones de la escala lineal

Alberto C. Alonso 44

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

MONTAJE

Escala lineal HEIDENHAIN Para montar la escala lineal, la cual se muestra en la FIGURA 3-2, se siguió el

procedimiento indicado por el fabricante en el manual de montaje [12].

FIGURA 3-2: Escala lineal HEIDENHAIN

Antes de proceder a efectuar a la instalación de la escala se tuvo que desmontar

la Mesa X que se encontraba montada en cruz con la Mesa Y. Una vez finalizado el

desacople de las mesas, quedó lista (FIGURA 3-3) para comenzar con los primeros

pasos de la fijación de la regla.

FIGURA 3-3: Mesa desmontada

Alberto C. Alonso 45

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Tal como muestra la FIGURA 3-4, el primer requisito para la instalación de la

escala lineal fue la planicidad de la superficie donde se fijó la escala. La misma debía

cumplir con un valor 30 mµ≤ , según lo especificado en el manual de montaje de la

mencionada escala lineal. Tal requisito fue un requerimiento de diseño especificado en

los planos de fabricación que se le entregaron a la empresa INMEBA.SRL encargada

de fabricar la mesa y quedó registrada en el informe 069/08 entregado por el Inspector

L. Sosa perteneciente a la empresa mencionada.

FIGURA 3-4: Planicidad de la superficie de instalación

Una vez finalizado los trabajos de limpieza de la cara de la base donde se

montará la escala lineal, se marcaron los distintos puntos de anclaje, donde luego se

realizaron los agujeros, y posteriormente, con un macho M4, se hicieron las roscas.

FIGURA 3-5: Puntos de fijación de la escala lineal

Alberto C. Alonso 46

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

La posición de estos puntos de anclaje se fijaron basándose en el plano

“Agujeros para Regla Y” el cual se adjunta en el APÉNDICE A. Una vez finalizados los

10 agujeros roscados, como se muestra en la FIGURA 3-5, se procedió a fijar los

primeros tornillos.

Para fijar la escala lineal teníamos dos opciones, usar tornillos M5 o M6. Con el

propósito de tener un mayor margen de movimiento para la regulación se utilizaron los

tornillos M5. Como prueba inicial se colocaron dos de estos tornillos en los extremos de

la escala lineal, ajustándose los mismos con un torquímetro a un valor inicial de 1 Nm,

tal como se muestra en la FIGURA 3-6.

FIGURA 3-6: Puntos de alineación genéricos

Con el comparador se midió la alineación en varios puntos a lo largo de la

escala, según se especificaba en el manual de montaje; luego de obtener valores

razonables se procedió a ajustar los 8 restantes tornillos con el mismo torque inicial de

1 Nm. Nuevamente con la ayuda del comparador se midieron los puntos de alineación,

encontrándose pequeñas diferencias respecto a la primera medición. Por lo cual se

procedió a dar el torque final de 5 Nm, y la consiguiente verificación final de la

alineación.

Se debe mencionar que para realizar las mediciones con el comparador se debió

situar a éste sobre el plato de Mesa Y, cuyos patines están apoyados sobre unas

guías, las cuales son la cara de referencia, para luego moverlo a los distintos puntos de

alineación por medio de una manivela colocada en el acople que vincula al tornillo con

el eje del servomotor.

Alberto C. Alonso 47

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Para asegurar la calidad de las mediciones se recorrieron los puntos de

medición en un sentido y en el inverso, pero dado que no se podía llegar de un extremo

de la escala al otro se cambió la posición del comparador (FIGURA 3-7) y se realizó el

mismo procedimiento, pero comenzando desde la otra punta de la escala, y luego se

compusieron estas mediciones.

FIGURA 3-7: Posiciones del comparador

En la TABLA 3-2 se muestran los valores finales recolectados y en la FIGURA 3-

8 una gráfica en la que se puede ver las variaciones de los valores medidos. El primer

valor es de 0 mµ y corresponde al valor inicial del comparador.

Ubicación comparador

Punto de medición 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Valor

pico

Extremo izquierdo

Sentido directo 0 1 6 26 28 33 67 75 82 114 117 119 120 120

Sentido inverso 1 4 10 31 29 38 72 77 87 118 123 124 120 124

Valor medio 0,5 2,5 8 28,5 28,5 35,5 69,5 76 84,5 116 120 121,5 120 121,5

Extremo derecho

Sentido directo 26 29 30 31 28 26 22 2 1 0 -4 -4 0 31

Sentido inverso 26 30 33 30 31 30 27 5 5 4 -2 -3 -2 33

Valor medio 26 29,5 31,5 30,5 29,5 28 24,5 3,5 3 2 -3 -3,5 -1 31,5

TABLA 3-5: Medición final de la alineación

Alberto C. Alonso 48

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

-20

0

20

40

60

80

100

120

140

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Puntos de medición

[Mic

róm

etro

s]

Extremo izquierdo

Extremo derecho

FIGURA 3-8: Medición final de la alineación

Para este caso el manual de montaje solicitaba que la alineación no debía

superar los 200 mµ , dicha especificación se muestra en la FIGURA 3-9, y como puede

observarse se cumple la mencionada condición, ya que la máxima desviación medida

es de 124 mµ≤ .

FIGURA 3-9: Alineación de la escala lineal

Soportes de fijación Para vincular la mesa de posición denominada “MESA Y” con la escala lineal se

encargó la fabricación de un conjunto de dos piezas las cuales se muestran en la

FIGURA 3-10 y cuyos planos “Soporte Móvil Y” y “Soporte Fijo Y” se presentan en el

APÉNDICE A. Las mismas fueron fabricadas en aluminio de tal manera que el conjunto

Alberto C. Alonso 49

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

fuese lo más liviano posible, y por otro lado que el costo de fabricación también fuese lo

menor posible.

FIGURA 3-10: Soportes de fijación

Para fijar estos soportes al plato de la “Mesa Y” se debió perforar y luego roscar

en las posiciones que se especifican en el plano “PLATO EJE Y”, el cual se adjunta en

el APÉNDICE A. Por medio de dos tornillos M6 y con un torque inicial de 1 Nm se

fijaron ambos soportes quedando estos vinculados al plato como se observa en la

FIGURA 3-11.

FIGURA 3-11: Vinculación plato-soportes

Utilizando el comparador, galgas de calibración y bloques patrones se reguló la

posición de estas placas soportes, de manera tal de cumplir con los requerimientos de

paralelismo indicados en el manual de montaje de la escala lineal. Cumplidos estos

requerimientos se procedió a dar el torque final de 5 Nm a los tornillos de sujeción entre

los soportes y el plato.

Alberto C. Alonso 50

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

La distancia de separación entre la cara interna del soporte fijo y la cara de

apoyo de la escala lineal debía ser de 37 0,3mm± , tal como se muestra en la FIGURA

3-12.

FIGURA 3-12: Distancia de separación del cabezal

Para realizar esta medición se dividió el recorrido total de la mesa Y en 4 partes

distanciadas 250 mm, y con la ayuda de un calibre digital y bloques patrones se

recolectaron los valores que muestran la TABLA 3-6, de los cuales se observa que se

cumple con el requisito mencionado, en el cual esta distancia no podía ser mayor a

37,3 mm ni menor a 36,7 mm.

Valores expresados en mm

Punto de medición 1P 2P 3P 4P

Izda. Dcha. Izda. Dcha. Izda. Dcha. Izda. Dcha. Punto de medición

en el soporte

fijo 36,92 36,90 37,00 37,01 36,96 36,94 36,98 36,96

TABLA 3-6: Separación del bloque de montaje

Finalmente se verificó con el comparador que el soporte fijo presentara la menor

desviación en forma horizontal, de tal manera de impedir que el desplazamiento del

bloque de montaje se hiciera inclinado

Esta última verificación fue importante dado que respetando este valor se

garantizó que el desplazamiento del bloque de montaje se efectuara con la menor

fricción posible.

Con respecto al bloque de montaje, éste debía cumplir con ciertas condiciones

en cuanto a su posición, para lo cual se aconsejaba utilizar una herramienta de

calibración; al no contar con esta herramienta se utilizó para calibrar la posición del

Alberto C. Alonso 51

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

cabezal los distanciadores que sujetaban al mismo. Con esta herramienta y con los

bloques patrones se ajustó la posición del cabezal y se vinculó a la placa soporte por

medio de dos tornillos M6, lo cuales se fijaron con un torque final de 8 Nm. Una vez

montado todos los soportes se verificaron las distancias mencionadas, y que pueden

observarse en la FIGURA 3-13, con la ayuda de galgas y bloques patrones, además de

un calibre digital.

FIGURA 3-13: Calibración del cabezal

El bloque de montaje no sólo debía cumplir con requisitos de orientación en su

posición, sino también de recorrido a lo lardo de la escala. Para que se cumplieran

estas limitaciones en cuanto a su desplazamiento se ajustaron los finales de carrera

como así también los topes de goma que se encuentren en los extremos de la mesa.

Con lo cual se logró respetar los valores que se muestran en la FIGURA 3-14, de

manera tal de garantizar el normal funcionamiento de la escala.

FIGURA 3-14: Desplazamiento del cabezal

Alberto C. Alonso 52

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

ELEMENTOS DE CONEXIÓN Y CABLES

La conexión de la escala lineal con el puerto “ENC2” del controlador

ADVANTAGE 400 se realizó a través de un cable cuyos pines de conexión se indican

en la TABLA 3-8.

LS177C Adv400 [ENC2] Pin Descripción Color Pin Descripción 5 1aU Brown 1 CHA1+

6 1aU Green 9 CHA1-

8 2aU Gray 10 CHB1+

1 2aU Pink 3 CHB1-

3 0aU Red 4 CHC1+

4 0aU Black 12 CHC1-

12 pU Brown/Green 5 A+5V

10 0V White/Green 2 GND TABLA 3-8: Disposición de pines

Debido a la distancia entre el controlador y la mesa de posición donde está

montada la escala lineal se tuvo que adquirir un cable adaptador, en donde uno de los

extremos posee un conector de fábrica y en el otro extremo se colocó una ficha DB 15

macho, la cual va inserta en el puerto del controlador ADVANTAGE 400.

La conexión de este cable adaptador se realizó según lo especificado en el

manual de instrucciones de montaje provisto por el fabricante. En la FIGURA 3-15 se

muestra el diagrama de conexiones que se utilizó para armar el mencionado cable

alargador.

FIGURA 3-15: Diagrama de conexión del cable adaptador

Finalmente se conectó el cable a la escala lineal y se volvió a ensamblar la Mesa

X, la cual se había desacoplado para realizar el proceso de montaje. También se

Alberto C. Alonso 53

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

volvieron a verificar los requisitos de ensamblaje para conocer si se habían modificado

estos valores producto del acoplamiento de la Mesa X, no encontrándose modificación

de esto. Así quedó concluida la instalación de la regla, como puede observarse en la

FIGURA 3-16.

FIGURA 3-16: Montaje final

Alberto C. Alonso 54

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

CAPÍTULO 4: PUESTA EN MARCHA DEL SISTEMA

SOFTWARE DE CONTROL

Para configurar y controlar la placa Turbo PMAC2 se utilizó el programa

denominado PWIN32PRO2, el cual es una herramienta de desarrollo para crear y

administrar las implementaciones específicas de la mencionada placa.

Éste proporciona una terminal, un editor de texto para editar programas PLC y

de movimiento y un entorno de trabajo. Adicionalmente, hay un conjunto de

herramientas para configurar y trabajar con la placa Turbo PCMAC2.

En el APÉNDICE B se presenta una guía de manejo del programa

PWIN32PRO2 donde se describen las características del mismo. Mientras que para la

sintonización de los motores se utilizó el software PMACTUNINGPRO2.

ASPECTOS BÁSICOS SOBRE PMACTUNINGPRO2

El programa PMACTUNINGPRO2 forma parte del conjunto de programas que se

encuentran dentro del PWIN32PRO2, aunque este software puede ser ejecutado

directamente, sin necesidad de abrir el programa principal.

Este software está diseñado como una herramienta de configuración y diagnóstico, el

cual permite crear y administrar varios aspectos de la sintonización de los motores. El

mismo permite configurar y optimizar las ganancias de lazo de corriente, verificar el

funcionamiento de un motor a lazo abierto, calibrar los comandos de servo, configurar y

optimizar las ganacias de lazo de posición para el algoritmo PID, y poner en práctica

los diferentes filtros de velocidad y aceleración. Además de las funciones de

sintonización provee utilidades de trazado en tiempo real, monitoreo del estado del

motor, ventanas de inspección y una terminal sencilla para monitorear y realizar

diferentes tareas en el sistema.

Una vez ejecutado el programa se inicia la siguiente ventana (FIGURA 4-1). El

mismo automáticamente detecta la placa Turbo PMAC2, de encontrarse ésta instalada;

en caso contrario abre una ventana solicitando que se elija una placa válida.

Alberto C. Alonso 55

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

FIGURA 4-1: Ventana PMACTUNINGPRO2

En el APÉNDICE C se adjunta una descripción de los distintos comandos que

entrega el programa PMACTUNINGPRO2, haciendo incapié en los utilizados para

configurar el sistema.

AJUSTES DEL SISTEMA

Ubicación del sistema de control El sistema de control de la mesa XY se encuentra repartido en dos gabinetes, tal

como se observa en la siguiente FIGURA 4-2.

Figura 4-2: Gabinetes donde se aloja el sistema de control

Alberto C. Alonso 56

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

En el gabinete menor que se muestra en la FIGURA 4-2 se encuentra instalado

el controlador Advantage 400.

FIGURA 4-3: Gabinete menor que aloja al controlador Advantage 400

Los drivers FESTO de los servomotores se encuentran en la parte superior del

gabinete mayor tal como se muestra en la FIGURA 4-4.

FIGURA 4-4: Gabinete mayor que aloja los drivers Festo

Alberto C. Alonso 57

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Procedimiento para el arranque del sistema Para dar inicio al sistema se deben seguir los siguientes pasos:

1. Asegurarse que los conectores de los enconders estén conectados a los drivers

y que el conector D-sub 25 que proviene del gabinete menor, donde está alojado

el controlador, esté conectado en el puerto ubicado en la derecha del gabinete

mayor.

2. Conectar a la red tanto el controlador CNC como los driver del motor.

3. Asegurarse que la parada de emergencia esté activada. Esto puede verificarse

observando el estado del ojo de buey rojo ubicado en la puerta del gabinete

mayor (Luz roja encendida = parada de emergencia activada).

4. Abrir el gabinete mayor y levantar el interruptor general, luego los interruptores

del motor X y del motor Y.

5. Para energizar los drivers de los motores se deb presionar el pulsador verde

ubicado en la puerta del gabinete mayor, el ojo de buey verde debe encenderse.

6. Acceder al gabinete menor y levantar el interruptor para dar energía al

controlador. Seguidamente se iniciará la carga del sistema operativo Windows

CE del controlador.

7. Una vez que el controlador haya terminado de cargar todos los archivos se

deberá realizar la búsqueda de home. Este paso es necesario, pues de lo

contrario cualquier operación que se quiera realizar arrojará un error de

seguimiento (Fatal Following Error).

8. Para realizar la búsqueda de home se deberá proceder de la siguiente manera:

Utilizando las teclas de función ubicadas en el panel frontal del controlador,

presionamos la tecla F9 y seguidamente la tecla F2, con lo cual accederemos a

la rutina de búsqueda del home. Luego con la tecla F4 seleecionamos el motor

X y presionamos la tecla F5 o F6, con esto comenzará la búsqueda del home.

Una vez que el home haya sido encontrado, presionamos la tecla F4 y

seleccionamos el motor Y. Nuevamente con la tecla F5 o F6 iniciamos la

búsqueda del home. Finalizado esto el sistema ya estará listo para ser utilizado.

Calibración del conversor digital/analógico La calibración del conversor digital analógico permite encontrar el valor óptimo

de compensación en la señal de salida. Los pasos a seguir para realizar ésta

calibración se encuentran en el APÉNDICE C (pag. 81). Para realizar la calibración del

Alberto C. Alonso 58

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

conversor digital analógico (DAC) para los dos motores del sistema de posicionamiento

se utilizaron los siguientes valores y el comando DAC Calibration, y se obtuvieron los

resultados mostrados en la TABLA 4-1.

Parámetros Motor X Motor Y Number of test iterations 2 2

Calibration step size 0,01 0,01

Resultados

Offset sugerido 3 4

Banda muerta 62 84 TABLA 4-1: Calibración DAC

Luego de aplicar al sistema los valores sugeridos en el mencionado test se dejó

calibrado al conversor digital/analógico.

Test de lazo abierto

FIGURA 4-5: Gráfica a lazo abierto para el Motor X

Alberto C. Alonso 59

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

El test a lazo abierto permite comprobar el funcionamiento de los motores y de

los encoders. Los pasos de configuración para realizar el test se encuentran

especificados en el APÉNDICE C (pag. 83). Los valores que se han utilizado para

realizar el test, por medio del comando Open Loop Test, se especifican en la TABLA

4-2.

Parámetros Motor X Motor Y Open Loop Magnitude (%) 1 1

Open Loop Time (msec) 50 50

Number of Repetitions 4 4 TABLA 4-2: Parámetros del test a lazo abierto

FIGURA 4-6: Gráfica a lazo abierto para el Motor Y

Los resultados arrojados pueden verse en la FIGURA 4-5 y 4-6, que

corresponden a los motores X e Y, respectivamente. También con el test se pudo ver

que los enconders trabajan correctamente.

Alberto C. Alonso 60

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

PROGRAMACIÓN DE LAZOS DE CONTROL INTERNOS

Una vez finalizados los test mencionados anteriormente se procedió a realizar la

sintonización de los motores utilizando el algoritmo de control que posee la placa Turbo

PMAC2, el cual se puede personalizar para construir un lazo de control que se ajuste al

sistema que deseamos controlar. En FIGURA 4-7 se muestra el digrama de bloques

general del algoritmo de control mencionado.

FIGURA 4-7: Controlador PID + filtros nocth y pasabajo

Para una mejor interpretación del algoritmo anterior se definirán algunos

términos y qué variables “I” los representan. Cabe mencionar que estas variables “I”

son parámetros que permiten al usuario, a través de su modificación, darle

personalidad a la placa TurboPMAC2, y en particular al algoritmo de control.

08xI : Factor de escala de la posición. Especifica el factor de escala en el registro interno

de la posición del motor correspondiente. Tiene un valor por defecto que no es

necesario cambiar, salvo en casos exepcionales.

09xI : Factor de escala de la velocidad. Especifica el factor de escala en el registro

interno de la velocidad del motor correspondiente. Tiene un valor por defecto que no es

necesario cambiar, salvo en casos exepcionales.

11xI : Límite de error fatal de seguimiento. Cuando se excede este valor el motor es

desconectado.

Alberto C. Alonso 61

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

30p xK I= : Ganancia proporcional.

31d xK I= : Ganancia derivativa.

32vff xK I= : Ganancia correspondiente al feedfoward de velocidad.

33i xK I= : Ganancia integral.

34xIM I= : Modo de integración. Su función es activar (valor = 0) o desactivar (valor = 1)

el módulo de control integral.

35af xK f I= : Ganancia correspondiente al feedfoward de aceleración.

68xI : Feedfoward a la fricción. Permite superar errores debido a la fricción mecánica.

69xI : Define el límite en la señal de salida. Si por alguna razón la señal de salida es

mayor al valor que está definido en esta variable, automáticamente se le asigna este

útlimo de manera de garantizar el normal funcionamiento del sistema.

En el digrama se muestra también un bloque que corresponde a los filtros notch

y pasabajo, dado que estos filtros no se utilizaron no se realizará una descripción de los

mismos. De cualquier manera, la información sobre su utilización y manera de

configurarlos se encuentra en el manual [11].

Para realizar la sintonización, el programa PMACTUNINGPRO2 presenta dos

alternativas, una es de autosintonización del PID y otra es de una sintonización

interactiva. Primeramente se utilizó la autosintonización para conocer los valores de

ganancias que arrojaba el programa y a partir de ellos realizar una sintonización

interactiva hasta encontrar los valores de ganancia adecuados para el sistema.

Autosintonización del PID interno Esta opción que provee el programa PMACTUNINGPRO2 permite ajustar

automáticamente los valores de las ganancias del algoritmo de control que hemos

seleeccionado por medio del menú de opciones. Una vez definido el aspecto que

tendrá dicho algoritmo de control y los valores del mismo se puede realizar la

autosintonización, con lo cual se le asignarán ganancias a los distintos bloques del

algoritmo de control, y una vez finalizada la ejecución de las distintas rutinas que

permiten establecer valores en función del sistema a controlar, estaremos en

condiciones de probar el lazo de control con las distintas trayectorias para conocer

Alberto C. Alonso 62

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

cómo se comporta, y si es necesario, hacer las correcciones que correspondan por

medio de la sintonización interactiva.

Al seleccionar esta herramienta para realizar la sintonización del PID se presenta

la siguiente ventana de configuración (FIGURA 4-8). Como puede observarse hay

varios parámetros a definir antes de ejecutar la aplicación que nos permitirá determinar

las ganancias del lazo de control. En la misma hay valores que se fijaron y se

mantuvieron durante todo el proceso de sintonización, mientras que otros se fueron

modificando para lograr una respuesta satisfactoria.

FIGURA 4-8: Ventana de autosintonización

En la sección “Amplifier Type” se seleccionó Current Loop como tipo de

amplificador de acuerdo a la configuración de los drivers del controlador. Otros de los

parámetros que se mantuvieron fijos son los correspondientes a la sección “Auto-Tune

Parameters”, donde se utilizó un 15 % de la excitación máxima con un tiempo de

excitación de 100 ms. Con respecto al movimiento de los motores se fijaron 400 cts

para el desplazamiento mínimo y 8.192 cts para el desplazamiento máximo. Finalmente

de las opciones avanzadas del PID se seleccionó que el test se realizara con 1

iteración y que el movimiento del motor fuera en un sólo sentido.

Dentro de los objetivos de diseño (Design Goals) se utilizó como punto de

partida un ancho de banda de 15 Hz, que luego fue cambiado a 20 Hz para poder

lograr la reducción del error de seguimiento, y un factor de amortiguamiento de 0,7.

Estos valores se eligieron teniendo en cuenta el tipo de sistema a controlar.

Como primer paso en la autosintonización se descartó el uso de control integral

y los filtros de feedfoward a la velocidad y a la aceleración. Con esta configuración

Alberto C. Alonso 63

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

inicial se lanzó el programa de autosintonización, permitiendo así asignar las primeras

ganancias al algoritmo de control. Luego de varias simulaciones con distintas

configuraciones de algoritmos se llegó a uno definitivo, al cual se le incluyó el control

integral y los filtros de feedfoward a la velocidad y a la aceleración.

Sintonización interactiva del PID interno Seleecionando esta alternativa para realizar la sintonización de nuestro

algoritmo de control, nos permitió actuar directamente sobre las ganancias de los

distintos bloques, estableciendo valores y probando el sistema con las distintas

trayectorias disponibles. A partir de los resultados obtenidos con la autosintonización se

realizaron las correcciones en las ganancias hasta dar por sintonizado al sistema. En

la FIGURA 4-9 y 4-10 se muestran los valores finales correspondientes a la

sintonización de motor (X) y del motor (Y), respectivamente. También puede

observarse los valores de la trayectoria S-Curve Velocity utilizada comprobar la

sintonización realizada y ajustar el error de seguimiento en los momentos de

aceleración/desaceleración tal como lo sugería el manual del controlador. Una de las

ventajas de utilizar esta trayectoria radica en que la derivada de la aceleración (choque)

es una función con valores acotados, lo que hace más suave los movimientos y permite

reducir el error.

FIGURA 4-9: Sintonización interactiva Motor X

Alberto C. Alonso 64

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

FIGURA 4-10: Sintonización interactiva Motor Y

El proceso de sintonización a través de estas herramientas se realizó de la

misma manera para cada uno de los motores. Por lo cual los resultados finales de la

sintonización de los dos motores se resumen en la TABLA 4-3.

PID Interactive Tuning Motor X Motor Y Posición inicio simulación (cts) -80.000 -128.000 Present PID Terms Ixx30 (Kp) Proporcional Gain 7.990 13.486 Ixx31 (Kd) Derivative Gain 3.168 3.200 Ixx32 (Kvff) Velocity Feed Forward Gain 3.168 3.200 Ixx33 (Ki) Integral Gain 10.193 13.454 Ixx34 (IM) Integral Gain 0 0 Ixx35 (Kaff) Acceleration Feed Forward Gain 30.000 34.000 Ixx29 Command Out Offset 3 4 Ixx69 Command Out Limit 16.384 16.384 Ixx60 Servo Cycle Extension 0 0 Ixx68 Friction Feed Forward Gain 40 50 Ixx11 Fatal Following Error 65.536 65.536 Trajectory Selection S-Curve Velocity S-Curve Velocity Move Distance (cts) 14.336 [35 mm] 14.336 [35 mm] Velocity (cts/sec) 4.177.920 [170mm/sec] 4.177.920 [170mm/sec] Time Accel. (msec) (Ixx20) 125 125 Time S-Curve (msec) (Ixx21) 40 40 Number of Repetitions 1 1 Following Error (cts) 12,9 [31,5 micrones] 11,8 [28,8 micrones]

TABLA 4-3: Valores finales de la sintonización

Alberto C. Alonso 65

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Con estos valores se obtuvo una respuesta satisfactoria del sistema, la cual se

valoró analizando el error de seguimiento, el cual cumplió con lo requerido para

sistemas de alto presición de posicionamiento y a los valores logrados por la mesa XY

contralada por el sistema de arquitectura abierta.

La valoración del desempeño del sistema se realizó analizando al mismo con la

curva S de velocidad. En las FIGURAS 4-11 y 4-12 se presentan las gráficas

correspondientes a la última simulación, donde se muestran la evolución del error de

seguimiento, la posición actual y la comandada. En las dos figuras citadas, la señal de

posición comandada y la posición actual se solapan, pudiéndose ver una pequeña

diferencia en los períodos de aceleración y desaceleración, donde se puede ver que el

error de seguimiento es mayor que en el período de velocidad constante.

FIGURA 4-11: Test Curva S de velocidad para el motor X

Para realizar la prueba de desempeño del sistema con la curva S de velocidad se

utilizaron los valores mostrados en la anterior TABLA 4-3. Los resultados arrojados por

la simulación dieron que el error de seguimiento estuvo en un valor máximo de 31,5

mµ y 28,8 mµ para el motor X y para el motor Y, respectivamente. Estos valores de

Alberto C. Alonso 66

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

error de seguimiento, cumplen con lo requierido en sistemas de alta presición en el

posicionamiento.

FIGURA 4-12: Test Curva S de velocidad para el motor Y

PROGRAMACIÓN DE LAZOS DE CONTROL PERSONALIZADOS

Algoritmos personalizados Otra alternativa que nos provee la placa TurboPMAC2 al momento de realizar un

lazo de control, es la de utilizar la opción de desarrollar nuestro propio algoritmo de

control, tal como se describe en el APÉNDICE D.

Alberto C. Alonso 67

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

CAPÍTULO 5: CONCLUSIONES

Una vez finalizada la integración y puesta en marcha del controlador numérico a

la mesa de posicionamiento podemos decir que por medio de este trabajo se consiguió

adquirir el conocimiento de un sistema de posicionamiento de dos dimensiones

denominado mesa en cruz, como está conformada dicha mesa y la manera de llevar un

sistema físico, como es la mesa de posicionamiento, en un modelo matemático.

Por medio de la instalación de una escala lineal se obtuvo el conocimiento de un

sistema de medición de posición avanzado y los procedimientos necesarios para

vincular el instrumento a la mesa de posicionamiento. También se logró cumplir con

todas las tolerancias en el montaje requeridas por el fabricante.

La integración del controlador numérico llevada a cabo me permitió conocer la

manera de manejar y configurar un controlador avanzado, logrando vincularlo a un

sistema de alta presición en el posicionamiento. Como parte de esta integración se

logró sintonizar y ajustar el sistema utilizando trayectorias conocidas y obteniendo

errores de seguimiento acordes a los de máquinas herramientas modernas.

Finalmente se dejó un sistema flexible que permitirá la implementación de

distintos lazos de control y programación sencilla a través de código G.

Alberto C. Alonso 68

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

APÉNDICE A: PLANOS DE FABRICACIÓN Y FIJACIÓN

En este apéndice se adjuntan los planos de fabricación de los soportes utilizados

para vincular la escala lineal con la mesa de posicionamiento. También se adjuntan los

planos utilizados para la fijación de la escala lineal.

Alberto C. Alonso 69

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

APÉNDICE B: PWIN32PRO2: PROGRAMA DEL CONTROLADOR ADV. 400

La presente guía tiene como fin mostrar las herramientas básicas que se

utilizaron para configurar el controlador y una descripción rápida de las demás

funciones. De todas maneras en los manuales [14] y [15] puede encontrarse

información avanzada sobre el uso del programa PWIN32PRO2.

Al iniciar el programa nos encontramos con la interfase que se muestra en la

FIGURA B-1. Donde se puede ver la barra de menú que tiene la particularidad de ser

una barra de menú dinámica. Esto significa que el menú cambia en función de la

ventana que se pone de relieve. Una sección correspondiente al administrador de

proyectos, una herramienta que se puede utilizar para proyectos complejos, donde se

mostrará una lista de los archivos que forman parte del proyecto, permitiendo agregar o

quitar archivos, organizar y renombrar, etc. Otra sección del programa corresponde a la

ventana de mensajes. En esta se mostrarán todas las acciones que se vayan

sucediendo en el programa. Esta información puede resultar útil para realizar un

seguimiento de las distintas acciones que se vayan realizando y poder detectar errores

o un funcionamiento inadecuado del sistema.

FIGURA B-1: Interfase del programa PWIN32PRO2

La barra de menú principal esta formada por los siguientes ítems:

• File:

Alberto C. Alonso 70

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

o New File: Abre el editor y crea un nuevo archivo llamado untitled.pmc listo

para ser editado.

o Open File: Abre el editor para cargar el archivo seleccionado.

o New Workspace: Crea un nuevo espacio de trabajo, cerrando todas las

ventanas abiertas.

o Open Workspace: De haber un espacio de trabajo lo cierra y abre el espacio

de trabajo guardado en el archivo seleccionado.

o Save Workspace: Salva el espacio de trabaja en un archivo.

o Save Workspace As: Renombra el actual espacio de trabajo.

o Close Workspace: Cierra todas las ventanas abiertas y guarda el espacio de

trabajo.

o Show Project Manager: Muestra u oculta el administrador de proyectos.

o Upload Program(s): Carga un programa de movimiento o PLC en un

archivo, y luego lo abre en el editor.

o Upload Variables: Permite cargar un rango de variables I, P, Q o M en el

editor.

o Download File: Permite subir a la memoria de la placa Turbo PMAC2 un

archivo.

o Exit: Cierra el programa.

FIGURA B-2: Listado de variables “I”

Alberto C. Alonso 71

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

• Configure: Entre las opciones que presenta .La placa Turbo PMAC2 tiene distintos

tipos de variables. Éstas variables están especificada por una letra (I, P, Q o M)

seguida de un número entre 0 y 8191. Cada letra denota un tipo diferente de

variable con sus propiedades.

o I-Variables: Éstas son llamadas variables de inicialización o de

configuración. Se encuentran en un lugar fijo de la memoria y tienen

significados predefinidos. A través de estas variables se puede modificar

cada aspecto de la placa Turbo PMAC2. Las variables que van desde I0 a

I8191 están organizadas como se muestra en la TABLA B-1.

Rango Descripción I0 – I99 Configuración global de la placa

I100 – I199 Configuración del motor 1

I200 – I299 Configuración del motor 2

...

I3200 – I3299 Configuración del motor 32

I3300 – I4799 Configuración suplementaria del motor

I4900 – I4999 Configuración de estado

I5000 I5099 Configuración del recopilador de datos y demultiplexor ADC

I5100 – I5199 Configuración del sistema de coordenadas 1

I5200 – I5299 Configuración del sistema de coordenadas 2

...

I6600 – I6699 Configuración del sistema de coordenadas 16

I6800 – I6999 Configuración de MACRO IC

I7000 – I7999 Configuración SERVO IC

I8000 – I8191 Configuración de la tabla de conversión de encoder

TABLA B-1: Descripción general de las variables I

Para una descripción detallada de cada una de estas variables se puede

consultar al manual de referencia [11].

Las variables I tienen algunas características particulares respecto de las

demás variables que maneja la placa Turbo PMAC2, estas son:

Alberto C. Alonso 72

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Asignación de valor: El valor asignado a una variable I puede ser

realizado por una constante o que una expresión determine dicho

valor.

Rango limitado: Para aquellas variables I con un rango limitado, una

asignación fuera del rango permitido, no va a causar un error. El valor

será asignado automáticamente utilizando el truncamiento, es decir,

que al módulo del valor asignado se le resta el rango, y este valor es

el que se le dará a la variable I.

Almacenamiento no volátil: Cuando un valor es asignado a una

variable I, el valor permanece activo en la memoria de la placa que es

volátil. Si se desea que estos valores permanezcan en la placa de

manera permanente se debe utilizar el comando SAVE. Escribiendo

este comando en forma online a través de la ventana Terminal se

guardarán todos los valores asignados a las variables I en una

memoria flash.

Valores por defecto: Los valores por defecto de las variables I están

contenidos en el firmware entregado por el fabricante.

Accediendo al menú Configure nos encontramos que estas variables se

pueden listar de dos maneras, por número de variable o por categoría. En la

FIGURA B-2 se puede ver una ventana donde se muestran las variables I por

número. Esta forma de listar las variables I es la manera más eficiente de

administrarlas y monitorearlas. En la mencionada ventana se puede ver, en

la parte superior, algunas herramientas para buscar una variable

determinada o para ir moviéndonos a través de las mismas. El listado de

variables presenta tres columnas. La primera (#) corresponde al número de

variable, la segunda columna (Description) describe brevemente la función o

parámetro asociada con el número de variable I y la última columna (Value)

muestra el valor actual que posee la variable I. Este valor puede ser

modificado desde aquí, simplemente haciendo doble clic sobre el valor

elegido, y colocando uno nuevo. Presionando la tecla <ENTER> se le

asignará el nuevo valor elegido.

Finalmente en la parte inferior de la mencionada ventana se encuentran tres

parámetros importantes de la variable I seleccionada.

Alberto C. Alonso 73

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Range: Indica que valores puede tomar.

Unit: Muestra en que unidad está expresada.

Default: Define cual es el valor que contiene por defecto.

o P-Variables: Éstas son variables de propósito general disponibles para el

usuario. Son de punto flotante de 48 bits y tienen una ubicación fija en la

memoria de la placa. Hay 8192 variables que van desde la P0 a P8191.

A través de este menú se abre una ventana donde es posible configurar

estas variables y monitorear el estado de las mismas.

o Q-Variables: Al igual que las variables P, éstas son de propósito general y el

usuario puede disponer de ellas. Se utilizan para manejar los sistemas de

coordenadas. Se disponen 8192 variables Q, que van desde la Q0 a Q8191.

A través de este menú se abre una ventana donde es posible configurar

estas variables y monitorear el estado de las mismas.

o M-Variables: Por medio de éstas variables el usuario puede acceder a la

memoria de la placa Turbo PMAC2 de manera sencilla. El comando SAVE

debe ser utilizado para retener el valor de estas variables. Se disponen 8192

variables M, que van desde la M0 a M8191.

A través de este menú se abre una ventana donde es posible configurar

estas variables y monitorear el estado de las mismas.

o Coordinate Systems: Al elegir esta opción de menú se abre una ventana,

como muestra la FIGURA B-3, en la que se presentan los parámetros para

configurar el o los sistemas de coordenadas.

FIGURA B-3: Configuración sistema de coordenadas

Alberto C. Alonso 74

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Al acceder a esta pantalla de configuración nos encontramos con:

Coordinate System to Modify/Monitor: Este campo muestra el sistema

de coordenadas que está utilizando la placa. Usando los botones + o –

podemos mover los distintos sistemas de coordenadas para conocer

los valores asignados. Por defecto el sistema está configurado con el

sistema de coordenadas 1.

Current Axis Definitions: Esta sección presenta una lista con las

definiciones de ejes para el sistema de coordenadas actual,

correspondiente al motor seleccionado. En el caso que seleccionemos

el motor 1, se mostrará la definición de ejes (para nuestro caso #1-

>409,6X). De la misma manera si seleccionamos el motor 2 (#2-

>409,6Y). Estos valores los asigna automáticamente la placa, leyendo

los valores que hemos introducido en el programa de configuración de

la Turbo PMAC2 desde el controlador.

Edit: Por medio de este botón se puede editar el valor que tiene la

definición de ejes.

Remove: Este botón elimina al motor seleccionado en la ventana de

definición del eje del sistema actual de coordenadas.

Available Motors: Muestra una lista de todos los motores disponibles

en sistema de coordenadas actual.

Add: Este botón agrega el motor seleccionado en la ventana de

motores disponibles del sistema actual de coordenadas.

View All Coordinate Systems: Esta opción abre una ventana que

contiene una lista con todos los sistemas de coordenadas disponibles

y sus definiciones de ejes.

Done: Cierra la ventana de configuración de sistemas de coordenadas

y aplicar los valores ingresados.

o Encoder Conversion Table: Por medio de esta opción de menú se puede

alterar, actualizar, salvar o recuperar la tabla de conversión de encoder.

o Econder Conversion Table MACRO: Opción no disponible para la placa

Turbo PMAC2.

o Modbus Setup: Sólo disponible para comunicación a través de USB o

ethernet, las cuales no están configuradas para esta placa.

Alberto C. Alonso 75

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

o MACRO Ring ASCII: Pantalla de configuración para una comunicación con

la placa a través de macro ring ascii.

• View: Este menú contiene herramientas de diagnóstico que se actualizan en tiempo

real, las cuales se muestran a continuación.

o Terminal: Esta opción abre una ventana denominada Terminal que

representa una conexión directa a la placa Turbo PMAC2.

FIGURA B-4: Ventana terminal

En la FIGURA B-4 se presenta la ventana terminal, la cual consta de dos partes:

la entrada de comandos y la ventana de respuesta. Cualquiera sean los

caracteres que se tipeen en la entrada de comandos serán enviado a la placa

una vez que se presione la tecla <ENTER>. Los mismos pueden representar un

comando o no, en la ventana de respuesta se mostrará la respuesta con un color

correspondiente al modo de comunicación. Si un comando es rechazado por la

placa un error de código será mostrado para que el usuario puede realizar la

corrección correspondiente.

Al seleccionar el menú Terminal se produce una modificación en el menú

dinámico principal del PWIN32PRO2, mostrando un item nuevo que se compone

de un conjunto de opciones para personalizar la ventana Terminal.

o Watch Window: Por medio de esta ventana es posible monitorear un

comando, dirección o variable en tiempo real. La elección de esta opción

también modifica al menú principal activando las herramientas para

adicionar, borrar, editar y limpiar el valor a monitorear, personalizar la

ventana de monitoreo, seleccionar prioridades y hasta cambiar la placa a

controlar.

Alberto C. Alonso 76

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

o Position: Esta ventana (FIGURA B-5) provee información de la posición de

los motores. Una vez elegida esta opción se activarán las herramientas para

mostrar otras informaciones como la velocidad y el error de seguimiento.

Además, permite cambiar las unidades con que se mostrarán las variables

citadas, personalizar la vista de la ventana, explorar los distintos motores

presentes y cambiar la placa a monitorear.

FIGURA B-5: Ventana de visualización de la posición

o Jog Ribbon: Por medio de esta ventana se puede acceder a los comandos

que permiten mover cualquier motor en cualquier dirección mediante el uso

de botones. Además, permite la visualización y la reconfiguración de los

parámetros de desplazamiento de cualquier motor a través del botón “Setup

Jog Parameters”. En la FIGURA B-6 puede verse la ventana, en la cual se

encuentra la sección “Select Motor” la cual indica el motor presente sobre el

cual pueden realizarse las acciones de desplazamiento.

FIGURA B-6: Controles para el desplazamiento manual de los motores

Alberto C. Alonso 77

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Seguidamente se encuentran tres divisiones, en donde la primera contiene el

comando para llevar al motor a una posición definida por el número de

cuentas que en la casilla mostrada. En la segunda división se encuentran los

controles para mover al motor de manera continua o incremental. Finalmente

la tercer división presenta tres controles que son: el “Home” el cual permite

realizar la búsqueda de home con el motor seleccionado, el control “”Abort

All”, el cual permite abortar todas las acciones de movimiento y por último el

control “Kill All” cuya función es la de desactivar todos los motores.

o CS Axis Jog Ribbon: Por medio de esta pantalla se puede logra el

movimiento de los ejes predefinidos en un determinado sistema de

coordenadas en cualquier dirección mediante el uso de botones.

o DPR Viewer: Esta opción provee una manera de visualizar y cambiar el

contenido de la DPRAM desde la pc donde está instalado el programa

PWIN32PRO2.

o Connector Status: Esta opción permite monitorear el estado de los

conectores de la placa Turbo PMAC2.

o Motor Status: Usando esta pantalla se pueden visualizar en tiempo real el

estado de los bit correspondientes a los registros X e Y del motor presente y

su interpretación.

o Coordinate Systems Status: Muestra en tiempo real el estado del sistema

de coordenadas actual.

o Global Status: Esta ventana presenta en tiempo real el estado global de los

bits de la placa Turbo PMAC2.

o MACRO Status: Permite controlar el estado de los bits que corresponden a

los MACRO.

o Motor Setup Summary: Muestra un resumen de la configuración del motor

seleccionado.

o Program/PLC Status (and Upload): Por medio de esta opción se accede a

una ventana que muestra información sobre todos los programas de

movimiento y PLC ubicados en la memoria de la placa Turbo PMAC2. Para

cada programa se encuentran en memoria se detalla el número de

programa, la dirección de inicio del programa y la cantidad total de memoria

ocupada. Además, es posible seleccionar cualquier programa PCL o de

movimiento para cargar y editar.

Alberto C. Alonso 78

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

o Special Program Status (and Upload): Esta ventana muestra información

sobre programas especiales cargados en la memoria de la placa. o Specialized Buffers: Muestra una lista con las asignaciones de memoria. o PLCC Status: Provee información de los programas PLCC cargados en

memoria.

• PMAC Resources: Por medio de este menú se accede a las herramientas que

permiten visualizar los recursos de CPU, de memoria y de MACROS.

• Backup: Este menú permite salvar, restaurar y verificar de manera completa o

parcial la configuración de la placa Turbo PMAC2.

• Setup: Utilizando este menú se accede a la configuración general del programa, y

por medio del mismo se puede mostrar u ocultar la ventana de mensajes y el

administrador de proyectos.

• Tools: A través de este menú se acceden a herramientas complementarias del

PWIN32PRO2, la más importante de ellas es el programa PMACTUNINGPRO2

utilizado para realizar la sintonización del sistema. También provee herramientas de

prueba y para graficar señales.

• Window: Por medio de este menú se accede a la administración y organización de

las ventanas activas dentro del programa PWIN32PRO2.

• Help: Dentro de este menú se puede encontrar información respecto de la Turbo

PMAC2 y provee dos herramientas de diagnóstico para motores y programas de

movimiento.

Alberto C. Alonso 79

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

APÉNDICE C: PMACTUNINGPRO2: PROGRAMA DE SINTONIZACIÓN

DESCRIPCIÓN BÁSICA DE COMANDOS

La ventana del programa PMACTUNINGPRO2 se detalla en la FIGURA C-1. En

la misma se puede ver tres partes principales: la barra de menús, la barra de iconos y

la barra de estado.

FIGURA C-1: Ventana de presentación PMACTUNINGPRO2

En la barra de menús encontramos los siguientes ítems:

• File:

o Select Pmac: Por medio de este comando el usuario puede elegir una placa

PMAC para sintonizar o para realizar un test de funcionalidad ad por medio

del botón “Test”. Una vez seleccionada la placa, se escribe en un archivo INI

el número de la misma, de tal manera que la siguiente vez que se ejecute el

programa será éste el dispositivo que quedará seleccionado

automáticamente.

o Open: Permite la apertura de archivos Ivar y Pmac, como también cualquier

archivo de texto.

o Save: Guarda los cambios realizados en el archivo abierto con el comando

“Open”.

o Save As: Permite salvar un archivo de texto en algunos de los formatos

mencionados en el comando “Open”.

o Print: Imprime el archivo abierto.

o Exit: Permite salir del programa y salvar automáticamente los cambios en la

configuración en un archivo INI.

• Current Loop:

Alberto C. Alonso 80

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

o Auto Tuning: A través de este comando el sistema realiza un ajuste de las

ganancias del lazo de corriente. Resulta útil para tener un punto de partida y

luego utilizar el comando interactivo para afinar estas ganancias.

o Interactive: Permite hacer un ajuste de las ganancias en forma interactiva y

ejecutar una prueba con el fin de corroborar que las ganancias seleccionadas

satisfacen lo requerido.

• Position Loop:

o DAC Calibration: Para efectuar la calibración del conversor DAC se accede

al menú “Position Loop” y luego al item “DAC Calibration”, tal como se

muestra en la FIGURA C-2.

FIGURA C-2: Menú de calibración conversor D/A

El propósito de esta función es la de permitir al usuario determinar el valor de

calibración del conversor digital/analógico e implementarlo. Para realizar dicha

calibración se baja y se ejecuta en la Turbo PMAC2 un sencillo programa PLC que

determina el valor óptimo.

Una vez que implementamos este valor, el mismo es guardado en una variable I,

más específicamente en la variable Ix29.

La mencionada calibración se realiza de acuerdo a los parámetros que han sido

ingresados en la ventana de configuración, los cuales son:

Number of test iterations: fija el número de movimientos hacia adelante y

hacia atrás realizados a lazo abierto. Este valor puede ser de 1 a 10.

Calibration step size: indica cada cuanto incrementar el dato digital

enviado al conversor.

Una vez definidos estos valores, por medio del botón “Begin Calibration” en la

ventana de la FIGURA C-3, se comienza el procedimiento de calibración.

Alberto C. Alonso 81

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

FIGURA C-3: Variables de calibración

Finalizado el test, el cual depende del número de iteraciones, de la fricción del

motor y de la banda muerta a lazo abierto, se muestra una ventana donde se

encuentran el valor presente y el sugerido para la calibración del DAC, como también el

valor de banda muerta en bits, ésta última se guarda en la variable Ix65. Un ejemplo de

esto puede verse en la FIGURA C-4.

FIGURA C-4: Resultados de la calibración

En la FIGURA C-5 se puede ver una ilustración gráfica del offset de calibración.

FIGURA C-5: Ilustración gráfica del offset

Alberto C. Alonso 82

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

o Open Loop Test: Para realizar este test se accede a través del menú “Position Loop” y

seguidamente la opción “Open Loop Test”, como se indica en la FIGURA C-6.

FIGURA C-6: Test a lazo abierto

Esta función permite realizar una secuencia repetitiva de movimientos a lazo

abierto de acuerdo a los valores establecidos en las siguientes variables de la ventana

de configuración que se presenta en la FIGURA C-7.

FIGURA C-7: Parámetros del test a lazo abierto

Open Loop Magnitude (%): es el máximo voltaje en una dirección para el

movimiento a lazo abierto. Está expresado como un porcentaje del valor

almacenado en la variable Ix69, la cual contiene el valor máximo permitido

Alberto C. Alonso 83

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

para la salida, expresado en DAC Bits. Cuyo rango va de 0 a 32.767 que

corresponde de 0 a 10V± .

Open Loop Time (msec): especifica el tiempo de duración del test.

Number of Repetitions: fija el número de repeticiones de movimiento.

El test puede finalizar si el límite de velocidad del motor en movimiento, cuyo

valor se especifica en la variable Ix16, se alcanza o cuando se sobrepasan los límites

de posición establecidos, ya sea por hardware o por software (variables Ix13 e Ix14,

para la posición positiva y negativa, respectivamente).

o Regular PID Tuning: El lazo de control interno que provee la placa Turbo

PMAC2 es un PID con filtros notch y pasabajo, cuya configuración se

muestra en la FIGURA C-8, y cuyos componentes se describen a

continuación.

FIGURA C-8: Diagrama PID

Términos del PID: descripciones y consejos.

Ix30 (Kp) - Proportional Gain: El incremento de la ganancia proporcional

robustece el algoritmo de servo e incrementa la frecuencia natural del

sistema a lazo cerrado. Teóricamente aumentando la ganancia proporcional

Alberto C. Alonso 84

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

resultará en una mejora en el posicionamiento y en el seguimiento. Pero a

menudo en los sistemas reales el aumento de esta ganancia conlleva a una

mayor sensibilidad a los ruidos y perturbaciones. El valor por defecto es un

valor muy conservador, y es un buen punto de partida.

or por defecto es un valor muy

conservador, y es un buen punto de partida.

óptimo se obtiene al establecer un valor

igual al de la ganancia derivativa.

s mejoras. Si el usuario no

esea la acción integral, ésta debe fijarse en 0.

l a 1 el integrador solamente actuará

uando la velocidad comandada sea 0.

Ix31 (Kd) - Derivative Gain: La ganancia derivativa funciona como un

amortiguador. A mayor ganancia mayor es el efecto de amortiguamiento.

Esta ganancia previene el sobrepico, pero hace más lento al sistema.

Además, en un sistema digital el ruido de cuantización se amplifica cuando la

ganancia derivativa se aplica y en movimientos lentos (cuentas por segundo)

el ruido en el sistema puede contribuir significativamente en el error. Si el

usuario salta la sintonización automática, es bueno comenzar la sintonía con

un valor bajo de ganancia derivativa. El val

Ix32 (Kvff) - Velocity FF (feed forward) Gain: La ganancia de feed forward

a la velocidad ayudará al sistema a reducir el error en estado estacionario. Si

se va a utilizar esta ganancia es conveniente usar también la ganancia

derivativa. A menudo, el resultado

Ix33 (Ki) - Integral Gain: La ganancia integral actúa para corregir el error de

seguimiento acumulado en el sistema. Es particularmente eficaz para

contrarrestar el error en estado estacionario causado por la fricción. Sin

embargo, por razones numéricas (ganancias altas saturarán numéricamente

al lazo del servo) y concerniente a la estabilidad del servo no se aconseja

valores excesivamente alto de ganancia integral. Se recomienda comenzar la

sintonización con valores bajos e ir viendo la

d

Ix34 (IM) - Integral Mode: Estableciendo un valor igual a 0 el integrador

actúa todo el tiempo, si el valor es igua

c

Alberto C. Alonso 85

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Ix35 (Kaff) - Acceleration FF (feed forward) Gain: Esta ganancia ayuda al

esfuerzo de seguimiento del sistema. La determinación de esta ganancia

involucra algunos cálculos complejos, pero hay una manera intuitiva de

aplicar esta ganancia. Si la gráfica de velocidad (probar el movimiento

parabólica o trapezoidal para chequear la velocidad de seguimiento) del

sistema muestra un mal seguimiento en la aceleración o desaceleración, el

aplicar esta ganancia será de ayuda.

Ix69 - DAC Limit: Si el amplificador posee más potencia que la que el motor

puede manejar, es crucial limitar el DAC de tal manera que no se exceda en

la cantidad de corriente enviada al motor, evitando que éste se queme.

Ix60 - Servo Cycle Extension: Si el movimiento de la carga se realiza muy

lentamente, es decir, si la cuenta del encoder relativas al ciclo del servo es

baja todo el tiempo, puede ser una buena idea extender el ciclo del servo. Al

aumentar el ciclo del servo la Turbo PMAC2 tratará de cerrar los lazos con

menor frecuencia. Esto es deseable para que la placa utilice menos tiempo

de cálculo para el servo, reservando este poder de cálculo para la ejecución

de PLCs o para otras tareas. El valor por defecto es 0, y esto hará que el

lazo se actualice en cada interrupción. Si se fija esta valor a 1, el lazo del

servo se actualizará cada dos interrupciones, y si se fija esta valor en 4, el

lazo del servo será actualizado cada 5 interrupciones, y así sucesivamente.

Ix68 - Friction FF (feed forward) Gain: Esta ganancia está destinada

principalmente para ayudar a superar los errores debido a la fricción

mecánica, de acuerdo a la dirección necesaria para ser compensada.

Establecer esta ganancia en un valor demasiado alto puede degradar al

sistema, se recomienda fijar esta ganancia con moderación.

Ix11 - Fatal Following Error Limit: Cuando se excede este valor de error de

seguimiento, el motor es desconectado automáticamente.

Ix08 - Position Scale Factor: Especifica el factor de escala de multiplicación

del registro interno de posición del motor. Para la mayoría de las aplicaciones

Alberto C. Alonso 86

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

este valor es transparente al usuario y no necesita ser cambiado de su valor

por defecto.

Ix09 - Velocity-Loop Scale Factor: Especifica el factor de escala de

multiplicación del registro interno de velocidad del motor. Para la mayoría de

las aplicaciones este valor es transparente al usuario y no necesita ser

cambiado de su valor por defecto

o Extended Servo Algorithm: Este algoritmo es conveniente para sistemas

con una dinámica más compleja. Igual que el PID, éste presenta las

alternativas de autosintonización o sintonización interactiva. De la misma

manera que el algoritmo PID se pueden utilizar todas las trayectorias

predefinidas para testear y ajustar el sistema.

o Filter: Permite configurar filtros de manera sencilla, un filtro pasa bajos y un

filtro notch.

o Gantry PID: Esta opción posibilita el uso de dos motores en un sistema

gantry. Para lo cual es necesario que el segundo motor sea previamente

sintonizado. Luego se puede utilizar la sintonización interactiva o

autosintonización para el primero motor; y las pruebas y ajustes utilizando las

trayectorias predefinidas en el sistema.

• Trajectory: Provee al usuario diversas trayectorias que permitirán utilizarlas para

ajustar los distintos parámetros del algoritmo de servo. Entre las cuales se pueden

encontrar:

o Position Step

o Position Ramp

Alberto C. Alonso 87

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMERICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

o Parabolic Velocity

o Trapezoidal Velocity

o S-Curve Velocity

Nota: la unidad correcta para

el parámetro Velocity es

[cts/min] y para el parámetro

Aceleration, que en realidad

es tiempo de aceleración, es

[msec].

o Sinusoidal

o Sine Sweep

o User Defined

Alberto C. Alonso 88

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

• Tools:

o Configuration: El comando permite fijar el rango para el conjunto de

variables P y M, el número de PLC’s y programas de movimiento. También

permite habilitar o deshabilitar los programas PLC. o Terminal: Activa una ventana por medio de la cual se puede enviar

comandos online y consultar variables de la placa Turbo PMAC2. o Strip Plot: Presenta una ventana que puede ser usada para ver datos en

tiempo real de la placa Turbo PMAC2. o Report: Presenta un reporte de las variables I utilizadas en la sintonización. o Motor Status: Muestra el estado actual del motor en tiempo real. o Position: Presenta una ventana donde se muestran los valores de posición

de los distintos motores en tiempo real.

• Window: Permite administrar la posición y el orden de las ventanas mostradas en el

programa.

• Help:

o PmacTuning Help: Contiene ayuda relacionada con distintos aspectos del

programa.

o About: Versión del programa utilizado.

En la barra de icono encontramos accesos directos a las herramientas más

importantes que contiene el programa. Una breve descripción de las mismas se

muestra en el TABLA C-2.

Acceso directo Descripción

Select Pmac (F3) Permite seleccionar una placa PMAC para

sintonizar o testear una terminal.

Current Loop AutoTuning Abre una ventana que permite realizar una

autosintonización de un lazo de corriente.

Current Loop Interactive Tuning Abre una ventana que permite realizar una

sintonización interactiva de un lazo de corriente.

PID Auto Tuning Abre una ventana para la autosintonización de un

PID.

PID Interactive Tuning Abre una ventana la cual permite realizar una

sintonización interactiva de un PID.

Alberto C. Alonso 89

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Terminal Window Abre una ventana en la que se puede enviar

comandos online y consultar variables PMAC.

Configuration

Muestra una ventana de configuración donde el usuario puede fijar el rango para las variables P y M, número de PLC, cantidad de programas de movimiento y conectar/desconectar PLC.

Strip Plot Abre una ventana que puede ser usada para ver

datos de la PMAC en tiempo real y graficarlos.

Motor Select Permite eligir el motor para realizarle los test y la

sintonización.

Position Window Abre una ventana donde se puede ver el valor

actual de posición en tiempo real.

TABLA C-2: Descripción de accesos directos

La barra de estado muestra información relacionado con el comando que se

está utilizando.

Alberto C. Alonso 90

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

APÉNDICE D: ALGORITMOS PERSONALIZADOS DE CONTROL

Ésta placa permite la instalación y ejecución automática de algoritmos escritos

por un usuario. Una alternativa que puede ser utilizada si el algoritmo PID provisto por

la placa no es adecuado para obtener el rendimiento requerido en nuestro sistema.

Alternativamente, estos algoritmos personalizados pueden usarse para otras tareas.

Hay dos métodos para desarrollar algoritmos personalizados.

1. Método de ensamblado: Se utiliza un ensamblador cruzado Motorola para la familia

DSP56300. Este método genera un código que es más eficiente y más compacto.

Sin embargo se requieren conocimientos avanzados del lenguaje ensamblador.

2. Método compilado denominado “Open Servo”: donde la programación del lazo de

control se realiza utilizando un lenguaje de alto nivel, compilado por medio del

programa PEWIN32PRO2. Este método de compilación es sencillo de usar y muy

flexible, permitiendo el uso de matemática de punto flotante.

Para aspectos más avanzados en la programación de los lazos de control, se puede

consultar el manual [10]. A continuación se darán los aspectos básicos para entender la

realización de un algoritmo de control a través del método “Open Servo”.

Variables y Arrays

• VARIABLES L: son variables puntero a un registro corto de 24 bits, tratadas como

valores enteros.

• VARIABLES F: son variables puntero a un registro largo de 48 bits. Si la definición

de la variable F es un formato L (F1->L:$10F0), el registro es accedido como un

registro de punto flotante de 48 bits. Si la deficionón de la variable F es en el

formato de variable D (F2->D:$88), el registro es accedido como un entero de 48

bits con signo, pero la conversión a o desde la placa en el formato de punto flotante

de 48 bits es realizada automáticamente, por lo que pue esta puede ser usada en

matemática de punto flotante.

• ARRAYS DE VARIABLES: estos arrays de variables trabajan con las variables de la

placa (variables I, P, Q y M). El número del índice del array está ubicado entre

paréntesis y especifica el número de variables para un tipo específico de variable.

• ARRAYS DE REGISTROS: este trabaja con las variables L y F del compilador.

Estos arrrays deben ser declarados al compilador antes del comienzo del algoritmo

Alberto C. Alonso 91

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

“Open Servo”. El número del índice del array deber estar localizado entre corchetes

y especifica la dirección del Offset desde el comienzo desde el comienzo del array

declarado.

En el manual [10] puede encontrarse información adicional para un uso más

avanzado en el manejo de arrays.

Funciones

• MATEMÁTICAS: estas funciones matemáticas solo pueden usarse en llevar como

argumento una expresión entera.

o SIN (seno)

o COS (coseno)

o TAN (tangente)

o ASIN (arco seno)

o ACOS (arco coseno)

o ATAN (arco tangente)

o ATAN2 (arco tangente)

o ABS (valor absoluto)

o INT (parte entera)

o EXP (exponencial)

o LN (logaritmo natural)

o SQRT (raiz cuadrada)

• ITOF(valor o variable) convierte un valor entero a uno de punto flotante. Debe llevar

como argumento una expresión entera.

ITOF(valor o variable)

• FTOI: (float to integer), convierte un valor de punto flotante a un entero. Debe llevar

como argumento una expresión de punto flotante.

FTOI (valor o variable)

• FLIMIT: limita el valor de una variable de manera positiva y negativa. En el

argumento debe ir el valor o variable a limitar y el límite.

FLIMIT(valor,límite) si valor > límite: retorna el valor de límite

Alberto C. Alonso 92

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

si valor < – límite: retorna el valor de – límite

en cualquier otro caso retorna el valor indicado

• MTRNUM: retorna el número de motor en el que se está ejecutando el algoritmo de

control. El número es retornado como un valor entero. No lleva argumento.

Operadores

Estos operadores pueden ser utilizados en declaraciones donde existan tanto

valores de punto flotante como enteros.

• + (suma)

• - (resta)

• x (multiplicación)

• / (división)

• % (módulo, resto)

• & (AND)

• | (OR)

• ^ (XOR)

Comparadores Estos comparadores pueden ser usados tanto en declaraciones de punto

flotante como enteros, a excepción de los comparadores X y X, que sólo pueden

utilizarse en declaraciones de punto flotante.

• = (igual a)

• > (mayor que)

• < (menor que)

• ~ (aprox. igual a)

• != (distinto a)

• !> (no mayor que, menor o igual)

• !< (no menor que, mayor o igual)

• !~ (distinto a aprox. Igual a)

Alberto C. Alonso 93

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Comandos

• OPEN SERVO: indica al compilador que las líneas de códigos siguientes

pertenecen a un algoritmo escrito por usuario para un lazo de control y que deben

ser compiladas como tal y sobreescribir el espacio reservado en memoria para la

ubicación del algoritmo escrito por usuario.

• CLEAR: su función es la de borrar cualquier código que haya sido escrito

anteriomente. El hecho de que el comando OPEN SERVO borre todo el código

anterior hace que este comando no sea necesario y su uso se opcional.

• CLOSE: indica al compilador la finalización del algoritmo de control, y es el último

comando que debe figurar en el código.

• COPYREG: este comando copia 5 claves del registro del motor sobre el cual se

está ejecutando el algoritmo en cinco variables P consecutivas, las cuales se

pueden utilizar para realizar cualquier cálculo que se necesite. Esto le da la ventaja

al usuario de usar estos valores sin necesidad de conocer en que posición del

registro se encuentran. Las cinco claves copiadas por este comando son: o Velocidad actual o Velocidad deseada o Error de seguimiento o Posición actual o Posición deseada.

La sintaxis para este comando es: COPYREG variable P, donde variable

P especifica el número de la primer variable P donde será copiado el valor

de la velocidad actual y los valores siguientes copiarán las claves

mencionadas en el párrafo anterior.

• RETURN: toma el valor entero que está en el argumento y lo guarda en la memoria

de la placa Turbo PMAC2 para ser usado como valor de salida para el DAC. Si el

valor es de punto flotante debe convertirse en un entero con la función FTOI. La

sintaxis para este comando es RETURN (valor), donde valor debe ser un número

entero.

• SAVE: permite grabar información de manera permantente en la memoria flash no

volátil de la placa Turbo PMAC2. El comando debe tipearse en la ventana Terminal

del programa PWIN32PRO2. Es un comando de ejecución online.

Alberto C. Alonso 94

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

• DEFINE UBUFFER: se utiliza para asignar memoria de datos extra. La sintaxis para

este comando e: DEFINE UBUFFER valor, donde valor especifica la cantidad de

memoria extra en formato decimal.

Escritura de un algoritmo “Open Servo” En principio el algoritmo puede ser escrito en cualquier editor de texto, aunque

es recomendable realizarlo en el editor que provee el programa PEWIN32PRO2. Al

cual se accede por medio del menú del mencionado programa: File > New File. Una

vez realizada esta acción se abre el editor, como se muestra en la FIGURA 4-10.

FIGURA 4-10: Editor de texto para desarrollo de algoritmos de control

Como puede observarse, éste contiene una barra de iconos donde se

encuentras las funciones habituales de cualquier programa informático, a exepción de

los últimos 6 iconos y fundamentalmente el último (Download) que es una rutina

que permite cargar a la memoria de la placa Turbo PMAC2 el código de control

desarrollado.

De manera que una vez finalizado y depurado el algoritmo se procederá a bajar

el código, utilizando la mencionada rutina, con lo cual automáticamente se renocerá

que es un algoritmo de control, se compilará y se grabará un código maquina en la

memoria de la placa.

Se debe mencionar que el procedimiento citado anteriormente solamente

almacena el algoritmo desarrollado en una memoria RAM volátil, sobrescribiendo el

código existente en el espacio reservado para la escritura de algoritmos

Alberto C. Alonso 95

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

personalizados. Al ser una memoria volátil este código permanecerá hasta que el

controlador se reinicie. Si queremos que el algoritmo permanezca de manera definitiva

debemos escribirlo en la memoria flash del controlador. Para ello deberemos utilizar el

comando SAVE, para lo cual debemos escribir este comando en la ventana Terminal

del programa PWIN32PRO2. De no tener abierta la mencionada ventana, la misma se

puede activar por medio del menú de opciones View > Terminal con lo cual se abrirá la

ventana mostrada en la FIGURA 4-11, al final de la misma se deberá tipear el comando

SAVE y esperar las indiciones del programa. Una vez finalizada la grabación del

código, este ya estará listo para usarse.

FIGURA 4-11: Terminal para la ejecución online de comandos

Ahora solo resta activar el motor o los motores sobre los cuales se quiere aplicar

el algoritmo de control, esto se hace seteando la variable Ixx00 de cada motor en un

valor igual a 1.

Finalmente se debe indicar a la placa que utilice el algoritmo personalizado. Esta

orden se realiza seteando la variable Ixx59 de cada motor, en un valor igual a 1.

A continuación se presenta un algoritmo de control realizado utilizando el

método denominado Open Servo, en la FIGURA 4-12 se detalla el diagrama de

bloques del mencionado algoritmo.

Donde:

Kp = Ixx30

Kd = Ixx31

Kvff = Ixx32

Ki = Ixx33

IM = Ixx34

Alberto C. Alonso 96

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

Kaff = Ixx35

FIGURA 4-12: Diagrama de bloques del algoritmo PID

ALGORITMO DE CONTROL PID

; declaración de constantes #define K16 0.000015259

#define K128 0.0078125

#define K23 0.000000119

;uso de variables L para un rápido acceso a las variables I #define Ix08 L1

L1->Y:(R1-$27)

#define Ix09 L2

L2->Y:(R1-$14)

#define Ix30 L3

L3->Y:(R1-$17)

#define Ix31 L4

L4->X:(R1-$1E)

#define Ix32 L5

L5->X:(R1-$21)

#define Ix33 L6

L6->X:(R1-$11)

#define Ix35 L7

L7->Y:(R1-$1D)

Alberto C. Alonso 97

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

#define Ix63 L8

L8->Y:(R1-$11)

#define Ix69 L9

L9->Y:(R1-2)

#define STATUS L10

L10->X:(R1+0)

#define IPOS F1

F1->L:(R1-$12)

#define PDVEL F2

F2->L:(R1-$29)

#define AVEL P0

#define DVEL P1

#define FE P2

#define APOS P3

#define DPOS P4

#define DACOUT P5

; inicio del algoritmo de control OPEN SERVO

CLEAR

COPYREG P0

If (STATUS&$12000 = $12000 Or STATUS&$10000 = 0)

IPOS = FLIMIT(ITOF(Ix33)*FE*K23+IPOS, ITOF(Ix63)*ITOF(Ix08)*2)

DACOUT = FLIMIT(ITOF(Ix30)*K16 * (FE + K128 *(ITOF(Ix32) * DVEL + ITOF(Ix35)

* (DVEL - PDVEL) - ITOF(Ix31) *AVEL) + IPOS), ITOF(Ix69))

PDVEL = DVEL

RETURN(FTOI(DACOUT))

CLOSE

Alberto C. Alonso 98

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

REFERENCIAS

PUBLICACIONES

[1] A. Casquero, R. Hecker, G. Flores, D. Vicente, “Diseño de un dispositivo de

posicionamiento de precisión. Parte I: Especificaciones y procesos de diseño”, Primer

Congreso Argentino de Ingeniería Mecánica, Octubre del 2008.

[2] G. Flores, R. Hecker, D. Vicente, A. Casquero, “Diseño de un dispositivo de

posicionamiento de precisión. Parte II: Diseño CAD/CAE”, Primer Congreso Argentino

de Ingeniería Mecánica, Octubre del 2008.

[3] A. Casquero, R. Hecker, D. Vicente, G. Flores, “Control de un Posicionador Lineal

para Máquinas Herramientas de Alta Velocidad”, San Juan, Noviembre del 2010.

MANUALES

[4] FESTO, Sistemas de Posicionamiento Eléctrico. Motores Paso a

Paso/Servomotores, Septiembre del 2005.

[5] FESTO, Smart Electromotor Controller, Fitting and Installation, 2003.

[6] DELTA TAU, Hardware Manual, Adv 400 Conections, June 2006.

[7] DELTA TAU, User Manual, Advantage 400, November 2007.

[8] DELTA TAU, Integration Manual, Adv 400 Integration Manual, November 2007.

[9] DELTA TAU, Software Manual, Adv 400 Programming, November 2007.

[10] DELTA TAU, User Manual, Turbo PMAC, October 2006.

[11] DELTA TAU, Software Reference Manual, Turbo PMAC/PMAC2, November 2008.

[12] HEIDENHAIN, Instrucciones de Montaje, Febrero del 2007.

Alberto C. Alonso 99

INTEGRACIÓN Y PUESTA EN MARCHA DE UN CONTROLADOR NUMÉRICO EN UN SISTEMA DE POSICIONAMIENTO DE ALTA PRECISIÓN

[13] HEIDENHAIN, Linear Encoders for Numerically Controlled Machine Tools, July

2010.

[14] DELTA TAU, Software Reference Manual, Pwin32, October 2004.

[15] DELTA TAU, Software Manual, Pwin32 Pro2, September 2005.

INTERNET

[16] http://www.deltatau.com

[17] http://www.festo.com

Alberto C. Alonso 100