Вы находитесь на странице: 1из 43

Grado Ingienera Electrnica Robtica y

Mecatrnica (GIERM)

Trabajo
Control Por
Computador
Realizado por:
-Buftea, Alberto Gabriel
-Mndez Lpez, Juan

Introduccin
Partimos de un sistema univariable representado por un diagrama de bloques del cual trataremos de
obtener su comportamiento dinmico y disear un controlador PID que cumpla unas especificaciones de
funcionamiento.
El sistema es electrnico constituido por cuatro etapas basadas en amplificadores operacionales. Este
est representado en la figura 1 y su comportamiento viene definido por la funcin de transferencia
G(s) dada en funcin de los parmetros (R11, R21, R12, R22, R13, R23, R14, R24, C1, C2 y C3) que vamos
a calcular mediante las frmulas proporcionadas en la figura 2 y figura 3 donde k1, k2, k3 y k4 son
las ganancias de cada etapa y tau1, tau2 y tau3 las constantes de tiempo correspondientes.
Figure 1

Figure 2

Figure 3

Inicialmente el sistema est controlado proporcionalmente en base a una ganancia variable Kp sobre un
amplificador electrnico que acta en base a la diferencia entre la tensin de referencia Vr(t) y la
tensin de la ltima etapa Vs(t), como podemos observar en la figura 4.
Figure 4

Controlaremos el sistema en tensin a travs de un controlador PID analgico que remplazar al


controlador proporcional Kp, luego haremos un control digital PID para lo cual sustituiremos el
controlador PID analgico por un computador aadiendo los dispositivos de muestreo y reconstruccin
pertinentes tal y como indica la figura 5.
Figure 5

Por ultimo trataremos la representacin en espacio de estado y el diseo del sistema de control por
realimentacin del vector de estado.

Desarrollo

1. Ejecutar la aplicacin parmetros.m a travs del DNI del miembro de mayor edad del
grupo para calcular los parmetros del sistema electrnico
Descargamos el archivo del campus virtual, lo guardamos en un directorio que Matlab reconozca y
obtenemos los parmetros usando como DNI 5109644 el equivalente al miembro de mayor edad del
grupo.
K1 = 1.5429 ;

tau1 = 1.5143

K2 = 1.0286 ;

tau2 = 0.4571

K3 = 2.0571 ;

tau3 = 0.0457

K4 = 1.2857 ;
En las frmulas proporcionadas imponemos como condicin que (R11, R12 R13, R14) sean iguales a 1, as
podemos despejar en las frmulas y obtener los valores necesarios de todas las resistencias:
= 1 = 1,5429;

= 1;

11 + 21 11 1 = 1 + 1 -> 11 21 1 = 1 -> =

= 2 = 1,0286;

= 1; 12 + 12 22 2 = 2 + 1 -> 12 22 2 = 2 -> =

= 3 = 2,0571;

= 1; 13 + 13 23 3 = 3 + 1 -> 13 23 3 = 3 -> =

= 4 = 1,2857;

= 1;

Tras haber despejado las frmulas, haciendo los clculos para los condensadores nos sale estos valores:
= 0.9815;

= 0.4444;

= 0.0222

Finalmente, escogiendo valores de tablas comerciales para estos componentes tenemos:


21 = 1K5;

11 = 1K;

1 = 1;

22 = 1K;

12 = 1K;

2 = 0,47;

23 = 2K2;

13 = 1K2;

3 = 0,22;

24 = 1K2;

14 = 1K;

(Resistencias en , Condensadores en F)

2. Obtener la funcin de transferencia en s del sistema electrnico (en bucle abierto)


seleccionando los valores de resistencias y condensadores del circuito segn catlogo
para obtener las ganancias Ki y constantes de tiempo i asignadas de forma ms
aproximada
Nuestras funciones de transferencia para cada amplificador quedan as:
1 () =

1,5

1,5+1

2 () =

0,47+1

3 () =

2,2

0,5808+1,2

4 () = 1,2;

Las introducimos en Matlab usando el comando G = tf(num,[den]) y obtenemos la funcin


definitiva G(s) usando el comando Gs = series para multiplicarlas entre s.

3. Obtener la funcin de transferencia en z del sistema de nivel discretizado con T=0.01


