You are on page 1of 35

Universidad de Guanajuato

Campus Irapuato Salamanca


Divisin de Ingenieras Campus Irapuato Salamanca

CONTROL DIGITAL I

Control en Cascada de un
Balancn
Presentan:
1-Felipe de Jess Ordua Prez
2-Josu David Alejandro Miranda Cornejo
3-Enoc Alonso Snchez Campos
4-Hector Robles Garca

Proyecto Final
Profesor: Carlos Armando Ortiz Lpez

Salamanca, Guanajuato
5 de Diciembre del 2014

Seccin 1

Introduccin
1.1. El dispositivo QNET VTOL
El simulador QNET despeje vertical y aterrizaje (VTOL), es un sistema que consiste en un ventilador de
velocidad variable montado en una caja de seguridad en el extremo del brazo, de otro extremo se
encuentra un contrapeso ajustable, permitiendo que la posicin del peso pueda ser variables ocasionando
que afecte la dinmica del sistema. El brazo est montado sobre un eje giratorio, permitiendo poder
simular el despeje vertical y poder adquirir la posicin deseada en esta caso mantenerlo en un estado
estable de forma horizontal.
Debido a su complejidad, los sistemas de vuelos suelen dividirse en diferentes subsistemas para que sean
ms manejables. Estos subsistemas son tratados de manera individual y luego son integrados para
obtener una solucin global.

1.2. Control en Cascada


Son tres etapas diferentes para encontrar el controlador total, los cuales son
1. Control de corriente.
2. Modelado.
3. Control de posicin.
El dispositivo se divide en dos subsistemas: la dinmica de la tensin-corriente del motor y la dinmica de
corriente-posicin del brazo. El control en cascada que se implemente en el dispositivo VTOL se muestra
en la siguiente Fig. 1.

Figura 1. Sistema con Control en Cascada


Donde se implementara un controlador PI, en el lazo interior, el cual est diseado para regular la
corriente del motor de acuerdo con una referencia de corriente deseada.
La corriente de referencia se genera desde el controlador del lazo exterior, un compensador PID que
controla la posicin del dispositivo VTOL.

Seccin 2

Diseo del Control de Corriente


2.1. Modelado de la Corriente
En algunos sistemas con una dinmica relativamente lenta, o que cuenten con una gran inductancia, se
recomienda disear un controlador de corriente.
Es este caso se diseara un compensador PI para regular la corriente que circula al motor. Proporcionando
que la dinmica del actuador sea insignificante y simplifique el diseo del controlador del lazo externo.
Por lo general la funcin de transferencia es representada por
() =

()
+

(1)

Donde a partir de la resistencia e inductancia del sistema podramos obtener la funcin de transferencia.
En este caso al no contar con algunos datos requeridos, la planta del sistema se modelo grficamente.
Con la interfaz 01-Modeling 1, se obtuvo a partir de la ecuacin general de primer orden

() =
+ 1
Donde
= 0.329
= 0.12
En la Figura 2. Se muestra la simulacin con los valores para comprobar los datos obtenidos.

Figura 2. Simulacin del modelado

2.2. Control PI
Teniendo el modelo del sistema, se procedi a realizar el control PI, la Fig.3 muestra el diagrama de
bloques del controlador PI.

Figura 3. Sistema con Control PI


Con la ayuda de MATLAB se realizaron los clculos del controlador PI. Primeramente se ingresan los datos
obtenidos de la planta:
Cdigo en MATLAB.
K=0.329;
Tao=0.14;
Gp = tf([K], [Tao 1])
T=1/250;
Obteniendo la funcin:

Teniendo el sistema de la planta aplicamos transformada z para encontrar el sistema en tiempo discreto
la planta:
Cdigo en MATLAB.
Gz = c2d(Gp, T,'zoh')

Obteniendo la funcin de transferencia:

Una vez encontrado la ecuacin del sistema de la forma


() =
Teniendo los valores de 1 1

1
+ 1

b1=0.009267;
a1=-0.9718;
As obtenido la ecuacin de la planta en lazo abierto.
A partir de los datos de diseo pedidos, encontramos el valor del factor de amortiguamiento.
Mp=0.001;
Despejando de la ecuacin de sobrepaso mximo
=

