Controlador Embebido Mesa Xy
Controlador Embebido Mesa Xy
Controlador Embebido Mesa Xy
Diseñar una interfaz en una PC, usando el software Labview, que le permita
al usuario ingresar la posición a la cual quiere que se dirija el portaobjetos
montado sobre el eje Y de la mesa XY.
Se logró cumplir con todos los objetivos propuestos y luego de realizar las pruebas
respectivas se llegaron a las siguientes conclusiones, que se explican más
detalladamente en el documento.
1. Marco Teórico……………………………………………………………………………5
2. Diseño…………………………………………………………………………………..21
4. Pruebas y resultados………………………………………………………………….48
Conclusiones….........................................................................................................57
Recomendaciones………………………………………………………………….……..58
Bibliografía…………………………………………………………………………….…...59
INTRODUCCIÓN
Problemática
Debido a los elevados estándares de calidad que deben tener los productos que
son elaborados por los sistemas de producción actuales, los elementos que los
componen tienen que disponer de una mayor precisión, versatilidad y fiabilidad.
Justificación
1
Por ejemplo, en la industria química la mayoría de controles de lazo son no lineales,
pero presentan una región lineal cerca del punto de operación para la cual un
control PID se desempeña bien para la aplicación [8].
Este mismo fabricante, también vende sistemas que controlan varios ejes
simultáneamente como el controlador de la serie NSC-G que puede manejar hasta
4 ejes de manera coordinada o independiente, según los requerimientos del
usuario.
2
Figura 1: Controlador NSC-1S (izquierda) y controlador NSC-G (derecha) [11].
Los motores más usados para control de movimiento son los motores a pasos y los
servomotores sin escobillas. Dependiendo del fabricante, estos motores pueden ser
compatibles con diferentes controladores de movimiento. Este es el caso del motor
a pasos y servomotor de la marca Newmark Systems que son compatibles con los
diversos controladores de la serie NSC-G, NSC-1S y NSC-1M.
3
Objetivos
Objetivo general
Objetivos específicos
4
Capítulo 1: MARCO TEÓRICO
5
1.1.2 Sistema de Control de Lazo Cerrado
LAZO ABIERTO
VENTAJAS DESVENTAJAS
Simple No permite corregir disturbios
Bajo costo o variaciones en la planta
LAZO CERRADO
VENTAJAS DESVENTAJAS
Mejor respuesta en estado estable
Complejo
y transitorio
Menos sensible al ruido, disturbios
Costoso
o variaciones en la planta
6
1.2 Sistema de Control de Movimiento
Software de aplicación
Permite diseñar la interfaz con el usuario para que este pueda ingresar la
posición final y en algunos casos, elegir el perfil de velocidad. Debe ser
diseñada lo más amigable posible porque es el único medio por el cual la
persona se va a comunicar con el sistema de control. Además, los fabricantes
de estos sistemas entregan sus controladores con su respectivo software de
aplicación que permite configurar, generar prototipos, visualizar la respuesta del
sistema en tiempo real, etc.
Controlador de movimiento
Amplificador
Su diseño tiene que ser adecuado porque si proporciona muy poca corriente, el
motor no alcanzará la capacidad de torque completa. Además, si el voltaje que
proporciona es demasiado bajo, el motor no podrá girar a su máxima velocidad
cuando es requerido.
Motor
Motores DC
Servomotores
Motores paso a paso
Ventajas Desventajas
No puede ser enclavado
Motor DC Elevado par de en una posición
retención sin específica sin encoder.
corriente.
Gira a la máxima
Es de fácil manejo y velocidad si es que no
Es económico.
8
Dispositivo de retroalimentación o sensor de posición
TIPOS DE ENCODER
INCREMENTAL ABSOLUTO
No guarda la posición cuando se Guarda la posición a pesar de
le quita la alimentación desenergizarlo
Los controladores PID son los más usados en aplicaciones que involucran
lazos de control a nivel industrial. Más del 90% de los controladores empleados
usan el algoritmo PID debido a su simplicidad, funcionalidad y gran aplicabilidad
[3].
No solo proporciona flexibilidad en el algoritmo de control, sino también en el
tratamiento de la señal de referencia. Más adelante se muestran las diferentes
variantes y arquitecturas que se pueden encontrar en el mercado actual.
En la Figura 1.3.1 se muestra un controlador analógico. Este tipo de
controladores no se ha visto desplazado por los modernos algoritmos de control
frutos del desarrollo de las áreas de electrónica e informática. El motivo radica
en las dos grandes ventajas que presenta: robustez y las intuitivas relaciones
entre sus parámetros y la respuesta del sistema. Esto no significa que haya
quedado al margen de los avances en las áreas tecnológicas de control, sino
que debido a su flexibilidad se ha podido beneficiar de ello.
9
Figura 1.3.1: Diagrama de bloques de un sistema de control analógico [2]
(1.3.1)
Donde:
Donde:
u(t): Señal de control
K: Sensibilidad proporcional o ganancia proporcional
e(t): Señal de error
(1.3.4)
11
Figura 1.3.3: Respuesta en el tiempo de un sistema con controlador
proporcional integral frente a un escalón unitario de entrada
(1.3.5)
12
En conclusión, un sistema con un control derivativo puro no alcanzará nunca el
estado estacionario. Por lo tanto, se recomienda usarlo junto con otros
controles por su influencia estabilizadora mediante la acción anticipativa.
(1.3.7)
En los controladores PID comerciales, el valor de α óptimo debe ser elegido
para estar entre el rango de [0.05, 0.2] [2]. Esto se entiende como un filtro de
primer orden, cuya constante de tiempo es α*Td. La nueva acción derivativa
actuará como derivada solo a baja frecuencia, mientras que a alta frecuencia su
ganancia tendrá como máximo un valor de Kp/α.
Algoritmo No interactivo
13
1.3.5. Sin embargo, el control proporcional es el último en actuar ya que
afecta a la señal de error, a la derivada y a la integral del error [10].
(1.3.8)
Algoritmo interactivo
(1.3.9)
Algoritmo paralelo
14
en la Figura 1.3.7. Por un lado, es la fórmula más flexible, pero sus
parámetros obtenidos no tienen una interpretación física muy directa [10]. En
este caso, cada acción de control puede ser modificada por separado sin que
ello pueda influir en las demás acciones de control.
(1.3.10)
Estructura PI-D:
15
Estructura I-PD:
El movimiento de un solo eje y punto a punto es uno de los más utilizados con
más frecuencia debido a su sencillez. Este requiere la posición a la cual se
debe mover el eje y en muchos casos también requiere la velocidad y la
aceleración, que por lo general son valores predeterminados por el usuario.
16
Movimiento combinado
Movimiento de contorno
17
1.4.2 Perfiles de velocidad
Velocidad constante
Este perfil mantiene una velocidad constante entre dos puntos y es el más
simple porque tiene a la velocidad como único parámetro. Los sistemas de
posicionamiento que requieren precisión no usan este perfil porque ninguna
máquina real puede cambiar de velocidad instantáneamente. Habrá un tiempo
de retardo que dependerá del sistema y de los cambios en la carga.
18
Trapezoidal
Sinusoidal o curva S
19
Figura 1.4.5: Perfil de velocidad sinusoidal [14]
Para una misma distancia, este perfil demorará un tiempo mayor en llegar al
punto de destino comparándolo con el perfil de velocidad trapezoidal. Pero, la
degradación mecánica de los componentes será menor porque su arranque
es más suave.
20
Capítulo 2: DISEÑO
En esta etapa se va a explicar cómo se realizó la sintonización de parámetros de
los dos controladores PID que van a implementarse para poder controlar la posición
de la mesa XY. Para lograr esto es necesario definir los requerimientos de
respuesta en el tiempo que se quieren alcanzar con el diseño a realizar. Estos son
los siguientes: sobreimpulso menor al 5%, tiempo de establecimiento menor a
200ms y error en estado estable igual a cero.
Además, se brindan detalles del diseño del hardware del controlador embebido y
los pasos a seguir para generar el perfil de velocidad trapezoidal.
22
Además, presenta las siguientes características:
24
128Kb de memoria de programa (Flash)
4Kb de memoria de datos (SRAM)
6 canales PWM con resolución de 2 a 16 bits.
2 canales PWM con resolución de 8 bits
53 puertos de entrada/salida
8 interrupciones externas
2 interfaces USART
25
La tarjeta tiene incorporada una fuente regulada de 5 voltios (Figura 2.2.2). La
razón principal por la cual se usa esta fuente es por seguridad, ya que de este
modo el ATmega128 no se dañará por un sobrevoltaje porque el regulador se
encargará de entregar siempre 5 voltios, con la condición de que el adaptador
le entregue un voltaje mayor a 7 Vdc. Además, esta tarjeta posee un led
indicador de color verde que se enciende cuando la tarjeta es alimentada
correctamente.
Es por eso, que tiene que existir un medio de comunicación entre la persona y
el controlador para que este último interprete los datos recibidos y genere las
señales de control correspondientes para accionar los motores respectivos.
Los pasos que tiene que seguir la persona que desea manipular la mesa se
encuentran en el Anexo 5.
28
Los parámetros de los dos controladores PID
29
A continuación se presenta la interfaz gráfica completa:
(2.4.1)
Motor del eje Y:
(2.4.2)
Amplificador del eje X:
(2.4.3)
Amplificador del eje Y:
(2.4.4)
Donde:
w: Velocidad del motor en rad/s.
Vm: Voltaje medio aplicado al motor en voltios.
Duty Cycle: Ciclo de trabajo de la señal generada por el controlador.
(2.4.5)
Eje Y:
(2.4.6)
(2.4.7)
(2.4.8)
EJE X
Kp Ti (seg) Td (seg)
0.018 10 0.05
EJE Y
Kp Ti (seg) Td (seg)
0.006 5 0.03
33
Las Ecuaciones 2.4.10 y 2.4.11 son las que finalmente se van a implementar en
el microcontrolador. Para que se tenga una idea más clara, en las siguientes
líneas se muestra el código en lenguaje C correspondiente al algoritmo PID del
eje X y la única diferencia con el algoritmo del eje Y radica en la ecuación de
diferencias.
34
parámetros se puede determinar cuánto tiempo empleará en cada uno de los
tres segmentos: aceleración, velocidad constante y desaceleración.
(2.5.1)
(2.5.2)
Donde:
tf: Tiempo final
tc: Tiempo crítico
Xo: Posición inicial
Xf: Posición final
Vmax: Velocidad máxima
a: Aceleración definida por el usuario
// Tramo de aceleración
36
// Tramo de desaceleración
Luego de contar con todos los puntos intermedios del eje con mayor tiempo
final, se genera el vector con los set points del eje restante.
(2.5.4)
Aplicar la ecuación de una recta cuando se conoce la pendiente y un
punto de paso.
(2.5.5)
(2.5.6)
37
Capítulo 3: SIMULACIÓN E IMPLEMENTACIÓN
Las simulaciones que se presentan a continuación corresponden al algoritmo de
generación de trayectoria y al algoritmo de control PID para el eje X e Y. Este último
fue simulado con dos tipos de referencias: escalón unitario y el generador de
trayectoria. El objetivo es cumplir a nivel de software de simulación (Matlab 7.0 y
Simulink 6.0) con lo planteado en la etapa de diseño para luego pasar a la etapa de
implementación y poder comparar ambos resultados.
Según la Figura 3.2.4, la respuesta del eje Y también cumple con las
especificaciones de diseño establecidas e incluso su tiempo de
establecimiento es menor al del eje X.
40
Figura 3.2.5: Diagrama de simulación del controlador PID del eje X con el
generador de trayectoria como referencia del sistema
Figura 3.2.6: Diagrama de simulación del controlador PID del eje Y con el
generador de trayectoria como referencia del sistema
VMLAB
AVRStudio 4.18
Compilador AVR-GCC
42
Figura 3.3.1: Fotografía de las fuentes de alimentación.
43
Como inicialmente se disponía de las fuentes de alimentación, las interfaces
de potencia y los circuitos de acondicionamiento de señal para los encoders,
las conexiones se reducen a 3 cables por los cuales viajan todas las señales
necesarias para implementar el sistema de control.
Estos son:
En las Tablas 3.1, 3.2 y 3.3 se indican los pines con las señales de cada uno
de los conectores utilizados y los puertos del microcontrolador ATmega 128
que se definieron para la implementación del sistema de control de posición.
CONECTOR DB9
Pin Señal
1 Bornera "B" del motor
2 Sin conexión
3 Alimentación del encoder
4 Sin conexión
5 Tierra digital
6 Canal B del encoder
7 Sin conexión
8 Canal A del encoder
9 Bornera "A" del motor
44
Tabla 3.2: Señales del conector DB25
CONECTOR DB25
Pin Señales
3 Sobrecorriente Eje Y
4 Sobrecorriente Eje X
5 Bit de giro Eje Y
6 Bit de giro Eje X
7 Tierra digital
8 Canal A del encoder X
11 Canal A del encoder Y
17 PWM del Eje Y
18 PWM del Eje X
Tabla 3.3: Puertos del ATmega 128 dedicados para el sistema de control
45
Figura 3.3.4: Diagrama de flujo del programa principal
46
En el “Programa principal” del Anexo 7, primero se declaran las librerías
listadas en la Tabla 3.4 que contienen las funciones necesarias para que el
programa ejecute correctamente el algoritmo de control.
LIBRERÍAS
#include <avr\io.h>
#include <avr\interrupt.h>
#include <avr\signal.h>
#include <stdint.h>
#include <math.h>
#include <stdlib.h>
FUNCIONES
void config_puertos(void)
void config_serial(void)
void config_pwm(void)
void config_int_ext(void)
void bits_de_giro(float spx_fin,float spx_ini,float spy_fin,float spy_ini)
VARIABLES
CANTIDAD TIPO
4 uint8_t
11 uint16_t
28 float
47
Capítulo 4: PRUEBAS Y RESULTADOS
EJE X
DISTANCIA
PULSOS RECORRIDA
(mm)
200 26.5
514 54.9
853 90.2
1000 110.9
1028 109.1
1553 160.8
2100 229.1
2600 283.5
2900 296.8
En las Figuras 4.1.1, 4.1.2 y 4.1.3 se presentan las gráficas con los resultados
obtenidos en el programa implementado en Labview para conocer el número
exacto de pulsos que el microcontrolador recibió provenientes del encoder del
motor del eje X.
Figura 4.1.1: Respuesta del eje X en lazo abierto (Condición de parada: 1028
pulsos del encoder)
Figura 4.1.2: Respuesta del eje X en lazo abierto (Condición de parada: 1542
pulsos del encoder)
49
Figura 4.1.3: Respuesta del eje X en lazo abierto (Condición de parada: 2570
pulsos del encoder)
Para las pruebas a lazo abierto del Eje Y se realizó el mismo procedimiento
que con el Eje X, pero con diferentes condiciones de parada. En la Tabla 4.2
se detallan las distancias recorridas en milímetros por cada condición de
parada expresada en pulsos de encoder.
EJE Y
DISTANCIA
PULSOS RECORRIDA
(mm)
150 15.2
450 45.2
900 89.8
1028 103.1
1500 152.9
1660 166.5
2900 289.9
2950 295
2965 296.85
50
desplazamiento lineal y por dato del fabricante de la mesa XY se conoce que
el encoder es de 20 pulsos por revolución. Con esta información se calcula el
nuevo factor de conversión igual a 2.00 milímetros/revolución. Entonces, la
posición en coordenadas articulares se puede calcular partiendo de las
coordenadas cartesianas aplicando la siguiente fórmula:
En las Figuras 4.1.4, 4.1.5 y 4.1.6 se pueden ver las respuestas obtenidas en
el software Labview:
Figura 4.1.4: Respuesta del eje Y en lazo abierto (Condición de parada: 1028
pulsos del encoder)
Figura 4.1.5: Respuesta del eje Y en lazo abierto (Condición de parada: 1600
pulsos del encoder)
51
Figura 4.1.6: Respuesta del eje Y en lazo abierto (Condición de parada: 2900
pulsos del encoder)
EJE X
Set Point Distancia
(mm) recorrida (mm)
200 206.1
100 103
150 154.3
250 259
52
Tabla 4.4: Resultados de las pruebas a lazo cerrado del eje Y
EJE Y
Set Point Distancia
(mm) recorrida (mm)
200 209.9
100 104.7
150 156.6
250 262.1
EJE X
Kp Ti (seg) Td (seg)
0.072 10 0.05
EJE Y
Kp Ti (seg) Td (seg)
0.055 5 0.03
Con estos nuevos valores se logró minimizar el error hasta un 1.12% para el eje
X, mientras que en el eje Y se obtuvo un 1.35% de error en estado estable.
54
porque se guardó la cantidad de pulsos recibidos de cada encoder en una
variable tipo entera de 16 bits.
Presupuesto final
Cantidad Componente C. Unit. (S/.) C. Total (S/.)
1 PCB en fibra de vidrio 50 50
1 Programador AVRISPmkII 150 150
1 Microcontrolador ATmega 128 55 55
1 Fuente de alimentación DC variable 20 20
1 Circuito integrado MAX 232 2 2
1 Regulador de voltaje LM7805 1 1
2 Condensador de 22pf 0.2 0.4
4 Condensador de 0.1 uf 0.2 0.8
5 Condensador de 1uf 0.2 1
2 Condensador de 10uf 0.2 0.4
9 Resistencia de 330 Ohms - 1/4 W 0.05 0.45
2 Resistencia de 10kOhms - 1/4 W 0.05 0.1
1 Resistencia de 100 Ohms - 1/4 W 0.05 0.05
8 Led rojo 3mm 0.1 0.8
1 Led verde 3mm 0.1 0.1
1 Cristal de 16 Mhz 2.5 2.5
1 Conector DB9 hembra para PCB 3 3
Conector hembra de fuente de
1 1 1
alimentación
1 Pulsador 1 1
1 Espadín programador 0.5 0.5
1 Espadín hembra (40 pines por fila) 2.5 2.5
1 Conector DB25 macho 4.5 4.5
1 Cable de comunicación serial 6 6
Subtotal (S/.) 303.1
55
Es importante mencionar que además de los componentes mencionados, se
utilizaron:
2 fuentes de 24 voltios.
Este hardware fue utilizado junto con la tarjeta de control. Sin embargo, no es
considerado dentro de los costos porque fueron desarrollados años atrás por
un alumno que también trabajó con la mesa XY, pero con un enfoque diferente
al realizado en la presente tesis.
56
CONCLUSIONES
57
RECOMENDACIONES
58
BIBLIOGRAFÍA
[1] V. Alfaro, “¿Son todos los controladores PID iguales?”, Ingeniería: Revista de
la Universidad de Costa Rica, Vol. 1, N°. 1, pp. 11-19, Enero 1993.
[3] K. H. Ang, G. Chong y Y. Li., “PID Control System Analysis, Design and
Technology”, IEEE Transactions on Control Systems Analysis Technology, Vol.
13, N° 4, pp. 559-576, Julio 2005.
[9] Guía aplicativa del robot cartesiano, Schneider Electric España, Barcelona,
España, 2008.
[12] B. C. Kuo, Sistemas de control automático. 7ma edición. México DF, México:
Prentice Hall Hispanoamérica, 1996.
[13] L. S. Monfils (2009, Julio). Robotic Accessories. Intelitek, New Hampshire. [En
línea]. Disponible en:
http://www.intelitek.com
[15] K. Ogata, Ingeniería de control moderna. 3ra edición. México DF, México:
Pearson Prentice Hall, 1998.
59
[16] M. R. Taylor (2009, Abril). Motion Control Overview. Advanced Motion Control,
California. [En línea]. Disponible en:
http://www.a-m-c.com/university/mco.html
[17] V. J. Van Doren (2003, Octubre). PID: Still the one. Control Engineering Digital
Edition, Illinois. [En línea]. Disponible en:
http://www.controleng.com
60