(en bucle abierto) y obtener la ecuacin en diferencias del sistema electrnico
correspondiente
Para obtener la funcin de transferencia en z, G(z), usamos el comando c2d partiendo de la
G(s) calculada en el apartado anterior. Si no especificamos ningn mtodo Matlab utiliza por
defecto el mtodo zero-order-hold (zoh).

En este caso hemos especificado el mtodo zoh para que se observe donde deberamos de
especificar que se use otro mtodo, en caso de necesidad.
Para expresa la ecuacin en diferencias consideramos las condiciones iniciales nulas al no
haberse especificado lo contrario. Esta es la ecuacin que nos queda:
x(k+3)-2.952x(k+2)+2.904x(k+1)-0.926x(k) = 1.592*10-6u(k+2)+6.293*10-6u(k+1)+1.554*10-6u(k)
En donde x(k) representa la salida y u(k) la entrada de nuestro sistema para k-simas
repeticiones.

4. Obtener la descripcin en espacio de estado A, B, C y D del sistema electrnico y


calcular las matrices G, H, C y D del sistema por discretizacion para los casos T=0.01 y
T=0.1
Para obtener el sistema en espacio de estados en s podemos calcular las matrices A,B,C,D, usando el
comando ssdata() de la forma:
[A,B,C,D] = ssdata(Gs)

Para obtener las matrices G,H,C,D del sistema discretizado usamos el mismo comando ssdata() pero
en vez de usar como funcin de transferencia G(s), usamos la funcin de transferencia en z, G(z), cual
hemos calculado en el apartado 3. El comando quedara de la forma.
[G,H,C,D] = ssdata(Gz)

Las matrices anteriormente calculadas son para una T de 0.01s. Si querremos calcularla para una T de
0.1s tenemos que volver a discretizar la funcin de transferencia Gs usando T = 0.1 usando:
Gz = c2d (Gs, 0.1, zoh)
Por ultimo volvemos a aplicar el comando anterior a travs de cual obtenemos las matrices buscadas,
pero esta vez para una T de 0.1s
[G,H,C,D] = ssdata(Gz)

5. Calcular el error en rgimen permanente para el caso de usar controlador


proporcional con ganancia Kp, ante entrada escaln y rampa para los casos continuo y
discreto con T=0.01
Para ello primero definimos como variable simblica una ganancia k y dos variables s y z
usando el comando zpk, lo cual nos permitir escribir las frmulas.
>> syms k;
>>s=zpk(s);
>>z=zpk(z)
Tiempo Continuo
Para calcular el error ante las dos entradas, escaln y rampa, usamos las frmulas genricas para
sistemas en tiempo continuo, calculando el lmite cuando s tiende a 0.

Error escaln:

Error rampa:

Tiempo Discreto
En tiempo discreto definimos como variable simblica z y establecemos el valor del tiempo de
discretizacin. Luego usamos las frmulas del tema 4 para calcular los respectivos errores.

Error escaln:

Error rampa:

6. Disear un PID analgico utilizando alguno de los mtodos experimentales


(Rivera, Rovira) y obtener su discretizacin aplicando el mtodo Euler.

Estos mtodos experimentales asumen un sistema de primer orden, nuestro sistema es de


orden 3, por lo tanto lo primero que debemos hacer es convertir la panta a una de primer
orden.
Para ello asumimos una respuesta con retardo, tal como muestra la ecuacin

Para determinar el valor de las constantes d y tau usamos los apuntes del tema 6 diapositiva 37

Entonces, para sacar d debemos calcular cuanto tarda nuestro sistema en alcanzar el 0.632 y
el 0,283 de la amplitud total. Luego tan solo usamos la frmula.
Primero representamos con el comando ltiview la salida de nuestro en tiempo continuo G(s).
Esto podemos observarlo en las capturas inferiores.

Sabemos que el valor de la amplitud para el cual se estabiliza es de 3.3, calculamos que 0.632*3.3 = 2.08
y 0.283*3.3 = 0.93
Tenemos los valores de amplitud, en las grficas podemos ver el tiempo que tarda el sistema en
alcanzarlos, siendo t0.632=2.58s y t0.283=1.38s
Por lo tanto, ya podemos calcular d y tau.
d=

