CONTROL DE UN SISTEMA DE BARRA Y BOLA
ESTUDIANTE GASPAR SOTO
TRABAJO ESCRITO # 2
PROFESOR FELIPE ANDRES OBANDO VEGA
ASIGNATURA
INSTRUMENTACION Y CONTROL
UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA MECANICA MEDELLIN
2014
2
CONTENIDO GLOSARIO ............................................................................................................................. 4
OBJETIVOS ............................................................................................................................ 5
INTRODUCCION ................................................................................................................... 5
DESARROLLO DEL TRABAJO ............................................................................................ 6
1. Hallar la funcin de transferencia del sistema ............................................................. 6
2. Modelar el sistema barra y bola en el software NX ..................................................... 8
3. Con los parmetros del sistema modelado, disear un compensador para
controlar la posicin de la bola. .......................................................................................... 10
4. Simular el comportamiento del sistema utilizando el compensador diseado........ 11
4.1 Empleando como planta la funcin de transferencia utilizada para calcular el
compensador .................................................................................................................... 11
4.2 Empleando como planta el modelo proporcionado por NX ............................... 15
5. Repetir el numeral 3 y 4 pero ahora calculando un controlador PID mediante el
LGR. ...................................................................................................................................... 16
CONCLUSIONES ................................................................................................................ 22
BIBLIOGRAFIA Y REFERENCIAS ..................................................................................... 23
ANEXOS ............................................................................................................................... 24
Programa 1. Ftrans_ball1.m ............................................................................................. 24
Programa 2. COSIMULATION_2_SOLUTION_2_plant.m .................................................... 24
Programa 3 : control_kp.m............................................................................................... 24
Programa 4 : control_kpId_opt.m .................................................................................... 25
Programa 5: comand window controladores ....................................................................... 25
Programa 6: LGR_Ftrans_ball1.m ..................................................................................... 26
Programa 7: LGR_Ftrans_ball1_sgrid_comp.m ................................................................. 26
Programa 8: LGR_Ftrans_ball1_selec_K.m ....................................................................... 26
Programa 8.1 resultados de LGR_Ftrans_ball1_selec_K.m ................................................ 26
Programa 9 Grafica de LGR_Ftrans_ball1_close.m ............................................................... 27
Programa 9.1 ventana de comandos para Grafica de LGR_Ftrans_ball1_close.m ................. 27
Listado de archivos de programa validos para esta co-simulacion en NX8.0 (adjuntos en
carpeta zip en correo electrnico) ....................................................................................... 27
Listado de archivos de programa vlidos para esta cosimulacion en Matlab R2012a
((adjuntos en carpeta zip en correo electrnico) ........................................................... 27
3
Figura 1: Modelo sistema barra-bola 66
Figura 2: Respuesta del sistema a una entrada escaln ................................................... 7
Figura 3: Modelo y simulacin del sistema barra-bola en NX8.0 ...................................... 8
Figura 4: Diagrama de bloques de modelo de la planta obtenida en NX8.0 .................... 8
Figura 5: Grafica de la salida de la planta NX motion en simulink .................................... 9
Figura 6: Modelo de lazo cerrado con compensador aplicado a planta NX motion ....... 10
Figura 7: Respuesta de la funcin transferencia ante un controlador P ........................ 11
Figura 8: Respuesta de la funcin transferencia ante un controlador PD. .................... 12
Figura 9: Respuesta de la funcin transferencia ante un controlador PID. ................... 13
Figura 10: Respuesta de la funcin transferencia ante un controlador PID optimizado
............................................................................................................................................... 14
Figura 11: LGR para la funcin de transferencia de Matlab en lazo abierto .................. 16
Figura 12: LGR para la funcin de transferencia de Matlab aplicando sgrid .................. 17
Figura 13: LGR para la funcin de transferencia de Matlab aplicando sgrid y
optimizacin mediante un compensador. .......................................................................... 19
Figura 14: seleccin del punto de interseccin entre las proyecciones de las races. .. 20
Figura 15: Grafica de la respuesta de lazo cerrado al aplicar LGR y compensador a la
funcin de transferencia del sistema .................................................................................. 21
4
GLOSARIO
CAD: Diseo asistido por computadora. es el uso de programas
computacionales para crear representaciones grficas de objetos fsicos
ya sea en segunda o tercera dimensin (2D o 3D).
CAE: Ingeniera asistida por computadora. es el uso de software
computacional para simular desempeo y as poder hacer mejoras a los
diseos de productos o bien apoyar a la resolucin de problemas de
ingeniera para una amplia gama de industrias.
CAM: Manufactura Asistida por Computadora. comnmente se refiere al
uso de aplicaciones de software computacional de control numrico (NC)
para crear instrucciones detalladas (G-code) que conducen las
mquinas de herramientas para manufactura de partes controladas
numricamente por computadora (CNC). Los fabricantes de diferentes
industrias dependen de las capacidades de CAM para producir partes de
alta calidad.
Compensacin: es la modificacin dinmica de un sistema mediante un
compensador para satisfacer unas especificaciones determinadas
LGR: Lugar geomtrico de las races. Es un mtodo de diseo de
sistemas de control invariantes con el tiempo.
PID: controlador o compensador proporcional, integral, derivativo, el cual
proviene de la extensin natural del controlador on-off y es usado por
el 95% de los lazos de control de los sistemas industriales.
Modelacin: tcnica por medio de la cual se construye un sistema
similar y a escala del real para ser evaluado por medio de un software.
NX: Es una solucin de Siemens para el diseo de productos integrada
que optimiza y acelera mediante modelacin y simulacin el proceso de
desarrollo de productos para los ingenieros que necesitan crear
productos innovadores en un ambiente colaborativo.
Simulacin: evaluacin que se hace de un modelo a unas condiciones
reales por medio de un software.
Cosimulacion: simulacin compartida entre un software de modelacin
y uno de control.
5
OBJETIVOS
Modelar, simular y controlar un sistema barra-bola mediante co-
simulacion entre siemens NX motion y Matlab.
Disear controladores PID para optimizar el comportamiento del
sistema.
Comparar resultados obtenidos en NX con los obtenidos en Matlab.
INTRODUCCION
La modelacin y simulacin actual de sistemas dinmicos y el posterior control
de ellos ha permitido reducir los costos de diseo de sistemas de control y las
perdidas en los procesos industriales; los cuales eran controlados
anteriormente por tcnicas muy costosas de ensayo y error en las que se
perdan insumos, materias primas, energa y producto de calidad no conforme.
Por lo anterior es de vital importancia la adquisicin de conocimientos en
tcnicas de modelacin y simulacin con paquetes de software especializados
que lamentablemente an tienen un precio comercial bastante elevado pero
que a largo plazo la industria recuperara la inversin hecha en la compra de un
paquete CAD, CAM, CAE, PLM.
6
DESARROLLO DEL TRABAJO
Figura 1: Modelo sistema barra-bola
Smbolo del parmetro significado
m Masa de la bola
R Radio de la bola
d Offset de brazo de palanca
g Aceleracin gravitacional
L Longitud de la barra
J Momento de inercia de la bola
r Coordenada de posicin de la bola
Angulo de rotacin de la barra Angulo de rotacin del servo motor
Tabla 1: Parmetros del sistema
La ecuacin que relaciona el desplazamiento de la bola y el ngulo de rotacin
del servomotor es:
(
2+) = (
) Ecuacin 1.
1. Hallar la funcin de transferencia del sistema
1.1 Aplicando la transformada de Laplace a la ecuacin 1.
{(
2+) } = { (
) } ; y asumiendo que r(0)=0; (0)=0 se obtiene:
(
2+) 2 () = (
) () Separando variables:
()
()=
(
+)
7
La ecuacin anterior es la funcin de transferencia del sistema.
1.1 Definicin de valores para variables y constantes
Parmetro Valor Unidades
m 0,77 Kg
R 0,105 m
d 0,21 m
g 9,81 m/s{2
L 7 m
J 0,0033957 Kg*m^2
variable Radianes variable Radianes r variable m
Tabla 2 : Asignacin de valores a los parmetros del sistema
El momento de inercia de la bola se calcul mediante: J= 2/5*m*R^2
1.2 introduccin de la funcin de transferencia en el software Matlab
El programa Ftrans_ball1.m contiene las instrucciones por medio de las
cuales se introdujo la funcin de transferencia. Ver anexos.
1.3 Comportamiento del sistema frente a una entrada tipo escaln
Figura 2: Respuesta del sistema a una entrada escaln
8
Anlisis de resultados:
En la figura 2 se puede observar el comportamiento del sistema barra-bola a
una respuesta de tipo escaln modelado en Matlab. Dicho sistema es inestable
y como se ver ms adelante en la co-simulacion siemens NX-Matlab la bola
se desliza fuera de la barra lo que implica la necesidad de algn controlador
que permita restringir la posicin de la bola para que esta se mantenga dentro
de las fronteras de la barra.
2. Modelar el sistema barra y bola en el software NX
Figura 3: Modelo y simulacin del sistema barra-bola en NX8.0
En la figura anterior se muestra la modelacin y simulacin del sistema en el
software NX8.0 el archivo al cual corresponde es COSIMULATION_2.sim
Luego de realizar la co-simulacion entre NX8.0 y Matlab R2012a se obtuvo el
programa COSIMULATION_2_SOLUTION_2_plant.m cuyas instrucciones del
editor de texto de Matlab se pueden encontrar en los anexos.
Figura 4: Diagrama de bloques de modelo de la planta obtenida en NX8.0
9
La figura 4 pertenece al modelo de simulink llamado: cosimulacion_Gaspar
Figura 5: Grafica de la salida de la planta NX motion en simulink
Anlisis de resultados:
Tanto en la figura 5 como en la simulacin de NX se puede observar que sin
ayuda de un controlador la manivela inicia movimiento rotacional proporcionado
por el servo motor transmitindole movimiento rotacional a la biela y esta a su
vez le transmite movimiento rotacional a la barra y esta ltima transmite a la
bola iniciando as un desplazamiento lineal de la bola sobre la barra hasta que
en un tiempo muy cercano a los 5 segundos la bola sale despedida de la barra.
Parmetros de simulacin:
Steps: 1000; Tiempo: 5seg; entrada constante: 100.
10
3. Con los parmetros del sistema modelado, disear un
compensador para controlar la posicin de la bola.
Figura 6: Modelo de lazo cerrado con compensador aplicado a planta NX motion
11
4. Simular el comportamiento del sistema utilizando el
compensador diseado
4.1 Empleando como planta la funcin de transferencia utilizada
para calcular el compensador
4.1.1 clculo del compensador proporcional
Figura 7: Respuesta de la funcin transferencia ante un controlador P
Anlisis de resultados:
La figura 7 se obtiene del editor de texto del programa 3 llamado control_kp.m
ver instrucciones en el anexo. Se puede observar como se presentan
oscilaciones en el primer minuto de simulacin a pesar de haber implementado
un compensador proporcional.
4.1.2 Calculo del compensador proporcional y derivativo
Anlisis de resultados:
Al implementar el controlador PD sobre la funcin de transferencia se observa
un mejor comportamiento del sistema comparado con el compensador
proporcional sin embargo en la figura 8 se observa una elevacin de la
12
amplitud por encima del valor de sintonizacin transcurrido tan solo medio
segundo despus del inicio del movimiento.
Figura 8: Respuesta de la funcin transferencia ante un controlador PD.
4.1.3 Calculo del compensador proporcional, integral, derivativo
13
Figura 9: Respuesta de la funcin transferencia ante un controlador PID.
Anlisis de resultados:
La figura 9 se obtiene del programa de editor control_kpId.m se puede observar que
el sistema no cambia mucho frente al PD por lo tanto los parmetros de ganancias se
deben modificar para optimizar el compensador.
14
Figura 10: Respuesta de la funcin transferencia ante un controlador PID optimizado
Anlisis de resultados:
La figura 10 se obtuvo del programa de editor de Matlab llamado
control_kpId_opt.m en ella se observa un comportamiento muy estable y
cercano al punto de control. Esta es la mejor opcin entre los controladores
analizados en la funcin de transferencia obtenida en Matlab. Los valores
numricos de los parmetros optimos se pueden encontrar en el archivo de
comand window. Ver programa en anexos.
15
4.2 Empleando como planta el modelo proporcionado por NX
16
5. Repetir el numeral 3 y 4 pero ahora calculando un
controlador PID mediante el LGR.
5.1 clculo del controlador PID mediante LGR para la funcin de
transferencia obtenida de Matlab
5.1.1 Aplicacin de LGR a la funcin de transferencia en lazo abierto.
La idea principal del diseo del lugar de races es estimar la respuesta
a lazo cerrado a partir del lugar de las races a lazo abierto. Mediante
la adicin de ceros y / o polos al sistema original (la adicin de un
compensador), el lugar de races y por lo tanto se puede modificar la
respuesta de bucle cerrado. Veamos primero el lugar de races de la
planta en lazo abierto.
Figura 11: LGR para la funcin de transferencia de Matlab en lazo abierto
Anlisis de resultados:
La figura anterior fue obtenida con el programa LGR_Ftrans_ball1.m ver
cdigo en los anexos. Como se puede ver el sistema tiene dos polos en el
origen que van hacia el infinito a lo largo de los ejes imaginarios.
Los criterios de diseo tambin se pueden representar en el lugar de las races
17
con el comando sgrid. Este comando genera una grilla de coeficiente de
amortiguamiento constante y la frecuencia natural. El coeficiente de
amortiguamiento y la frecuencia natural se encontraron con la siguiente
ecuacin:
Tenga en cuenta, que la ecuacin con Ts se encuentra suponiendo que el sistema se ha asentado; es cuando la respuesta se mantiene dentro de 2% de su valor final. A partir de estas ecuaciones, el coeficiente de amortiguamiento y la frecuencia natural se encontr que eran 0,7 y 1,9 respectivamente.
Figura 12: LGR para la funcin de transferencia de Matlab aplicando sgrid
18
Anlisis de resultados:
La grafica anterior se obtuvo implementando el comando sgrid en el programa
de editor de Matlab llamado LGR_Ftrans_ball1_sgrid.m
El rea entre las dos lneas diagonales de puntos representa lugares donde el
porcentaje de rebasamiento superior es menos de 5%. La zona exterior de la
lnea curva representa lugares donde el tiempo de establecimiento es menor a
3 segundos. Se debe tener en cuenta que ninguna regin del grafico est
dentro de los criterios de diseo. Para enmendar esta situacin y llevar el lugar
de races en el semi plano de la izquierda para obtener mayor estabilidad se va
a intentar aadir una adelanto de compensador al sistema.
5.1.2 Aplicando un controlador Un compensador de primer orden tiende a desplazar el lugar de races al semiplano izquierdo. Un compensador de adelanto tiene la siguiente forma:
En donde, la magnitud de Z0 es menor que la magnitud de P0.
Ahora, se procede a aadir el controlador para la planta representada por la
funcin de transferencia y el lugar de races. Se procede a colocar el cero cerca
del origen para anular uno de los polos. El polo muestra un compensador que
se colocar a la izquierda del origen para forzar el lugar de races ms en el
plano de la mano izquierda.
19
Figura 13: LGR para la funcin de transferencia de Matlab aplicando sgrid y optimizacin mediante un compensador.
Anlisis de resultados:
La figura anterior se obtuvo con el programa LGR_Ftrans_ball1_sgrid_comp.m
en ella se puede observar que las races se encuentran en la zona izquierda
del primer y cuarto cuadrante lo que implica que el sistema ser mucho mas
estable y estar dentro de los parmetros de diseo.
5.1.3 Seleccin de la ganancia
Ahora que se ha movido el lugar de las races en el plano de la izquierda, es
pertinente elegir una ganancia que satisfaga las necesidades de diseo. Luego
de la figura se elige un punto cercano a los indicados por las marcas cruzadas
en el dibujo
20
Figura 14: seleccin del punto de interseccin entre las proyecciones de las races.
La grafica anterior se obtuvo del programa 8 para
LGR_Ftrans_ball1_selec_K.m
El programa 8.1 de la ventana de comandos muestra los valores determinados
para la ganancia.
selected_point = 0.0130 - 0.0140i
k = 0.3232
poles = -4.9864
-0.0068 + 0.0095i
-0.0068 - 0.0095i
5.1.4 Grafica de la respuesta en lazo cerrado.
Este valor de Kc se puede poner en el sistema y la respuesta de bucle cerrado a una entrada de paso de 0,25 m se puede obtener la siguiente figura
21
Figura 15: Grafica de la respuesta de lazo cerrado al aplicar LGR y compensador a la funcin de transferencia del sistema
Anlisis de resultados:
De esta figura se observa que cuando se tiene una entrada escalonada de 0,25
el sistema cumple tanto el tiempo de establecimiento como los criterios de
diseo de rebasamiento.
Un problema de diseo no necesariamente tiene una nica respuesta. El uso
de este mtodo (o cualquier otro) puede resultar en muchos compensadores
diferentes. No existe la verdad absoluta en el diseo.
5.2 clculo del controlador PID mediante LGR para la planta
obtenida en NX.
22
CONCLUSIONES
Los procesos de modelacin y simulacin requieren de mucho tiempo y
paciencia y ms an cuando no se tiene experiencia en el manejo del
software que se est aplicando.
Al comparar los resultados obtenidos en ambos softwares (NXmotion y
Matlab) se observan comportamientos similares en el sistema.
Cuando se est diseando un controlador, independiente del tipo de
modelo que se tenga, es posible y necesario optimizar los parmetros
del controlador.
El contacto 3D en Nx permite solucionar problemas de interferencia y
penetracin entre cuerpos con movimiento relativo entre s.
El marcador es un elemento indispensable en Nx para la ubicacin y
manipulacin de un sensor
El sensor en Nx permite cuantificar desplazamientos relativos o
absolutos.
Es indispensable para la solucin adecuada de simulaciones en Nx que
los links y los joints de todo el conjunto sean asignados y editados por
el usuario.
Se debe evitar al mximo ser redundante con el tipo de joint porque
repetir el mismo tipo para varias piezas consecutivas del ensamble
genera errores en la simulacin
Al reducir al mnimo el nmero de elementos o partes del ensamble se
puede reducir la probabilidad de error en el entorno motion de Nx .
El nombre o ruta de la carpeta de trabajo de la cosimulacion no pude
contener espacios entre las palabras porque esto conlleva a errores en
Matlab.
El software Nx ayuda a comprender los sistemas dinmicos mecnicos
complejos.
Las restricciones geomtricas del ensamble se deben desactivar antes
de trasladar la cosimulacion a Matlab ya que este entra en conflicto.
23
BIBLIOGRAFIA Y REFERENCIAS
Canal de youtube. Profesor e ingeniero Felipe Obando. Video
cosimulacion NX. Octubre 29 de 2012.
https://www.youtube.com/watch?v=qubI820GgfE
Portal web con tutoriales en varias versiones del software NX en idioma
ingls. NXTutorials powered by Design Visionaries. Copyright 2014
NX Tutorials.
http://nxtutorials.com/
Control tutorials for Matlab and Simulink. Portal educativo en ingles con
tutoriales sobre control.
http://www.ctms.engin.umich.edu/CTMS/index.php?example=Introductio
n§ion=SystemModeling
24
ANEXOS
Programa 1. Ftrans_ball1.m
m=0.77; R=0.105; d=0.21; g=9.81; L= 7.0; J=0.0033957; s=tf('s'); Ftrans_ball=m*g*d/(L*((J/R^2)+m)*s^2)
>> Ftrans_ball1
Ftrans_ball =
1.586
---------
7.546 s^2
Continuous-time transfer function.
>>step(Ftrans_ball)
Programa 2. COSIMULATION_2_SOLUTION_2_plant.m % Load PlantIO.m COSIMULATION_2_SOLUTION_2_PlantIO; % One process nx_client; % Remove comments to initialize plant to auto-load workspace variables set_param(gcb, 'MaskInitialization', 'COSIMULATION_2_SOLUTION_2_PlantIO' );
Programa 3 : control_kp.m % DISEO DE CONTROLADOR PROPORCIONAL m=0.77; R=0.105; d=0.21; g= -9.81; L= 7.0; J=0.0033957; %simplificando la parte cte K = (m*g*d)/(L*(J/R^2)+m) num = [-K]; den = [1 0 0]; %definiendo ganancia proporcional kp = 0.1; numP = kp*num; [numc, denc] = cloop(numP, den) %aplicando una entrada escalon step(0.15*numc,denc)
25
Programa 4 : control_kpId_opt.m % DISEO DE CONTROLADOR PROPORCIONAL, INTEGRAL,derivativo m=0.77;R=0.105;d=0.21;g=-9.81;L= 7.0;J=0.0033957; s = tf('s'); Ftrans_ball = -m*g*d/L/(J/R^2+m)/s^2; Kp = 15; Kd = 40; C = pid(Kp,0,Kd); sys_cl=feedback(C*Ftrans_ball,1); step(0.15*sys_cl)
Programa 5: comand window controladores >> control_kp
K = -0.5421
numc =
0 0 0.0542
denc = 1.0000 0 0.0542
>> control_kp
K = -0.5421
numc = 0 0 0.0542
denc = 1.0000 0 0.0542
>> control_kp
K = -0.5421
numc = 0 0 0.0542
denc = 1.0000 0 0.0542
>> control_kpd
K = -0.5421
>> control_kpId
K = -0.5421
>> control_kpId
>> control_kpId_opt
26
Programa 6: LGR_Ftrans_ball1.m % LGR PARA LA FUNCION DE TRANSFERENCIA
m=0.77; R=0.105; d=0.21; g=-9.81; L= 7.0; J=0.0033957;
s = tf('s');
Ftrans_ball = -m*g*d/L/(J/R^2+m)/s^2;
rlocus(Ftrans_ball)
Programa 7: LGR_Ftrans_ball1_sgrid_comp.m % LGR PARA LA FUNCION DE TRANSFERENCIA
m=0.77;R=0.105;d=0.21;g=-9.81;L= 7.0;J=0.0033957;
s = tf('s');
Ftrans_ball = -m*g*d/L/(J/R^2+m)/s^2;
%APLICANDO UN COMPENSADOR DE PRIMER ORDEN
zo = 0.01;
po = 5;
C=tf([1 zo],[1 po]);
%APLICANDO LGR
rlocus(C*Ftrans_ball)
sgrid(0.70, 1.9)
Programa 8: LGR_Ftrans_ball1_selec_K.m Al programa 7 se le agrega:
%SELECCIONANDO LA GANANCIA
[k,poles]=rlocfind(C*Ftrans_ball)
Programa 8.1 resultados de LGR_Ftrans_ball1_selec_K.m >> LGR_Ftrans_ball1_selec_K
Select a point in the graphics window
selected_point =
0.0130 - 0.0140i
k = 0.3232
poles = -4.9864
-0.0068 + 0.0095i
-0.0068 - 0.0095i
27
Programa 9 Grafica de LGR_Ftrans_ball1_close.m Al programa 8 se le agrega:
sys_cl=feedback(k*C*Ftrans_ball,1); t=0:0.01:5; figure step(0.25*sys_cl,t)
Programa 9.1 ventana de comandos para Grafica de
LGR_Ftrans_ball1_close.m
>> LGR_Ftrans_ball1_close
Select a point in the graphics window
selected_point = -0.0201 - 0.0047i
k = 0.9072
poles = -4.9616
-0.0192 + 0.0041i
-0.0192 - 0.0041i
Listado de archivos de programa validos para esta co-simulacion en
NX8.0 (adjuntos en carpeta zip en correo electrnico)
Assembly2
Motion_2
Solution_1
COSIMULATION_2
SIMULATION_2
SOLUTION_2
Listado de archivos de programa vlidos para esta cosimulacion en
Matlab R2012a ((adjuntos en carpeta zip en correo electrnico)
COSIMULATION_2_SOLUTION_2_plant.m (editor de Matlab que genera el bloque
Motion plant Nx)
COSIMULATION_2_SOLUTION_2_plantIO.m
Top Related