UNIVERSIDAD DE MALAGA
DPTO. DE INGENIERIA DE SISTEMAS Y AUTOMATICA
CONTROL POR COMPUTADOR
Examen Febrero 2015
P1. El sistema de la figura muestra un servocontrol de una articulacién de un brazo manipulador
Compensator
i
1) Obtener la funcién de transferencia del sistema en bucle abierto (excluyendo el compensador)
2 manualmente y comprobando el resultado con MATLAB
2) Disefiar un controlador tipo PID utilizando el método de Ziegler-Nichols (si es posible) y
obtener la respuesta escalon unitario en MATLAB, sefialando las caracteristicas de respuesta
transitoria y el error escalon.
3) Disefar utilizando el método de Rovira un controlador (si es posible) obtener la respuesta
escalon unitario en MATLAB, sefialando las caracteristicas de respuesta transitoria y el error
escalon.4) Mejorar el controlador obtenido manualmente en SIMULINK variando los parémetros del PID
2 para cumplir t_estab <3 sy SO < 10 % y graficar la respuesta escalén.
5) Discretizar el sistema en bucle abierto con T = 0.5 y diseftar un controlador digital utilizando
|3 laherramienta rlioo! para obtener una SO < 10% t_pico < | s ,t_establecimiento <3 sy error
~ rampa nulo, mostrando el controlador obtenido y obteniendo la respuesta escalén y rampa en
SIMULINK.
Tiempo: 1 h 30 min
P2. El sistema de la figura muestra un esquema simple de un sistema de suspensién de un
automévil de masa M;, constituido por una rueda de masa M;, un amortiguador de coeficiente B,
un resorte de constante K;, siendo K? la elastancia del neumatico.
ee re
“ae f
Wheel —ie|
Las ecuaciones dinamicas del sistema vienen dadas por
Py. yA _ ae
Myr t BG GP + Qu - 20) =
a; d: dq
52+ 8 (2-H) + KO -10) + Ken = FO
1) Hallar las matrices de representacién en espacio de estado directamente a partir de las
4 ecuaciones dinémicas, considerando el sistema con entrada f(t) y salida y,(), eligiendo
= adecuadamente las componentes del vector de estado.2)
23)
a4
25
Particularizar las matrices de estado para valores asignados concretos de M; = 10,
K)=5, Kr=2, y B= 3, y obtener la representacin de estado del sistema en MATLAB,
hallando Ia funcién de transferencia en MATLAB.
Diseftar un controlador por asignacién de polos para seguimiento de referencia nula para
que la dinémica del sistema en bucle cerrado presente polos en jy, 2 = 2 Y Ha» Ms =
=10, suponiendo el estado accesible., ayuddndose en su caso de MATLAB.
Obtener la respuesta ante una referencia nula en SIMULINK, partiendo de condiciones
iniciales para el vector de estado nulas excepto y,(0) = 0.5, graficando la evolucién
temporal de la salida y, (t) y de las componentes del vector de estado 2(¢) elegidas.
Discretizar el sistema original y hallar las matrices de representacién de estado discretas
para T = 0.2 utilizando MATLAB, y obtener el vector de ganancias de un observador
discreto de orden completo, seleccionando los polos de! observador discreto de forma
‘consistente con los definidos para el controlador disefiado en el apartado 3), ayudandose en
su caso de MATLAB.
Tiempo: 1h 30 min@) :
7 we fidl
Mics jeaaygal | Gin “< A] en
es + / jo
Gig) 7
se ae
Gad = Careiargl) Ax Siracn ace
f+ aro S ;
Ss
(ts rt) (ty 2)
br ; oP
a te trp FEAWAS ty YW Yo
f ; oe
¢ olin YQ. 4 =
“puls f ems Pos SOM C41)+% Solucion P1 de Examen de Febrero 2015 Control por Computador
»
sezpk('s');
Gi=1/(2*s+21) ;
G2=38;
G3e1/(2*842);
iors
Grealim=feedback (G1*G2*G3,H,-1)
Geg=20*Grealim/(20*s)
>> Geq
Zero/pole/gain:
9.5
s (s+1) (s+10)
2) Controlador de Ziegler-Nichols PID pues se exige segiumiento rampa
Se aplica ritool(Geq) y se busca el limite de estabilidad con controlador en modo proporcional
Kcritica = 11.579 y weritica= 3.16 por tanto Tcritico= 2pi/weritica = 1.9883
woe3.16;Tes 2*pi/we;
Se entra en la tabla de Ziegler-Nichols del PI
Kp=0.75#Ke;
TisTe/1.6;
Td=Te/10;
Go=PID (Kp, Ki, Ka)
>> Gc=zpk(Gc}
Zero/pole/gain:
1.7267 (s+4.023) (s+1.006)
>orltool
%S
porta Geq y Gc desde ritool
Se aplica ritool y se ve la respuesta, mas bien mejorable...
Se
Jn,
\{
V/2) Controlador de Rovira
No es viable ya que la planta no se aproxima a planta de primer orden con retardo
3) Mejora del PID de Z_N en SIMULINK con t_estab < 3 s y SO < 10% (tune)
El PID Z-N original
Se aplica la mejora4) PID digital aplicando especificaciones SO< 10% t_pico <1, t_establecimiento < 3 sy error
rampa nulo,
Se ha de aplicar un Pl o PID para pasar de tipo 1 a tipo 2.
Se comienza con la discretizacion de la planta
>> Geqd
Zero/pole/gain:
0.070156 (2+0.05173) (z#1.516)
(2-1) (2-0.6065) (2-0.006738)
Especificaciones de control SO < 10%, t_pico< 1s t_estab <3 s, con error rampa nulo
‘Sampling time (seconds): 0.5Se ha aplicado un PID digital con T=0.5, pero no es posible cumplir las 3 especificaciones
simultanamente, especialmente la del t_pico debido al alto valor de T (t_pico = 2°T)
Se ha optado por afiadir pares de polo-cero hasta cumplir las especificaciones, procurando
ccancelar los polos y ceros de la planta interiores al circulo unidad
Resulta por tanto
>t
Zero/pole/gain:
5.57 (2-0.5893) (2-0.4) (2-0.9977)
(2-1) (240.1395) (2+0.051)
‘Sampling time (seconds): 0.5
Para comprobar el seguimiento rampa en SIMULINK se construye el diagrama de bloquesSe observa el seguimiento rampa como era esperable (sistema tipo 2 en bucle abierto)@ My, “ BY ~yI+ ‘i (y,-ys) 20 ()
thy + Bye y+ Anny) hips = L(t)
Eom yy
Le ters vedv de A tede:
Tey = CHU a) HOH xy Hel Ye Ye PD
infade aps ft y achde y= WH
A poke de bey 4 tue KOI @) y (1) Banta th an
ok hai daivie obit rect dy 9A
twa
ey Ke
%
Ke /
St = (- 4,04 HX) Ble x
aM, if 3) (x xy)
a
a ee
aeé
dky 1
a 2 Z (ur Bla xy F £,(4-%) - 4%)
Creo dfa feta f
= xy D«% Solucion P2 de Examen de Febrero 2015 Control por Computador
% P2. Descripcion de matrices ABC yD
M1=10;M2=2;
iKL=5;B=3;
As[O0 1 0 0;-Ki/M1 -B/M1 K1/M1 B/M1;
B/M2) 5
Be [0 0 0 1/M2)';
c=(2 00 01;
D= [0];
0 0 1;Ki/M2 B/M2 -(K1+K2) /M2 -
sistemasss(A,B,C,D)
Get£ (sistema)
\ Disefio de controlador Ackermann
Mcectrb(A,B)
rank(Mc) € rango maximo (4)
lambdai=-2; Lambda2e-2;
Lambda3=-10;1ambda4=-10;
J={lambdal 0 0 0;0 lambda2 0 0;0 0 lambda3 0;0 0 0 lambda4);
phispoly (J);
phi_Aspolyvalm(phi,A);
K=[0 0 0 2] *inv(Mc) *phi_A
eKe
% 765.5000 459.3000 32.5000 20.7000
% Respuesta condiciones iniciales nula
sistema_controlado=ss(A-B*K,B,C,D)
x0=(0.1-0.5 2 -3];
fy, t,x] =initial (sistema_controlado, x0)
plot (t,x)
Discretizacion de sistema
120.2;
sistema_dec2d(sistema,T, ‘zoh');
[G,H,C,D] =ssdata(sistema_d)
% Matriz de observabilidad
Mob_d-obsv(G,C)
rank(Mob_d) & rango maximo (4)% Disefio de observador dicreto Ackermann
% Se colocan los polos del observador a distancia de 4-5 de los polos
del
¥ controlador y se mapean en discreto z-exp(s*T)
J_d= (exp(4*lambdai*T) 0 0 0;0 exp(4+lambda2*T) 0 0:0 0
exp(4"lambda3*T) 070 0 0 exp(4*lanbdad*T)];
phi_depoly (J_a);
phi_Gepolyvaim(phi_4,G)
Ke_dephi_G*inv(Mob_d) * [0;
7072)
¥Ke_d
2.8960
% 1s092
+ 5.1946
& 64.9899