Comprobamos que

31.382.58
2

= 0.78

tau = 2.58 0.78 = 1.8

< 1 as que podemos obtener un PID segn los mtodos de Lopez o Rovira al ser

vlidas las frmulas de sintona. En este caso vamos a hacerlo por el mtodo de Lopez.
Este est basado en la minimizacin de la integral de una funcin del error para el caso de cambio en
perturbaciones. Podemos hacerlo segn varios criterios cuales penalizan distintos errores, en este caso
lo haremos siguiendo el criterio IAE pues penaliza en un valor intermedio ambos errores, grandes y
prolongados.
El criterio IAE est basado en la definicin de la integral del valor absoluto del error y lo implementamos
escogiendo los valores de las constantes de la tabla inferior y sustituyendo en las ecuaciones de sintona.

Las frmulas de sintona estn proporcionadas en los apuntes del tema 6, y en ellas despejamos
las ganancias Kp, Ki e Kd.

= (

=(

De las frmulas sacamos que:

->

->

= (

= (

As:
Kp = 0.783
Ki = 1.348
Kd = 4.369

La expresin de un PID viene definida por la frmula:


PID = +

As que nuestro PID proporcional desarollado por el mtodo de Lopez es:


= . +

.
+ .

Ahora vamos a discretizar nuestro PID mediante el mtodo de Euler. Este mtodo aproxima la
integral bajo f(t) por la suma de rectngulos, lo cual se puede hacer en dos sentidos, haca atrs
o haca adelante. En este caso usaremos el mtodo de Euler haca atrs:
Este equivale al mapeo =

1 1

, por lo que tan solo tenemos que sustituir en la expresin del

PID que nos ha quedado arriba. As la expresin del PID queda:


= +

+
(1 1 )
1
1

Con los valores obtenidos segn el mtodo de Lopez:


= . +

. .
+
( )

En donde T es el periodo de muestreo en segundos que queramos tomar para realizar la


discretizacin.

7. Disear un controlador vector de ganancias en espacio de estado continuo para que el


sistema deseado presente un par de polos deseados con comportamiento
crticamente amortiguado y exhiba una frecuencia natural de n de 10 ante referencia
de tensin nula, especificando el resto de polos deseados a suficiente distancia de los
anteriores, asumiendo que el estado es observable

Como especificaciones tenemos que Wn = 10 y la = 1 (Para que el sistema sea crticamente


amortiguado). Usamos la ecuacin genrica de sistemas de segundo orden para calcular con que
polos se cumplen estas especificaciones.

Tenemos que:

, = 1 10 10(1 1)^2 = -10

Por lo tanto dos polos deben ir colocados en -10 y el polo que falta lo colocamos del orden de 4
o 5 veces ms lejos para que no afecte al comportamiento de nuestro sistema, por lo que
elegimos ponerlo en -50.
Deseamos obtener el vector de ganancias K que representar a nuestro controlador. Lo haremos
por la frmula de Ackermann por lo que debemos seguir los siguientes pasos.
Primero desarollamos la ecuacin caracterstica cual es det [sI-A+BK] = det[s*I-A] = 0 De all
obtenemos el siguiente resultado.
(s-10)2 * (s-50) = 0
(s2+100-20s)*(s-50) = 0
S3-70s2+1100s-5000 = 0
Usando el resultado anterior y en virtud del teorema de Cayley-Hamilton (A) tiene por
ecuacin:
(A) = A3-70A2+1100A-5000*I
En el apartado 4 hemos sacado las matrices A y B del espacio de estados de nuestra planta,
cuales necesitamos para calcular (A)

Y tambin necesitamos para obtener la matriz de controlabilidad (M) definida por:


M= [B AB . An-1B]
As, introducindolo en Matlab resulta:

Para aplicar la frmula de Akermann debemos calcular la inversa de esta matriz, as, usando el
comando inv() de Matlab:

Para finalizar con este apartado, sustituimos las matrices obtenidas en la frmula de Akkerman
que dice:

As, en Matlab resulta:

Donde E es un vector de la forma [0 0 1], por lo tanto, nuestro vector de ganancias es:
K = [-37.43 136.60 -625.37]

8. Repetir el diseo en formato digital asumiendo un T=0.01, partiendo de la funcin de


transferencia discretizada obtenida en 3) y polos deseados obtenidos a partir de la
relacin =^s, asumiendo que el estado es observable
Si nos fijamos en los apuntes del tema 8, en formato digital (tiempo discreto) es el mismo
procedimiento que en formato analgico (tiempo contnuo), solo que usamos la funcin de
transferencia G(z), y trabajamos con las matrices G y H (cuales hemos obtenido en el apartado
4), quedando la frmula de Ackermann de la forma:

Sin embargo, Matlab tiene una funcin predefinida denominada acker(A,B,P) que
automticamente calcula el vector de ganancias K por el mtodo de Ackermann. A y B seran las
respectivas matrices en espacio de estados (G y H en discreta) y P es un vector con los polos
calculados.
As que procedemos a calcular los polos necesarios. Usando la conversin z=e^st, y sabiendo del
apartado anterior que S1,S2 = -10, calculamos que Z1, Z2 = 0.905. De nuevo, el tercer polo lo
colocamos del orden de 4 o 5 veces ms alejado de los otros, para que no afecte al
comportamiento del sistema. As elegimos Z3=0.181.
Para finalizar este apartado definimos el vector con los polos deseados:

Y por ltimo calculamos el vector de ganancias K, que representa al controlador de nuestro


sistema:

Por lo tanto el vector K para el sistema discretizado es:


P = [ 491.96 -449.99 205.90 ]

9. Programar el sistema de nivel en SIMULINK utilizando el modelo original en continua,


obteniendo la respuesta escaln y la respuesta rampa del sistema en bucle cerrado
con ganancia proporcional del controlador PID con Kp =1 , y repetir esta programacin
con el sistema discretizado para valores de T=0.01 y T=0.1, comparando las respuestas

Simulink es muy simple e intutivo de usar. Tan solo debemos montar el esquema de la planta
aadiendo bloques y modificando los valores de cada uno segn las especificaciones. Empezemos:
Tiempo Contnuo
Montamos el esquema del circuito en tiempo contnuo aadiendo un controlador PID que solo lleva una
ganancia Kp = 1, tal como especifica el enunciado. A la entrada variamos entre rampa y escaln.

Entrada escaln:

Entrada rampa

Tiempo discreto
En este caso el procedimiento es el mismo, solo que debemos aadirle un bloque zero-holder entre el
controlador PID y la Gs que muestre segn el periodo que le especifiquemos.

Para T=0.01
Entrada escaln:

Entrada rampa

Para T=0.1
Entrada escaln:

Entrada rampa:

Se observa que para el sistema discretizado dependiendo del periodo de muestro la salida de nuestro
sistema tarda ms en estabilizarse, pues lo que estamos haciendo es muestrear la entrada. Esto se
aprecia menos con la entrada rampa, pues esta no vara, as que todas las sucesivas muestras sern
iguales.

10. Aplicar ltiview al sistema continuo en bucle cerrado con ganancia Kp = 1 y calcular las
especificaciones de respuesta transitoria (t_subida, t_pico, t_establecimiento,
Sobreoscilacin) ante entrada escaln unitario y repetir el ejercicio con el sistema
discretizado con T=0.01 y T=0.1 y comparar los resultados obtenidos

Contnuo
Definimos la ganancia Kp = 1. La colocamos en serie con nuestra Gs mediante el comando series y
graficamos la salida a distintas entradas con el comando ltview de la forma:
>> ltiview(sys)
Con el click derecho, en la grfica, escogemos que informacin deseamos ver:

Discreta
En tiempo discreto el procedimiento es exactamente el mismo solo que en este caso usamos como
funcin de transferencia G(z) discretizada usando con dos periodos diferentes.
T = 0.01

T = 0.1

Entre la respuesta en tiempo continuo y discretizado con 0.01s no hay ninguna diferencia, la
informacin que cogemos de la entrada es tal que tenemos la informacin completa de la seal de
entrada para que nuestro sistema responda igual que si no muestreramos.
Al discretizar con 0.1s, la diferencia no es mucha pero si notable. Aunque el tiempo de subida y
establecimiento sean iguales, la seal tarda unos 2s ms en estabilizarse, en comparacin con los otros
dos casos. Adems, en la forma de la seal de salida se observan escalones.

11. Trazar el lugar de las raices continuo con rltool y situar los polos en bucle cerrado para
Kp = 0.5 Trazar asimismo el lugar de las races discreto para valores de T = 0.01 y T =
0.1 y comentar los resultados
En este apartado la ganancia Kp tiene un valor de 0.5. El procedimiento de actuacin es igual al
del apartado anterior, pero en vez de observar la salida con ltiview usamos el comando
rltool para ubicar el lugar de las races, de la forma:
rltool (Gs,Kp)

Tiempo continuo

Tiempo discreto
El procedimiento es el mismo que para tiempo contnuo solo que esta vez usamos la funcin de
transferencia Gz discretizada con dos periodos distintos.

T = 0.01

T = 0.1

Como se esperaba el lugar de las races discreto es totalmente distinto al contnuo. Lo interesante es
observar como la colocacin de los polos vara levemente conforme cambiamos el periodo de muestreo.
Para una T mayor, los polos se encuentran algo ms alejados entre ellos.

12. Calcular los valores de la ganancia critica para el caso de que el controlador PID
continuo sea una ganancia pura Kp y hallar la frecuencia crtica de oscilacin

Pintamos el lugar de las races de nuestro sistema Gs con el comando rlocus(). Escogeremos un punto del lugar
de las races del cual nos devolver como informacin la ganancia y valor de los polos con esa ganancia.

Sabemos que la ganancia crtica es aquella que provoca una oscilacin mantenida en nuestro sistema,
tambin sabemos que esa ganancia es la que provoca que los polos de nuestro sistema se coloquen

justo encima del eje imainario. Usamos el comando rlocfind para que Matlab nos devuelva
informacin sobre un punto que escogemos del lugar de las races. Haciendo zoom en la grfica,
pinchamos justo en el lugar en cual el LDR cruza el eje imaginario.

Matlab nos devuelve el valor de la ganancia que coloca uno de los polos en esa posicin, y tambin nos
devuelve la posicin de todos los polos.
La ganancia que nos devuelve matlab sera la ganancia crtica, marcada como Kc en la imagen superior.
Por lo tanto Kp crtica en un controlador sera de 3.3118

La frecuencia crtica la sacamos con Matlab sabiendo que sera la imagen del polo que hemos calculado
anteriormente.

As que frecuencia crtica es de 2.6819 rad/s

13. Disear un controlador analgico por el mtodo de Ziegler-Nichols y realizar su


discretizacion con T=0.01 y T=0.1 aplicando los mtodos Euler, trapezoidal y
emparejamiento polos-ceros, graficando la respuesta escaln para cada caso
Para calcular un controlador por el mtodo especificado, al igual que en el apartado 6 debemos
convertir nuestro sistema de tercer orden en uno de primer orden. Como ya hemos visto, sacamos los
valores de ambas constantes d y tau de la misma forma, siendo estas:
d=

31.382.58
2

= 0.78

tau = 2.58 0.78 = 1.8

Como d/tau =
Calculamos los valores para un PID por mtodo Ziegler-Nichols sabiendo que:
= 1.2

Kp = 0.699

Kd = 0.5 d Kp ;
Ki =

Kd =0.273

; Ki = 0.448

Sabemos que la funcin de transferencia de un PID es de la forma

As que:
PID =

. +.+.

Para discretizar el controlador usando los mtodos especificados:

Mtodo de Euler
Usaremos el mtodo de Euler haca atrs, que aproxima la integral bajo f(t) por la suma de rectngulos
haca atrs.

PID = +

1 1

1 1

Para T = 0.1

3.4738 ( 1) ( 0.2012)
( 1)2

Para T = 0.01

28.003 ( 1) ( 0.02496)
( 1)2

Mtodo Trapeizodal
Se hace la aproximacin de la integral por el rea del trapecio.

Pero en Matlab tenemos una forma ms simple de implementarlo que sera discretizar el PID
analgico que hemos obtenido con el comando c2d usando el mtodo tustin y obviamente,
cambiando el periodo de muestreo segn especificado.

Para T = 0.1

6.81 2 10.88 + 4.783


2 1

Para T = 0.01

55.3 2 109.2 + 53.5


2 1

Mtodo de emparejamiento de ceros y polos


En este mtodo se considera por separado el numerador y el denominador de la funcin de
transferencia que representa nuestro PID, y realizamos los siguientes procedimintos.

Pero de nuevo Matlab nos ofrece la posibilidad de implementarlo fcilmente discretizando el PID
analgico obtenido usando el mtodo matched

Para T=0.1

3.097 2 5.45 + 2.397


1

Para T=0.01

27.64 2 54.57 + 26.94


1

14. Verificar si es posible compensar el sistema de nivel con un controlador proporcional


analgico para que el sistema en bucle cerrado y realimentacin negativa unitaria
cumpla las especificaciones de Sobreoscilacin < 5 % y tiempo de establecimiento
test< 1 s, tpico < 0.8 s y error escaln nulo, graficando la respuesta escaln
Dibujamos el lugar de las races (LDR) con rltool y le aadimos las dos design requirements
disponibles, sobreoscilascin y tiempo de establecimiento.

Tras intentar realizar el control manual fijando una ganancia realizamos que no es posible cumplir con
todas las especificaciones a la vez. El tiempo de establecimiento no podemos reducirlo de 3.4s, y aunque
seamos capaces de cumplir con la sobreoscilascin menor a 5% no cumplimos con el tiempo de pico
menor a 0.8s.

Lo mximo que podemos reducir el tiempo de pico es a 1.38s, pero eso a una ganancia que est cerca de
la crtica, por lo que se nos dispara la sobreoscilascin al 85% y el tiempo de establecimiento a 183s.

As que definitivamente, no se pueden cumplir las especificaciones requeridas con un controlador


proporcional.

15. En caso contrario disear un controlador PID analgico en el lugar de las races en s y
ver si es posible cumplir las especificaciones requeridas, expresando el controlador
obtenido, graficando el nuevo lugar de las races en s, y comprobando a travs de
ltiview que se cumplen ciertamente las especificaciones requeridas (introducirle el
termino de filtro (N) adecuado
Sabemos que un controlador del tipo PID tiene como caracterstica dos ceros y dos polos, de los cuales,
un polo est en el origen (se denomina integrador).
Dibujamos el lugar de las races con rltool y en la pestaa de control and estimation tools aadimos
estos tres componentes. Un integrador (polo en el origen), un polo y dos ceros. A continuacin, abrimos
response to step comand y jugamos con la colocacin de los 3 elementos aadidos. Colocamos el polo
alejado del origen, de manera que estabilice la respuesta del sistema pero que no afecte a los tiempos
de respuesta. Luego, vamos variando los ceros hasta que conseguimos el mejor comportamiento que se
adapte a las especificaciones requeridas.
En este caso, no se consiguieron cumplir las especificaciones requeridas. El comportamiento ms
apropiado conseguido para que no afecte a la sobreoscilacin nos da un tiempo de establecimiento de
1.9 s y un tiempo de pico de 1.47s, con el controlador quedando como se observa a continuacin:

Respuestas:

Si lo que deseamos es cumplir con el tiempo de pico, debemos sacrificar sobreoscilascin, que se dispara
a un 21%, para que se cumpla el otro criterio, quedando de la forma:

Finalmente concluir que cumplir con el tiempo de establecimiento no es posible, de ninguna manera.

16. Repetir el apartado 15) realizando un diseo de controlador PID digital directamente
en el lugar de las races en z con T=0.01, y ver si es posible cumplir las especificaciones
requeridas en 14) trasladadas al plano z, expresando el controlador digital obtenido,
graficando el nuevo lugar de las races en z, y comprobando a travs de ltiview que se
cumplen ciertamente las especificaciones requeridas
En tiempo discreto el procedimiento es igual que en el apartado anterior pero esta vez
representamos el lugar de las races de la funcin Gz discretizada con T=0.01
El controlador PID sigue el mismo principio, peo esta vez el integrador no se encuentra en el
origen sino en la posicin real 1. El otro polo debemos colocarlo cerca del origen para que no
afecte al funcionamiento del sistema.
En este caso tampoco se ha logrado cumplir con las especificaciones requeridas, lo que s hemos
conseguido es tener unos tiempos de pico y de establecimiento menores a la vez que una
sobreoscilascin menor, comparado con el PID analgico, por lo tanto el sistema discretizado se
puede controlar mejor.
El controlador que mejor funcionamiento proporciona comparando con las especificaciones
requeridas sin superar la sobreoscilacin es el siguiente:

Con este conseguimos una sobreoscilacin bastante menor que la requerida, pero los tiempos
de pico y de establecimiento siguen estando bastante por encima, aunque sean menores que en
el controlador analgico. Esto se puede observar en la captura inferior.

Una cosa interesante del sistema discretizado es que podemos conseguir cumplir la
especificacin de sobreoscilacin y tiempo de pico menores a los requeridos, pero debemos
sacrificar mucho el tiempo de establecimiento.

17. Simular en SIMULINK los sistemas de control PID continuo y discreto de los apartados
15) y 16) anteriores usando los parmetros correspondientes, y aadiendo asimismo
una limitacin de salida del controlador a (-10,+10) aadiendo en su caso el sistema
corrector antiwindup y ver la respuesta
Empecemos con el PID continuo. El circuito a montar en Simulink es el siguiente