2)
(1

=
1 + (

Cdigo en MATLAB.
a=log(Mp);
l=(1)/sqrt(1+(pi/a)^2)

Encontrando:

Asignado un tiempo de asentamiento ( ) de...


ts=0.98;
A partir del tiempo de asentamiento
=

2%

Despejando obtenemos la frecuencia natural

Cdigo en MATLAB.
cr=4;
wn= (cr)/(ts*l)

5%

Encontrando:

Encontrado la frecuencia natural, se sustituye en


= 1 2
Cdigo en MATLAB.
wd=wn*(sqrt(1-l^2))

Obteniendo:

Por lo tanto de la ecuacin de segundo grado se


1
2 2 cos( ) + 2
Donde

= 2 cos( )

1 = 2

Cdigo en MATLAB.
s=-2*exp(-l*wn*T)*(cos(wd*T))
s1=exp(-2*l*wn*T)

Agrupando la ecuacin del sistema, pero considerando 1 =


Cdigo en MATLAB.
Gz = tf([0 1 0], [1 s s1])

Nota: Solo se agrupo para tener la forma de la ecuacin.


Teniendo los valores del polinomio caracterstico de la ecuacin anterior, se comparan con lo de las
ecuacin
2 + + 1 = 2 + (1 + 1 + 1 + 1 ) + (1 1 )
Por lo tanto igualando
1 = (1 1 )

= (1 + 1 + 1 + 1 )

Por lo tanto despejando k p de ecuacin


=

1 + 1
1

Y tambin despejando k i de ecuacin


=

+ 1 1 (1 )
1

Teniendo los valores y encontrando los nuevos valores del polinomio caracterstico con los valores
de y
2 + (1 + 1 + 1 + 1 ) + (1 1 )
Donde
1 = (1 + 1 + 1 + 1 )

= (1 1 )

Cdigo en MATLAB.
h1=-1+a1+(b1*kp)+(ki*b1)
ho=-a1-(b1*kp)
b2=ki*b1

Donde se encuentre la funcin del controlador PI en lazo cerrado de la forma


1
2

+ (1 + 1 + 1 + 1 ) + (1 1 )

2 = 1

Cdigo en MATLAB.
z= tf('z');
Gpa=((b2*z)/(z^2+h1*z+ho))
Obteniendo la siguiente funcin de transferencia:

Ahora la funcin del controlador en lazo cerrado y encontrando su respuesta con una entrada escaln
Cdigo en MATLAB.
T1=0:500;
u=ones(size(T1));
y=lsim(Gpa,u,T1);
plot(T1, y);
grid

Encontrando as la respuesta al escaln del sistema con control PI se muestra en la figura 3.


1.4

1.2

0.8

0.6

0.4

0.2

50

100

150

200

250

300

350

Figura 3. Respuesta al Escaln

400

450

500

Para comprobar los valores obtenidos del controlador PI, en la interfaz 01QNET_VTOL_Current_Control, se ingresan los valores obtenidos de , como se muestra en la
Fig.4.

Figura 4. Control PI implementado en LABVIEW

Seccin 3

Modelado del Sistema


2.1. Diagrama de Cuerpo Libre
A diferencia del motor, esta parte del sistema se debe caracterizar mnimo con un modelo de segundo
orden. La ecuacin de movimiento se obtiene de los valores iniciales del sistema y luego se usa para
obtener una funcin de transferencia que represente la corriente requerida para obtener la posicin
deseada del VTOL.
Existen varios mtodos para encontrar los parmetros del modelado. Se pueden obtener encontrar los
valores mediante la toma de mediciones y experimentos del modelo, a partir de esos resultados, la
herramienta del sistema de identificacin en LabVIEW encuentra automticamente el modelo.
Por medio del diagrama de cuerpo libre del VTOL que se muestra en la Fig.5 , y los datos de fabrica de
las distancias y las masas, se puede encontrar el modelo .

Figura 5. Diagrama de Cuerpo Libre


Con la interfaz 02-QNET_VTOL_Modeling se considerando la amplitud de 0, y tomar un valor de offset
mnimo, al incrementarlo el brazo comenzara o elevarse, cuando el brazo llegue a estabilizarse de forma
horizontal, el valor de offset que lo estabiliza se toma como la corriente de equilibrio
Ieq=1.8
Nota. Esta corriente nos vari, ya que se trabaj varios das con el sistema, no siempre nos dio el mismo
valor.

A partir de la ecuacin impulso-torque


+ 2 2 1 1 3 3 = 0
Considerando los valores de las especificaciones del equipo y despejando

Cdigo en MATLAB.
g=9.81;
m1=0.068;
m2=0.27;
m3=0.048;
l1=14.1/100;
l2=3.5/100;
l3=5.3/100;
B=0.002;
Kt = (-m2*g*l2 + m1*g*l1 + m3*g*l3)/(Ieq)

Obteniedo un valor de kt de:

Considerando el sobrepaso para encontrar el factor de amortiguamiento y la frecuencia natural


Cdigo en MATLAB.
Mp=0.5;
a=log(Mp);
l=(1)/sqrt(1+(pi/a)^2)
wn=(pi)/(tp*sqrt(1-l*2))

Obteniendo:

Para poder encontrar los valores de


Cdigo en MATLAB.
J= m1*l1^2 + m3*l3^2 + m2*l2^2
K=wn^2*J

Obteniendo:

Cdigo en MATLAB.
Kt1= Kt/J
J1=J/J
B1=B/J
K1=K/J
%----Formando la ecuacin
Ps = tf([Kt], [J B K])
Ps = tf([Kt1], [J1 B1 K1])

Obteniendo:

Donde obteniendo la funcin de transferencia se ingresa a la interfaz 02-QNET_VTOL_Modeling, donde


la ecuacin simulada debe seguir ecuacin real del sistema, y esta interfaz nos proporciona la funcin de
transferencia estimada

Figura 6. Modelado del sistema.

Una vez teniendo la funcin de transferencia estimada


() =

8.042
2 + 1.1 + 10.26

Se procede a realizar el compensador para obtener nuestra compensador PID, de lazo exterior, como se
muestra en la Figura 7.

Figura 7. Controlador PID.

Seccin 4

Control de Posicin
Mtodo 1 Funcin de Transferencia
4.1. Diseo del Controlador
Las funciones de transferencia de la planta en serie con el compensador PID en lazo
abierto se describen con la ecuacin siguiente:
() =

( + )
3 + ( + ) 2 + ( + ) +

Mediante el de MATLAB mostrado en el Anexo 1 se obtuvieron los siguientes valores de


los controladores.

La figura 8 muestra el esquema general del sistema con la planta y el compensador.

Figura 3. Respuesta al Escaln

De igual manera los valores de las constantes de kp, ki, y kv estn dadas por las siguientes
ecuaciones:
+ 20 + 2
=

0 2
=

+ 0 + 2

Mediante el de MATLAB mostrado en el Anexo 1 se obtuvieron los siguientes valores de


los controladores.

En la tabla 2 se muestran el resumen de los valores de la constantes obtenidas con ayuda


de MATLAB.
Parmetro
Valor
Parmetro
Valor
B
0.002
K
0.01865

0.9103
Kt
0.01462
Wn
7.58
Kp
70.98
J
0.01817
Ki
2.86
Po
0.04
Kv
17.08
Funcin de transferencia en lazo cerrado del sistema con el controlador primero en el
dominio de s y luego obtenindola en el dominio z se obtiene los siguientes valores de
los denominares y numeradores.

Realizando la conversin al dominio de Z con ayuda del comando c2d de MATLAB


utilizando el mtodo matched para conservar la ubicacin de los polos, la funcin de
transferencia final queda definida por:

Al analizar la respuesta del sistema a la rampa y al escaln unitario estas se muestran en


las siguientes figuras:

Figura 3. Respuesta al Escaln


Al observar la figura se poder percibir que la respuesta del sistema est acorde con los
tiempos de subida y llega a la estabilidad.

4.2. Simulacin en LABVIEW

Ahora se deber simular primeramente la respuesta del controlador PID en serie con la
P(s) sin el limitador de corriente mediante la interfaz de LABIVEW.
Primeramente se debern ingresar los valores obtenidos del controlador anteriormente
en el diagrama de bloques de la interfaz.

Figura 3. Respuesta al Escaln

Realizando lo anterior se podr observar la respuesta simulada del sistema en LabVIEW.

Figura 3. Respuesta al Escaln


Al analizar la grfica mostrada en la figura 3 se puede observar el seguimiento de las dos
curvas lo cual indica que este sistema desarrollado est teniendo una respuesta correcta.

Seccin 5

Control de Posicin Mtodo 2


5.1. Produccin Actual de Electricidad y Consumo
Control de posicin
Se muestra en los siguientes clculos la obtencin del compensador usando diagramas de Bode.
Una vez obtenida la funcin
() =

8.042
2 + 1.1 + 10.26

Por medio de mtodo de Bode se obtiene un compensador de adelanto de la forma


Paso 1
Se obtiene la funcin de transferencia de la planta en forma discreta con un retenedor de orden 0.
() =

1
8.042
8.042
() = 2
= (1 1 ) [ 2
]

+ 1.1 + 10.26
+ 1.1 + 10.26

Aplicando el comando c2d en MatLab se obtiene


Cdigo en MATLAB.
%-----Planta
Gp = tf([8.042], [1 1.1 10.26]);
%----Transformacion Discreta de la planta (Paso 1)
Gz = c2d(Gp, 0.004);

Paso 2
Se aplica la transformada bilineal para obtener la funcin de transferencia en funcin de la frecuencia.
Cdigo en MATLAB.
%----Tramsformacin a frecuencia metodo bilineal (Paso 2)
Gw = d2c(Gz,'tustin')
margin(Gw)
grid

Obteniendo el diagrama de Bode de la planta


Bode Diagram
Gm = 36.7 dB (at 23.7 rad/sec) , Pm = 33.8 deg (at 4.11 rad/sec)
50

Magnitude (dB)

-50

-100

-150

-200
360

Phase (deg)

270

180

90
-1

10

10

10

10

10

10

10

Frequency (rad/sec)

Figura 8. Diagrama de Bode de la Planta


Donde se obtiene un margen de ganancia y un margen de fase de
= 36.7

= 33.8

10

10

10

Por otra parte la constante de error para una entrada rampa unitaria () = ()
= lim [(1 1 )
1

1
()]
1 + ()

1
1

= lim [(1
]
=
lim
1
1 (1 1 ) ()
1 + () (1 1 )2
1
=

1 )

(1 1 ) ()
= lim
1

Considerando la rampa unitaria


1 0.00006424 + 0.00006415
( )

(1 1 ) ()
( 1)( 0.995)
= lim
= lim [
]
1
1

0.004
1 0.00006424 + 0.00006415
( )

( 0.995)
= lim [
]
1
0.004

= [

(1)

0.00012839

0.025678
0.005
]=
= 6.4195
0.004
0.004

10
= 1.5577
6.4195

Paso 4
Para lograr el error en estado estacionario pedido, tenemos que el controlador debe tener una ganancia
de 1.5577 .
= 1.5577
Por lo tanto aplicando la ganancia de 1.5577
Cdigo en MATLAB.
Gw = d2c(Gz,'tustin')
Kc=1.5577 ;
Gw2=Kc*Gw
margin(Gw2)
grid

Donde la nueva funcin de transferencia en la frecuencia con una ganancia es

Y el nuevo diagrama de bode es


Bode Diagram
Gm = 32.9 dB (at 23.7 rad/sec) , Pm = 23.6 deg (at 4.66 rad/sec)
20
0
-20

Magnitude (dB)

-40
-60
-80
-100
-120
-140
-160
360

315

Phase (deg)

270

225

180

135

90
-1

10

10

10

10

10

10

10

10

10

10

Frequency (rad/sec)

Figura 8. Diagrama de Bode con Ganancia


Donde se obtiene un margen de ganancia y un margen de fase de
= 32.9

= 23.6

Ya que el problema nos pide tener un margen de fase mayor de 50


= 50 23.6 = 26.4
Por lo tanto se necesita agregar 15 de margen de fase, por lo que se supone que el controlador
proporcione = 35
= ( ) =
Encontrando Alfa de la ecuacin tenemos que

1
1+

1 ( )
1 + ( )

Donde debe estar en Radianes por lo tanto


=


=
= .

= (. ) = .

Por lo tanto
=

. .
=
= .
+ . .

Para encontrar Tao se parte a partir de la frecuencia crtica


1
= 2010 ( ) 5.6694

A partir del diagrama de Bode con ganancia 1.5577 se encuentra para aproximar el valor en
rad/seg.
Bode Diagram
Gm = 32.9 dB (at 23.7 rad/s) , Pm = 23.6 deg (at 4.66 rad/s)
50

System: Gw 1
Frequency (rad/s): 5.82
Magnitude (dB): -5.81

Magnitude (dB)

-50

-100

-150
360

Phase (deg)

270

180

90
-1

10

10

10

10

10

10

10

10

Frequency (rad/s)

Figura 9. Diagrama de Bode para Encontrar Frecuencia

10

Obteniendo 5.82 rad/s de frecuencia, sustituyendo en


=

1
1
=
= 0.33005
5.82 0.52058 3.02975

Considerando un controlador de adelanto que tiene la forma


() =

1 +
1 +

Por lo que el controlador seria


() = 1.5577

1 + 0.33005
1 + 0.08944

Cdigo en MATLAB.
%Controlador Angulo
AnCom=15;
Qm=sin((AnCom*pi)/(180))
Alf=(1-Qm)/(1+Qm)
a=sqrt(Alf)
a1=1/sqrt(Alf)
a2=log10(a1)
Vc=-20*a2
%Valor encontrado dependiendo del valor de Vc Frecuencia critica en el diagrama de bode
Vc1=5.42
Tao=1/(Vc1*a)
%Controlador plano w
s=tf('s');
Gwc=(20)*((1+Tao*s)/(1+Alf*Tao*s))

Donde la funcin de transferencia del compensador es

La funcin del sistema, planta en w y compensador es

Donde el diagrama de Bode con el compensador es


Bode Diagram
Gm = 40 dB (at 67.9 rad/s) , Pm = 49.7 deg (at 5.78 rad/s)
20

-20

Magnitude (dB)

-40

-60

-80

-100

-120

-140
405

360

Phase (deg)

315

270

225

180

135

90
0

-1

10

10

10

10

10

10

10

10

Frequency (rad/s)

Figura 10. Diagrama de Bode Planta Compensada


Donde se obtiene un margen de ganancia y un margen de fase de
= 40

= 49.1

Pasando de plano w al plano z la funcin de la planta es tenemos


Cdigo en MATLAB.
%Controlador w a z
Gcz = c2d(Gwc, 0.004, 'tustin')

Donde la funcin es

10

Donde la funcin del sistema en z seria

Encontrando lazo cerrado de la funcin en z

Y por ltimo se encuentra la respuesta a la entrada escaln

Cdigo en MATLAB.
Gcz = c2d(Gtw, 0.004, 'tustin')
Gcz1 = feedback(Gcz,1)
z= tf('z');
Gpa=Gcz1;
T1=0:2500;
u=ones(size(T1));
y=lsim(Gpa,u);
plot(T1, y);
grid

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

500

1000

1500

2000

Figura 11. Grafica Respuesta al Escaln

2500

Seccin 6

Conclusiones
6.1. Felipe de Jess Ordua Prez
Al desarrollar este proyecto por medio del dispositivo de simulacin QNET se pudo ver algunas aplicaciones de la
teora del control digital, as como conocer y desarrollar ms a fondo las herramientas de MatLab y LabVIEW.
Al desarrollar nuestro proyecto que se dividi en varias partes, como la obtencin de modelo del motor de
acuerdo a las condiciones de corriente, el cual no tuvimos muchas complicaciones ya se estaba familiarizado a su
obtencin, al ya realizar el mtodo varias veces en clase. Durante el desarrollo del control interno PI, se pudo
obtener un amplio conocimiento en MatLab, ya que se desarroll un pequeo cdigo que nos facilit su
obtencin. Para el modelado del sistema de cuerpo libre se tuvieron diferentes problemas que nos atrasaron. Ya
que con tan solo mover la masa del brazo se produca un cambio en la corriente de estabilizacin del sistema. Al
obtener la funcin de transferencia, se tuvieron varios imprevistos, ya que como se muestra en las imgenes del
reporte, con la funcin de transferencia segu la simulacin al sistema, pero despus al siguiente da al llegar y
querer seguir trabajando nos daba un resultado completamente diferente as como varios valores, y de hecho el
sistema ya no se estabilizaba.
La obtencin de compensador por medio de Bode fue algo familiar ya que fue una herramienta que se utiliz en
clase ya solo fue cuestin de adaptar a nuestros proyecto, aunque en esta parte no se obtuvo la respuesta querida
ya que nuestra respuesta al escaln no resulto, se quiso componer con un compensador de adelanto atraso pero
el tiempo ya no fue suficiente. En paralelo trabajbamos en la realizacin de compensador PID por medio de la
ecuacin de tercer grado, donde se obtuvo una respuesta ms apropiada. Al momento de poner a funcionar el
VTOL el sistema se estabilizaba, pero no se pudo obtener la respuesta deseada.
Este proyecto fue un reto en lo particular ya que no se estaba familiarizado con herramientas de simulacin como
LabVIEW, y MatLab. Fue un aprendizaje constante ya que aunque se tena algn conocimiento terico, pero nunca
se haba hecho la aplicacin prctica.

6.1 Josu David Alejandro Miranda Cornejo


El proyecto que realizamos ha contribuido de manera muy importante para identificar y resaltar los puntos que
hay que cubrir y considerar para llevar a cabo una implementacin exitosa de los sistemas de control digital en
diferentes tipos de dispositivos en este caso de un balancn.
Nos deja muchas cosas importantes que considerar para futuros anlisis de control y muchas otras las ha
reforzado como puntos angulares para llevar a cabo una buena implementacin.
Dentro de los puntos que consideramos tienen ms importancia dentro de un proyecto de esta naturaleza son el
detectar e identificar los parmetros adecuados del modelado de las plantas y cules son las necesidades reales
para el control correcto.
Se pudo observar el proceso completo y los imprevistos no completados que suceden al momento de obtener los
valores y los diferentes mtodos de diseo.
As al final Con este proyecto se tienen los conceptos bsicos del control para poder as realizar ms controladores
los cuales sern de utilidad para la aplicacin industrial.

6.1. Hctor Jess Robles Garca


En el desarrollo de este proyecto aplicamos los conocimientos adquiridos en clase para el control en cascada de
un balancn desarrollando nuestros clculos de los parmetros deseados en Matlab y simulaciones en el simulador
QNET de LabVIEW. Para poder desarrollar nuestro proyecto satisfactoria mente utilizamos el control en cascada
que consiste en tres etapas diferentes las cuales son control de corriente, modelado y control de posicin, en
estas tres etapas se fueron implementando controladores PI y PID para el control requerido en nuestro sistema.
Nuestro diseo del controlador consisti primeramente en modelar la corriente con un compensador PI, teniendo
el modelo del sistema procedemos a realizar el control PI con los mtodos de resolucin aprendidos en clase.
Una vez obtenidos los parmetros calculados se analizan, dando la razn de que est bien cuando obtenemos
nuestro escaln estabilizado en uno. Como siguiente paso hicimos el modelado del sistema con las medidas de
nuestro balancn, aqu aplicamos mtodos de resolucin por anlisis de frecuencia por diagramas de bode y por
el mtodo dado en el manual del balancn, despus de varios imprevistos atravesados por el que no nos daban
los valores por el mtodo de bode , seguimos el mtodo del manual y de esta manera obtuvimos los parmetros
adecuados para que la simulacin fuese la correcta al ingresar nuestro PID y nuestra funcin de transferencia. Los
programas de simulacin en LabVIEW se tuvieron que modificar para llegar a nuestros parmetros deseados y
una vez que hemos metido los valores se tuvieron que hacer varios recalculo hasta as llegar a nuestra planta
correcta. Una vez realizado nuestra simulacin y ver que los parmetros son correctos llegamos a la conclusin
de que aplicando nuestro controlador PID y recalculando varias veces para que se estabilice, estamos aplicando
correctamente nuestros conocimientos.

6.1. Enoc Alonso Snchez Campos


Por medio de este proyecto se pudo aprender los conceptos del control digital vistos a lo largo del curso, se realiz
un controlador PID que calcula la desviacin o error entre un valor medido y el valor que se quiere obtener, para
aplicar una accin correctora que ajuste el proceso.
El control de vuelo y su implementacin se realiz mediante el uso del software LabVIEW y Matlab para el diseo
e implementacin de nuestra planta, lo primero que se realizo fue un controlador PI el cual nos controlaba la
corriente donde se encontraron los valores de Kp y Ti segn las necesidades de nuestro diseo, de aqu se pas a
encontrar en un segundo vi la posicin de nuestra planta obtenida en el paso anterior se tena que observar que
lo graficado diera conforme a lo simulado si no hay que modificar los parmetros calculados anteriormente ,
despus se pas a la implementacin del control de vuelo para que con nuestra planta y con nuestros valores de
control calculados para su correcto funcionamiento.
Cabe mencionar que se presentaron muchos problemas a la hora de la realizacin de los clculos ya que no
concordaban con lo real, pero con la ayuda de las tcnicas de control se puedo corregir esto y al final resulto como
esperbamos.

Seccin 7

Anexos
7.1. Cdigo Controlador PID MATLAB
Cdigo en MATLAB.
clc
clear all
p0=0.04;
%wn=3.4;
k=0.01865;
J=0.01817;
kt=0.01462;
B=0.002;
tp=1;
Mp=0.001;
ld=1/(sqrt(1+(pi/log(Mp))^2));
ld
wn=pi/(tp*(sqrt(1-ld^2)));
wn
kp=(-k+2*p0*ld*wn*J+(wn^2)*J)/kt;
ki=p0*(wn^2)*J/(kt);
kv=(-B+p0*J+2*ld*wn*J)/(kt);
kp
ki
kv
T=1/250;
gn=tf([(kt*kp) (ki)],[J (B+kt*kv) (k + kt*kp) (kt*ki)])
gn2 = c2d(gn,T,'matched');
gso=feedback(gn,1)
gcz = c2d(gso,T,'matched');
gcz
[num, den]=tfdata(gcz,'v');
%rlocus(gn)
k=1:1:900;
y=dstep(num,den,k);
u=ones(1,400);
y1=y';
y2= lsim (gcz,k);
y4=y2';
plot(k*T,y1,'ro');
grid

7.2. Cdigo Controlador PI MATLAB


Cdigo en MATLAB.
%---- Diseo de controlador PI
clear all
clc
%---- Primeramente se ingresan los datos obtenidos de la planta
K=0.329;
Tao=0.14;
Gp = tf([K], [Tao 1])
T=1/250;
%---- Teniendo el sistema de la planta aplicamos transformada z
%para encontrar el sistema en tiempo discreto la planta (Paso 1)
Gz = c2d(Gp, T,'zoh')
%----Una vez encontrado la ecuacin del sistema de la forma
%
b1
%
G(z)= --------%
z+a1
%
%---- Sustituimos los valores b1 y a1
b1=0.009267;
a1=-0.9718;
%---- Asi obteniedo la ecuacin del sistema el lazo abierto.
%----Ahorro apartir de los datos de diseo pedidos,encontramos el valor del
% factor de amortiguamiento
%----Donde
% Mp = Sobrepaso maximo
% a = Se realiza la operacin logaritmo
% l = Factor de amortiguamiento.
Mp=0.001;
a=log(Mp);
%---Despejando l de la ecuacin de sobrepaso maximo
%
%
%
%
%

Mp =

-l*Pi
____________
_______
/(1-l^2)
exp

l=(1)/sqrt(1+(pi/a)^2)
%----Asignado un tiempo de asentamiento (ts) de...

ts=0.98;
%---- Apartir del tiempo de asentamiento
%
4
% ts = -------%
l*wn

Crtiterio 2%

3
ts = -------l*wn

Criterio 5%

%---Despejando obtemos la frecuancia natural


cr=4;
wn= (cr)/(ts*l)
%----Habiendo encontrado la frecuancia natural, se sustituye en
%
______
% wd = wn */1-l^2
%
%---- Para tener el valor de la frecuancia amortiguada la cual depende de
%los valores de
% l = Factor de amortiguamiento
% wn = Frecuancia natural

wd=wn*(sqrt(1-l^2))
%----Por lo tanto de la ecuacin de segundo grado se
%
%
%
%

Ki*b1*z
---------------------------------------------(-l*wn*T)
(-2*l*wn*T)
z^2 - 2*exp
cos(wd*T)z + exp

%----Donde
%
%

s= - 2*exp

(-l*wn*T)
cos(wd*T)

(-2*l*wn*T)
s1= exp

s=-2*exp(-l*wn*T)*(cos(wd*T))
s1=exp(-2*l*wn*T)
%----Agrupando la ecuacin del sistema, pero considerando Ki*b1*z = z
Gz = tf([0 1 0], [1 s s1])
%Nota: Solo se agrupo para tener la forma de la ecuacin.
%----Teniendo los valores del polinomio caracteristico de la ecuacin
%anterior, se comparan con lo de las ecuacin
%

z^2 + s + s1 = z^2 + (-1 + a1 + Ki*b1 + kp*b1)z + (-a1 - kp*b1)

%---- Porlo tanto igualando

(-a1 - kp*b1) = s1 ----(1)

(-1 + a1 + ki*b1 + kp*b1) = s ----(2)

%---- Por lo tanto despejando kp de ecuacin (1)


kp=(s1+a1)/(-b1)
%---- Y tambien despejando ki de ecuacin (2)
ki=(s+1-a1-(b1*kp))/(b1)
%---- Teniendo los valores kp y ki encontrando los nuevos valores del
%polinomio caracteristico con los valores de kp y ki
%

z^2 + (-1 + a1 + ki*b1 + kp*b1)z + (-a1 - kp*b1)----(3)

%---- Donde
% h1 = -1 + a1 + ki*b1 + kp*b1,

ho = -a1 - kp*b1,

b2 = ki*b1

h1=-1+a1+(b1*kp)+(ki*b1)
ho=-a1-(b1*kp)
b2=ki*b1
%---- Donde se encuentre al funcin del controlador PI en lazo cerrado de la
forma
%
%
%

ki*b1*z
-------------------------------------------------- .....(4)
z^2 + (-1 + a1 + ki*b1 + kp*b1)z + (-a1 - kp*b1)

z= tf('z');
Gpa=((b2*z)/(z^2+h1*z+ho))
%---- Teniendo la funcin del controlador en lazo cerrado y encontrando su
%respuesta con una entrada escaln
%---Escalon
T1=0:500;
u=ones(size(T1));
y=lsim(Gpa,u,T1);
plot(T1, y);
grid

7.3. Cdigo Controlador Por Bode MATLAB


Cdigo en MATLAB.
clear all
clc
%----Funcin estimada
Kt=8.042;
J=1;
B=1.1;
K=10.26;
Ps = tf([Kt], [J B K])
%K0=125.1;
%K1=45.98;
%K2=-0.09239;
%K3=-0.0000001356;
%K4=1;
%K5=11;
%K6=67.23;
%K7=227.6;
%Ps1 = tf([K3 K2 K1 K0], [K4 K5 K6 K7])
T=1/250;
%----Transformacion Discreta de la planta (Paso 1)
Pz = c2d(Ps, T,'zoh')
%----Tramsformacin a frecuencia metodo bilineal (Paso 2)
Gw = d2c(Pz,'tustin')
%margin(Gw)
%grid
%----Multiplicando por Kc (paso 3)
%Gw = d2c(Pz,'tustin')
Kc=1.5577;
Gw1=Kc*Gw
%margin(Gw1)
%grid
%----Controlador Angulo (paso 4)
AnCom=35;
m=sin((AnCom*pi)/(180))
Qm=(AnCom*pi)/(180)
Alf=(1-m)/(1+m)
a=sqrt(Alf)
a1=1/sqrt(Alf)
a2=log10(a1)
Vc=-20*a2
%----Valor encontrado dependiendo del valor de Vc Frecuencia critica en el
%diagrama de bode

Vc1=5.82;
Tao=1/(Vc1*a)
%----Controlador plano w (1)
s=tf('s');
Gwc=(Kc)*((1+Tao*s)/(1+Alf*Tao*s))
%Gwaa=(Kc)*((1+Tao*s)/(1+Alf*Tao*s)*(1+Tao1*s)/(1+Alf1*Tao1*s))
Gcz1 = c2d(Gwc, 0.004, 'tustin')
Gcs1 = d2c(Gcz1, 'matched')
%----Contralador plano w (2)
%s=tf('s');
%Gwc=(Kc)*((1+Tao*s)/(1+B*Tao)))
%----Encontrando la funcin de transferancia del controlador con la planta en
%el palno w se tiene
Gtw=series(Gwc,Gw)
%margin(Gtw)
%grid
%----Controlador w a z
Gcz = c2d(Gtw, 0.004, 'tustin')
Gcz1 = feedback(Gcz,1)
%Gcz2 = d2c(Gcz1,'tustin')
%margin(Gcz1)
%grid
z= tf('z');
Gpa=Gcz1;
%---- Teniendo la funcin del controlador en lazo cerrado y encontrando su
%respuesta con una entrada escaln
%---Escalon
T1=0:2500;
u=ones(size(T1));
y=lsim(Gpa,u);
plot(T1, y);
grid

Seccin 8

Bibliografa
8.1. QNET_Control Guide_Vtol
8.2. Sistemas de control en tiempo discreto - Katsuhiko Ogata

You might also like