Está en la página 1de 12

UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE

DEPARTAMENTO DE CIENCIAS DE LA ENERGA Y MECNICA

AUTOMATIZACIN INDUSTRIAL MECATRNICA

PREPARATORIO #4

PRCTICA: PID. ALGORITMOS

ALUMNOS:
MORALES DIEGO ESTEBAN
POLO JUAN PABLO

NRC:
1687

FECHA DE ENTREGA:

15 DE DICIEMBRE DE 2015

1. TEMA: PID. Algoritmos


2. OBJETIVO:
Analizar las ventajas y desventajas de las diferentes configuraciones de
implementacin de los controladores PID.
Utilizar herramientas computacionales de MATLAB para la simulacin de sistemas
que utilizan controladores PID.
3. DESARROLLO
4.1.

TRABAJO PREPARATORIO

Fig 1. Carro-Pndulo Invertido


1) Para el sistema de la Fig 1, obtenga el modelo basado en energa que describa
la dinmica del sistema. (Tomar en cuenta que el modelo debe ser para
variaciones pequeas del pndulo).
-

Ecuacin lagrangeana

=
= ,
Entonces

Por tanto tenemos:

Ecuaciones de movimiento:

Simplificando obtuvimos las ecuaciones de movimiento:

Anlisis
Desde el anlisis y control de las tcnicas de diseo estaremos empleando en este ejemplo
slo se aplican a los sistemas lineales, este conjunto de ecuaciones debe ser linealizado. En
concreto, vamos a linealizar las ecuaciones sobre la posicin de equilibrio verticalmente
hacia arriba, =, y supondremos que el sistema se mantenga dentro de un pequeo margen
de equilibrio. Esta hiptesis debe ser razonablemente vlida ya bajo control deseamos que
el pndulo se desva ms de 20 grados desde la posicin vertical hacia arriba. Que
representa la desviacin de la posicin del pndulo del equilibrio, es decir, = +. Otra vez
presumiendo una pequea desviacin desde el equilibrio, podemos utilizar las siguientes
aproximaciones de ngulos pequeos de las funciones no lineales en nuestras ecuaciones
del sistema:

Despus sustituir las aproximaciones anteriores en nuestras ecuaciones no lineales de


gobierno, llegamos a las dos ecuaciones linealizadas de movimiento. Nota
ha sido
sustituido por la entrada.

2) A partir de las ecuaciones obtenidas en el punto 1. Obtenga la funcin de


transferencia del sistema de tal manera que se pueda controlar la velocidad
lineal del carro manteniendo el ngulo del pndulo lo ms cercano posible a
cero.
-

Posicin angular

M = 0.5;
m = 0.2;
b = 0.1;
i = 0.006;
g = 9.8;
l = 0.3;
q = ( M + m ) *( i + m * l ^2) -( m * l ) ^2;
num = [ m * l / q 0]
den = [1 b *( i + m * l ^2) / q -( M + m ) * m * g * l / q -b * m * g * l
/ q ]
gp=tf(num,den)

Funcin de transferencia de la posicin angular:

Desplazamiento

M = 0.5;
m = 0.2;
b = 0.1;
i = 0.006;
g = 9.8;
l = 0.3;
q = ( M + m ) *( i + m * l ^2) -( m * l ) ^2;
num = [ ( i + m * l ^2)/q 0/q -(g*m*l)/q]
den = [1 b *( i + m * l ^2) / q -( M + m ) * m * g * l / q -b * m * g * l
/ q 0 ]
gp=tf(num,den)

Funcin de transferencia del desplazamiento:

3) Disee un controlador PID que cumpla con lo establecido en el punto 2.


El objetivo de este apartado es lograr disear un PID capaz de estabilizar el pndulo
invertido y analizar posteriormente si el controlador diseado ser el ms adecuado para el
sistema.
Requerimientos

Tiempo de establecimiento menor a 2 segundos.


Angulo del pndulo siempre menor que 0.05 radianes que es igual a 2.86 grados de
la vertical.

En ocasiones la mejor forma de obtener un regulador ptimo es a base de prueba y error,


por ello, en principio, se asume que el valor proporcionar, integral y derivativo valdr
segn lo calculado:
-

PID

Planta = P

ts= 4s
Mp<25%
Ecuacin caracterstica
2 + 2 + 2
Nos queda

2 + 1.38 + 2.96 = ( + 0.697 + 1.57)( + 0.69 1.57) (1)


Ahora sabemos
= +

1 +
1+

4.545

(
+
+ )
3 + 0.1818 2 31.18 4.455

Simplificando nos queda:


4.545 2 + 4.545 + 4.545 + 3 + 0.1818 2 31.18 4.455
3 + 0.1818 2 31.18 4.455
Agrupando tenemos:
3 + (4.545 + 0.181) 2 (4.545 31.18) + 4.455 4.545

(2)

Igualando (1) y (2) y adicionando a (2) un zero (s+10) lejano tenemos


3 + (4.545 + 0.181) 2 (4.545 31.18) + 4.455 4.545
= ( + 0.697 + 1.57)( + 0.69 1.57)( + 10)
3 + (4.545 + 0.181) 2 (4.545 31.18) + 4.455 4.545
= 3 + 19 2 + 86 40
De la ecuacin anterior despejamos Kp, Ki y Kd que son nuestros valores preliminares:
= .
= .
= .
Controlador PID
= 5.86 +