Y la salida que proporciona ante una entrada escaln es la siguiente:

Pasando al PID discreto tomamos el circuito siguiente cual debemos montar en Simulink:

Y la salida que nos proporciona es la siguiente:

Observamos que ambas salidas son muy parecidas, lo que es normal pues hemos discretizado con
un periodo muy pequeo, as que la salida con un controlador que sea una ganancia pura debera de
ser exactamente igual, en este caso el controlador diseado en discreto es diferente al diseado en
tiempo continuo, siendo ese el motivo de la pequea variacin a la salida.

18. Resintonizar de nuevo los PID analgico y digital respectivamente en SIMULINK a


travs de las herramientas de diseo automatico, obteniendo una mejor respuesta
posible ante el seguimiento escaln unitario (mejorar alguna de las especificaciones y
manteniendo el resto).
Con los mismos esquemas montados en Simulink que en el apartado 17, entramos en la opcin tune
del PID para ver si podemos mejorarlo.
Comencemos con el PID contnuo:

Siendo la lnea azul la correspondiente al PID nuevo, se observa que ha sido disminuido bastante el
tiempo de establecimiento de nuestro sistema adems de una gran disminucin de la sobreoscilacin.
Resultado que fue imposible de conseguir con el diseo en rltool.

Vayamos con el PID discreto

Esta vez hemos conseguido disminuir el tiempo de establecimiento mayor cantidad que en el apartado anterior
adems de la sobreoscilasci

19. Implementar en SIMULINK los esquemas de control en espacio de estado de los


apartados 7) y 8) y comentar los resultados obtenidos partiendo de condiciones
iniciales no nulas.

Empecemos con el apartado 7. El esquema de control en espacios de estados en simulink es muy


simple de introducir. Tenemos el bloque State-Space al cual le introducimos las matrices A,B,C,D y
D que hemos obtenido en el workspace. La configuracin de este bloque podemos observarla a
continuacin:

Y el esquema a montar en simulink queda de la forma:

Donde la ganancia la hemos definido como un vector correspondiente al vector de ganancias K obtenido
en el apartado 7. Multiplexamos 3 entradas escaln exactamente iguales para que no nos d error por
incompatibilidad de tamaos.
La salida del sistema es:

Por ltimo, vayamos con el apartado 8, el procedimiento es el mismo, solo que usando las matrices
(G,H,C,D) corespondientes al sistema discretizado con T= 0.01 y usando como ganancia el vector K
calculado en este apartado. Aparte, cambiamos el bloque state-space por el mismo pero en discreta
discrete-state-space
Veamos el esquema:

Y la salida de este es:

Comparando ambas respuestas ante una entrada escaln se observa como la respuesta del controlador
vector de ganancias diseado manualmente produce un gran overshoot en la respuesta de nuestra
sistema, mientras que el controlador diseado mediante el comando acker de Matlab para el sistema
discreto no produce sobreoscilascin alguna pero retrasa el tiempo de establecimiento.

Вам также может понравиться