1.68
0.23

Fig 2. Diagrama de bloques PID

4) Simule el sistema sin control indicando la velocidad lineal del carro y la


posicin angular del pndulo.
-

Posicin Angular

Cdigo implementado en Matlab


M = 0.5;
m = 0.2;
b = 0.1;
i = 0.006;
g = 9.8;
l = 0.3;
q = ( M + m ) *( i + m * l ^2) -( m * l ) ^2;
num = [ m * l / q 0]
den = [1 b *( i + m * l ^2) / q -( M + m ) * m * g * l / q -b * m * g * l
/ q ]
gp=tf(num,den)
t =0:0.01:5;
step (num ,den ,t)
axis ([0 1.5 0 10])

Fig 3. Respuesta ante entrada escaln, sin control previo


Como se observa la respuesta an no es estable.

Desplazamiento

Cdigo implementado en Matlab


M = 0.5;
m = 0.2;
b = 0.1;
i = 0.006;
g = 9.8;
l = 0.3;
q = ( M + m ) *( i + m * l ^2) -( m * l ) ^2;
num = [ ( i + m * l ^2)/q -(g*m*l)/q]
den = [1 b *( i + m * l ^2) / q -( M + m ) * m * g * l / q
* l / q 0 ]
gp=tf(num,den)
t =0:0.01:5;
step (num ,den ,t)
axis ([0 10 0 40])

-b * m * g

Fig 4. Respuesta ante escaln, variable de desplazamiento.


Al observar que sin ningn control tiende hacia el infinito el desplazamiento.
5) Simule el sistema controlado de tal forma que se evidencie el cumplimiento de
las especificaciones del punto 3.
En el caso del pndulo invertido, como ya se ha mencionado anteriormente, se va a hacer
uso de la herramienta Matlab. As que partiendo del cdigo ya utilizado en el apartado
anterior y siguiendo con los requerimientos de diseo especificados en el mismo apartado
ya se puede comenzar a realizar pruebas:
M = 0.5;
m = 0.2;
b = 0.1;
i = 0.006;
g = 9.8;
l = 0.3;
q = ( M + m ) *( i + m * l ^2) -( m * l ) ^2;
num = [ m * l / q 0]
den = [1 b *( i + m * l ^2) / q -( M + m ) * m * g * l / q -b * m * g * l
/ q ]
gp=tf(num,den)

kd = -0.23;
k = 5.86;
ki = 1.68;
numPID = [ kd k ki ];
denPID = [1 0];
numc = conv ( num , denPID )
denc = polyadd ( conv ( denPID , den ) , conv ( numPID , num ) )
t =0:0.01:5;
impulse ( numc , denc , t )
axis ([0 2 0 1])

Fig 5. Respuesta de salida con kp, ki, kd calculados


Se puede observar que el tiempo de establecimiento empieza a ser aceptable pues es
cercano a los 4 segundos. Adems, el error estacionario es cero, as que es necesario variar
el control integral. El siguiente paso es intentar reducir el sobrepico, para ello, se prueba
con un valor Kd de -0.23:

Fig 6. Respuesta ante el incremento proporcional, derivativo y disminuyendo el integral


Nuevos valores de PID
= .
= .
= .

Como se puede ver, el sobrepico se redujo de modo que el pndulo no se mueve ms que 1
radian de la vertical. Se han satisfecho todos los criterios de diseo, as que ya no se
necesita ms iteraciones. Al parecer ya se ha obtenido un PID capaz de hacer estable el
pndulo pero no se ha tenido en cuenta que ocurre con la posicin del carro. Simulando el
sistema con la funcin de transferencia en lazo cerrado que incluye la posicin del carro, se
obtiene el sistema completo:

Fig 7. PID del sistema pndulo invertido

Desplazamiento:
Cdigo implementado en Matlab
M = 0.5;
m = 0.2;
b = 0.1;
i = 0.006;
g = 9.8;
l = 0.3;
q = ( M + m ) *( i + m * l ^2) -( m * l ) ^2;
num1 = [m*l/q 0 0];
den1 = [1 b *( i + m * l ^2) / q -( M + m ) * m * g * l / q -b * m * g
* l / q 0 ]
num2=[(i+m*l^2)/q 0 -m*g*l/q];
den2=den1
gp=tf(num,den)
kd = -0.23;
k = 5.86;
ki = 1.68;
numPID = [ kd k ki ];
denPID = [1 0];
numc = conv ( num2 , denPID )
denc = polyadd ( conv ( denPID , den2 ) , conv ( numPID , num1 ) )
t =0:0.01:5;
impulse ( numc , denc , t )

Fig 8. PID: Respuesta del carro


Como se observa, el carro se desplaza a una velocidad constante y nunca se detiene. A
pesar de que el controlador PID estabiliza el ngulo del pndulo,
4. BIBLIOGRAFA
-

Dinmica de sistemas, Katsuhiko Ogata, 1 Edicin.

En lnea
-

http://www.mathworks.com/help/control/ref/tfdata.html
http://eprints.ucm.es/16096/1/memoriaPFC.pdf
https://riunet.upv.es/bitstream/handle/10251/10296/Memoria.pdf

También podría gustarte