Professional Documents
Culture Documents
Revisiones
$C(s)=K_1$, $G(s)=\dfrac{1}{(s^2+3s)}$
y $H(s)=K_2s+1$
1. Obtener las relaciones que deben satisfacer K1 y K2 para que se cumplan los
requerimientos del diseño.
2. Dibujar sobre el plano S la región donde deben ser ubicados los polos de lazo cerrado para
que se cumplan las especificaciones temporales.
3. Escoger un valor adecuado para K1 y K2.
4. Calcular analíticamente el error estático de posición y de velocidad que cometerá el sistema.
5. Simule el comportamiento del sistema frente a una entrada de tipo escalón y frente a una
entrada de tipo rampa, comprobando el cumplimiento de los requisitos del diseño.
6. Compruebe mediante simulación si se cumplen los cálculos del apartado 4).
Resolución:
Para calcular el ess(vel) lo haremos de dos modos: uno usando la expresión del error de
realimentación, y otro usando el error real.
$ \left. \begin{array}{l}
\mu (s) = Y(s) H(s) \\
E(s) = R(s) - \mu (s) \\
Y(s) = E(s) C(s) G(s) \\
\end{array} \right\}E(s) = R(s) - E(s) C(s) G(s) H(s){\rm{ }} \Rightarrow $
Ahora aplicamos el teorema del valor final con una señal de entrada rampa R(s)=1/s2:
$ e_{ss} (vel) = \lim \limits _{x \to 0} s E(s) = \lim \limits_{x \to 0} s R(s)\dfrac{s(s +
3)}{s(s + 3) + K_1 (1 + K_2 s)} = $
AVISO: La comparación del sistema resultante con un sistema de orden 2 es sólo válida
cuando puede realizarse, es decir, cuando el sistema resultante también es de orden 2 o
tiene 2 polos dominantes. Sin embargo, en la mayoría de los casos esto no es así. Para esos
casos donde la comparación no es posible, es necesario trazar el Lugar Geométrico de la
Raíces del sistemas y así, mediante su análisis, saber cómo se comportará en función del
parámetro a diseñar.
Puesto que:
Como δ>0,69 esta aumenta , lo que hace que p1,2 tiendan a ser más reales, y por tanto β
menor. Así que β < 46,37º.
Obtenemos la parte real de los polos a partir de la expresión de t s:
Por último, obtendremos la expresión para K2 comparando la FTLC con la expresión modelo
de un sistema de 2º orden, debiéndose cumplir las inecuaciones anteriores.
$ \omega _n^2 = K_1 {\rm{ }}{\rm{, }}\omega _n^{} = \sqrt {K_1 } \Rightarrow {\rm{
}}\omega _n^{} > \sqrt {30} = 5,48{\rm{ }}rad/s$
Al ser este valor menor que antes es menos restrictivo, por lo que nos quedamos con el
anterior para el diseño, siendo el requisito:
A continuación escogeremos valores para K1 y K2. Para ello tendremos en cuenta que se
cumplan los requisitos calculados K1>33,64 y δ>0,69.
Con esto, y dando un valor a K1 y a K2 que no estén muy lejos de los límites calculados pero
tampoco demasiado cerca (p.ej. K1=35 y K2=0,18) obtenemos δ, que será:
$ \delta = \dfrac{{3 + K_1 K_2 }}{{2\omega _n }} = \dfrac{{3 + 35 · 0,18}}{{2\sqrt
{35} }} = 0,78$
Y el sobreimpulso será:
$ \left. \begin{array}{l}
E'(s) = R(s) - Y(s) \\
FTLC = \dfrac{{Y(s)}}{{R(s)}} = \dfrac{{K_1 }}{{s^2 + (3 + K{}_1K_2 )s + K_1 }} \\
\end{array} \right\}E'(s) = R(s){\rm{ }}\left( {{\rm{1 - }}\dfrac{{K_1 }}{{s^2 + (3 +
K{}_1K_2 )s + K_1 }}} \right) \Rightarrow $
$ \Rightarrow {\rm{ }}E'(s) = R(s)\left( {\dfrac{{s(s + 3 + K_1 K_2 )}}{{s^2 + s(3 + K_1
K_2 ) + K_1 }}} \right)$
Ahora aplicamos el teorema del valor final con una señal de entrada rampa R(s)=1/s2:
$e_{ss} (vel) = \lim \limits_{x \to 0} s E'(s) = \lim \limits_{x \to 0} s R(s)\dfrac{s(s + 3 +
K_1 K_2 )}{s^2 + s(3 + K_1 K_2 ) + K_1 } = $
$ = \lim \limits_{x \to 0} s \dfrac{1}{s^2 } \dfrac{s(s + 3 + K_1 K_2 )}{s^2 + s(3 + K_1
K_2 ) + K_1 } = \dfrac{3 + K_1 K_2 }{K_1} = \dfrac{3}{K_1 } + K_2$
Sabemos que uno de los requisitos que tiene que cumplir es que ess (vel)< 10%, por tanto:
Al igual que antes, en principio los requisitos serán δ>0,69 (por tanto β<46,37º).
A continuación escogeremos valores para K1 y K2. Para ello tendremos en cuenta que se
cumplan los requisitos calculados $ K_1 > \dfrac{3}{{0,1 - K_2 }}{\rm{ }}{\rm{, }}K_2 <
\dfrac{{0,1K_1 - 3}}{{K_1 }}{\rm{ }}y{\rm{ }}\delta > 0,69$.
Comprobamos los resultados obtenidos en los dos modos de hacer el ejercicio mediante
simulación en Matlab.
El código que genera todas las simulaciones es:
%Simulacion frente a entrada ESCALON (Solo para comprobar que es casi cero)
t=0:1e-3:3;
figure
[y,t]=step(S,t);
u=ones(size(t)); %Escalon
ess_pos=u(end)-y(end) %error de posicion
plot(t,y,t,u,'r--'), xlabel('Tiempo (s)'), ylabel('Escalon')
Revisiones
Ejercicio 3 (3 Puntos). Trace manualmente el lugar de las raíces del siguiente sistema:
SOLUCIÓN:
El Lugar de las Raíces comienza siempre en los polos de lazo abierto, con k=0, y termina en
los ceros, con k=$\infty$. Tendrá tantas Ramas como polos de P(s), y éstas llegarán a los
ceros de P(s) ó,si no los hay finitos, fugarán a infinito. A continuación procedemos a obtener
los datos necesarios para trazar el Lugar de las Raíces de forma aproximada.
- Polos y ceros:
Conociendo P(s), podemos saber el números de polos (n) y el número de ceros (m), así
como el valor de cada polo y de cada cero.
m=1 ; z=-2
Con estos datos, ya podemos comenzar a realizar la gráfica que muestra el Lugar de las
Raíces, de momento tenemos lo siguiente:
Al tener dos polos y un cero, ya sabemos que debe haber una rama que fugará a infinito.
El Lugar de las Raices existe en el eje real en cualquier segmento para el que el número
total de polos y ceros de P(s) a la derecha es impar. Por tanto, existirá Lugar de las
Raíces en el eje real en los intervalos:
$\sigma \in \left\{ {\left( { - \infty , - 2} \right] \cup \left[ { - 1,0} \right]} \right\}$
- Asíntotas:
El punto de corte de la asíntota con el eje real se calcularía así, aunque no tiene sentido
con una sola asíntota):
El ángulo que forma la asíntota con el eje real es de 180º, y el punto de corte entre
ambos es en 1.
- Puntos de ruptura:
Los puntos de ruptura son los valores reales de 's' que satisfacen:
$\dfrac{d}{{ds}}P(s) = 0$
$\dfrac{d}{{ds}}P(s) = s^2 + 4s + 2 = 0$
$s_1 = - 3,41$
$s_2 = - 0,58$
Los cortes con el eje imaginario serán aquellos valores imaginarios puros de 's'
pertenecientes al Lugar de las Raíces. Para calcularlos emplearemos el Criterio de Routh.
También debemos obtener la ecuación característica (EC).
Por tanto existe un corte con el eje imaginario cuando k=0 que se produce en el punto s=0
(ya se sabía puesto que es un polo en lazo abierto).
Finalmente, el Lugar de las Raíces del sistema nos queda aproximadamente de la siguiente
forma:
Podemos ver de forma aproximada el recorrido de cada polo a menudo que aumenta k desde
cero hasta infinito. Uno de ellos fuga a infinito por la asíntota de 180º y otro fuga al cero z=-
2.
El sistema en lazo abierto tiene un polo en el origen (p1), es decir, es de tipo 1. Por tanto el
error de tipo escalón será nulo, el error de tipo rampa será constante y el error de tipo
hipérbola será infinito
Resuelto. 2005, junio. Ejercicio 1 de teoría (3 puntos)
Ver
Revisiones
$m \ddot{d}+b(\dot{d}-
\dot{c})+k(d-c)=0$
Se desea obtener:
SOLUCIÓN:
b) Para obtener el diagrama de flujo de señal del sistema, debemos sacar los caminos
directos y los lazos.
Caminos directos:
Lazos:
Una vez obtenido los caminos directos y los lazos, realizamos el diagrama de flujo de
señal del sistema que se muestra a continuación:
Como podemos ver en el diagrama, las dos condiciones que ha de cumplir éste, se cumplen:
-Todos los caminos directos tienen en común con todos los lazos, al menos, un nodo.
$\left( \begin{array}{l}
\dot x _1 \\
\dot x _2 \\
\end{array} \right) = \left( {\begin{array}{*{20}c}
0 & 1 \\
{\dfrac{{ - k}}{m}} & {\dfrac{{ - b}}{m}} \\
\end{array}} \right)\left( \begin{array}{l}
x_1 \\
x_2 \\
\end{array} \right) + \left( \begin{array}{l}
0 \\
1 \\
\end{array} \right)c(t)$
Revisiones
θ(t)=−125d2θ(t)dt2−15dθ(t)dt+17α(t)−14δ(t) dα(t)dt=0.07dθ(t
donde θ(t)θ(t) es el ángulo con respecto a la horizontal, α(t)α(t) es el ángulo de ataque del
submarino, h(t)h(t) es su profundidad y δ(t)δ(t) es la inclinación de la superficie de control
(alerón de popa):
Se solicita:
4. Comente los resultados obtenidos. ¿Se puede decir que el sistema es estable? ¿Por qué?
dx(t)dt≃x(k+1)−x(k)Tdx(t)dt≃x(k+1)−x(k)T
Solución
Resuelto. 2010, septiembre. Ejercicio 1 (5 puntos)
Ver
El sistema de la figura está formado por dos depósitos interconectados donde qe(t)qe(t) es el
caudal entrante en cada depósito y, para cada uno de los
depósitos, h1(t)h1(t) y h2(t)h2(t) es la altura de líquido, q1(t)q1(t) y q2(t)q2(t) el caudal de
salida, y A1A1 y A2A2 el área transversal. La dinámica del sistema puede ser representada
mediante el siguiente conjunto de ecuaciones:
A1h˙1(t)=qe(t)−q1(t)A1h˙1(t)=qe(t)−q1(t)
A2h˙2(t)=qe(t)+q1(t)−q2(t)A2h˙2(t)=qe(t)+q1(t)−q2(t
)
q1(t)=h1(t)−h2(t)q1(t)=h1(t)−h2(t)
q2(t)=h2(t)q2(t)=h2(t)
A1=2m2A1=2m2
A2=1m2A2=1m2
Se solicita:
1. Identifique las variables de entrada, salida e internas del sistema, determine el número
de variables de estado necesarias para representar el modelo de estado del sistema y
obtenga un modelo de estado de tiempo continuo para el mismo.
2. Escoja uno de los siguientes periodos de muestreo para el sistema según cuál resulte
más adecuado. Justifique su elección.
a) T = 0.1s b) T = 0.3s c) T = 0.8s
Recuerde:
Antes de modelar, reducimos las ecuaciones del mismo, obteniendo 2 ecuaciones, debido a
que el sistema nos presenta 2 elementos almacenadores de 1er orden.
A1⋅h˙1(t)=qe(t)−h1(t)+h2(t)A1⋅h˙1(t)=qe(t)−h1(t)+h2(t)
A2⋅h˙2(t)=qe(t)+h1(t)−2h2(t)A2⋅h˙2(t)=qe(t)+h1(t)−2h2(t)
Ahora, hacemos la siguiente operación:
x1=h1(t)→dxdtX˙1=dh1(t)dt=h˙1(t)x1=h1(t)→dxdtX˙1=dh1(t)dt=h˙1(t)
x2=h2(t)→dxdtX˙2=dh2(t)dt=h˙2(t)x2=h2(t)→dxdtX˙2=dh2(t)dt=h˙2(t)
El sistema quedará entonces del siguiente modo:
X˙1(t)=−x1(t)A1+x2(t)A1+qe(t)A1X˙1(t)=−x1(t)A1+x2(t)A1+qe(t)A1
X˙2(t)=x1(t)A2−2x2(t)A2+qe(t)A2X˙2(t)=x1(t)A2−2x2(t)A2+qe(t)A2
Al ser un sistema lineal, se puede poner de forma matricial, siendo este el que usaremos
para realizar las simulaciones pertinentes.
[X˙1X˙2]=⎡⎣−1A11A21A1−2A2⎤⎦⋅[x1x2]+[1A11A2]⋅qe(t)[X˙1X˙2]=[−1A11A11A2−2A2]⋅[x1x2]+[1
A11A2]⋅qe(t)
y=[01]⋅[x1x2]+0⋅qe(t)y=[01]⋅[x1x2]+0⋅qe(t)
2.) Para determinar correctamente el periodo del modelo discreto, simularemos el modelo no
discreto en matlab, obteniendo así una función de la salida, en este caso, correspondiente a
q2(t), para lo cual emplearemos el siguiente código de matlab:
Simulando, obtenemos la siguiente gráfica, donde marcamos Tau, siendo su valor el valor
que toma la gráfica cuando ha llegado al 63% de su valor total:
Como se aprecia en la gráfica anterior, el valor de Tau, es 3.717, de modo que aplicamos la
siguiente fórmula para obtener el periodo:
10Tau≤1T≤20Tau10Tau≤1T≤20Tau
Al tener que estar T comprendido entre esos dos valores, elegimos el único de los 3 dados
por el problema que cumple la ecuación, de modo que T=0.3 (opción b) para todo lo que
resta de problema.
3.) Antes de poner el modelo discretizado, habrá que obtener la forma de discretizar el
sistema, para lo cual, utilizaremos la definición de derivada dada en el enunciado:
dx(t)dt≃x(k+1)−x(k)Tdx(t)dt≃x(k+1)−x(k)T
Aplicandola a un sistema general, para llegar a la solución particular de nuestro sistema,
siendo:
x→(k+1)−x→(k)T=A⋅x→(k)+B⋅u→(k)x→(k+1)−x→(k)T=A⋅x→(k)+B⋅u→(k)
x→(k+1)−x→(k)=T⋅A⋅x→(k)+T⋅B⋅u→(k)x→(k+1)−x→(k)=T⋅A⋅x→(k)+T⋅B⋅u→(k)
x→(k+1)=[T⋅A+I]⋅x→(k)+T⋅B⋅u→(k)x→(k+1)=[T⋅A+I]⋅x→(k)+T⋅B⋅u→(k)
Nuestro sistema discretizado tendría la siguiente forma:
[x1(k+1)x2(k+1)]=⎡⎣T∗⎡⎣−1A11A21A1−2A2⎤⎦+[1001]⎤⎦⋅[x1x2]+T∗[1A11A2]⋅qe(k)[x1(k+1)x2(k+
1)]=[T∗[−1A11A11A2−2A2]+[1001]]⋅[x1x2]+T∗[1A11A2]⋅qe(k)
[x1(k+1)x2(k+1)]=⎡⎣−TA1+1TA2TA1−2TA2+1⎤⎦⋅[x1x2]+[TA1TA2]⋅qe(k)[x1(k+1)x2(k+1)]=[−TA1
+1TA1TA2−2TA2+1]⋅[x1x2]+[TA1TA2]⋅qe(k)
[x1(k+1)x2(k+1)]=[0.850.30.150.4]⋅[x1x2]+[0.150.3]⋅qe(k)[x1(k+1)x2(k+1)]=[0.850.150.
30.4]⋅[x1x2]+[0.150.3]⋅qe(k)
Del mismo obtenemos salida del sistema, siendo para este caso:
y=[01]⋅[x1(k)x2(k)]+0⋅qe(k)y=[01]⋅[x1(k)x2(k)]+0⋅qe(k)
4.) Simularemos el sistema discretizado, siendo la salida a representar q2(t) discretizado,
siendo el código de matlab el siguiente:
5.) Cuando se le aplica un caudal de entrada, el sistema va llenando los depósitos hasta que
la salida consigue un caudal estable.
Al ser un sistema que trabaja en una región lineal, podemos asegurar la estabilidad hallando
los autovalores de la matriz de estados del sistema (matriz A), lo cual se realiza en matlab
gracias al siguiente código, el cual, irá al final del código anterior:
%Cálculo de estabilidad
Para el ejercicio, una vez simulado, hemos obtenido el siguiente resultado: “Sistema estable,
con autovalores reales”, ya que los autovalores de la matriz son -0.2192 y
-0.2808, lo cual nos dice también de forma teórica que la estabilidad del sistema está
garantizada.
Nota: De encontrar algún error en los cálculos, desarrollo, o simulaciones, puede corregirlos
directamente (esto es un wiki) o mandar un correo a vfernandez.fernandez AT alu.uhu.es
para corregirlo lo mas rápido posible.
Resuelto. 2009, diciembre. Ejercicio 3
Ver
Revisiones
a) Dibuje la región del plano S donde deberán situarse las raíces dominantes para que el
sistema
posea un sobreimpulso máximo del 10% y un tiempo de asentamiento menor de 8
segundos.
b) Calcule la condición que debe satisfacer el controlador para que el error de estado
estacionario
de posición sea inferior al 6%.
c) Escoja un valor de K para que se cumplan las especificaciones del diseño dadas en los
apartados anteriores. Explique detalladamente el proceso de diseño seguido.
d) Simule el comportamiento del sistema y comente los resultados de la simulación.
e) ¿Qué sucedería si el requisito de error de posición fuese inferior al 1%? ¿Qué solución
adoptaría? Apoye su argumentación mediante los cálculos y simulaciones que considere
necesarios.
a)El plano S para un sobreimpulso máximo del 10% y un tiempo de asentamiento menor de
8 segundos, es el resultante.
Mp<10%=0.1Mp<10%=0.1
Mp=e−δπ1−δ2−−−−−√Mp=e−δπ1−δ2
δ=(LnMp)2π2+(LnMp)2−−−−−−−−−−−−√⇒δ≥0.5911δ=(LnMp)2π2+(LnMp)2⇒δ≥0.5911
ts<8s.ts<8s.
cosβ=δcosβ=δ
β≤arcos(0.5911)→β≤53.73ºβ≤arcos(0.5911)→β≤53.73º
ts≈4δwn<8s→δwn>48,δwn>0.5ts≈4δwn<8s→δwn>48,δwn>0.5
Para que se cumpla las especificaciones de sobreimpulso y tiempo de asentamiento dado los
polos deben de estar dentro del plano S dibujado.
E(s)= R(s)-B(s)
Y(s)= E(s)*C(s)*G(s)
E(s)=R(s)11+H(s)∗C(s)∗G(s)E(s)=R(s)11+H(s)∗C(s)∗G(s)
E(s)=R(s)(0.4s+1)(3s+1)(s+0.1)(0.4s+1)(3s+1)(s+0.1)+k(s+0.5)E(s)=R(s)(0.4s+1)(3s+1)
(s+0.1)(0.4s+1)(3s+1)(s+0.1)+k(s+0.5)
x(∞)=Lims→0s1s(0.4s+1)(3s+1)(s+0.1)(0.4s+1)(3s+1)(s+0.1)+k(s+0.5)x(∞)=Lims→0s1
s(0.4s+1)(3s+1)(s+0.1)(0.4s+1)(3s+1)(s+0.1)+k(s+0.5)
0.10.1+0.5K<0.06;K>3,130.10.1+0.5K<0.06;K>3,13
Para que el error de posición del sistema sea inferior a 6% K debe de ser mayor a 3.13
c) Para que se cumpla las especificaciones la K debe de estar dentro del plano S descrito
anteriormente y ser mayor de 3.13, por ello usare una K de 3.3
d) la simulación es la siguiente
%K=3.2;
H=tf([1],[0.4 1])
Gba=series(G,H);
rlocus(Gba)
sgrid
K=rlocfind(Gba)
figure
Gbc=feedback(K*G,H)
step(Gbc)
figure
[y,t]=step(Gbc);
plot(t,y)
hold on
X=ones(1,length(t));
plot(t,X,'k--')
hold off
error_posicion=(1-y(end))*100
En el grafico anterior se observa que como hemos seleccionado una ganancia K de 3.3
aproximadamente y que esta dentro del plano S dibujado anteriormente. Pero se observa
que de algún modo solo cumplimos las especificaciones de error del 6% y el tiempo de
asentamiento ya que es sobre impulso obtenido es del 11.9%, un 1.9% mas de lo deseado,
en definitiva esta ganancia aproximadamente será la mas deseada por nosotros aunque
asumamos ese 1.9% mas de sobre impulso. Ya que veremos que para un gran amplio
margen de las ganancias, el tiempo de asentamiento se cumple, pero para el caso del
sobreimpulso y del error de posición si uno mejor el otro empeora.
Para k>3.3
Se observa como que el error de posición disminuye a mayor ganancia de K, pero el sobre
impulso aumenta cada vez mas cuanto mas no alejemos del eje real.
Para que el sobreimpulso sea menor del 10% tenemos que desplazarnos hacia la derecha en
el eje real disminuyendo la ganancia
Para k<3.13
Para esta zona a la derecha de K=3.13 el sobreimpulso disminuye pero el error aumenta es
de un 7.33% e ira aumentado cuanto menor sea la ganancia.
x(∞)=Lims→0s1s(0.4s+1)(3s+1)(s+0.1)(0.4s+1)(3s+1)(s+0.1)+k(s+0.5)x(∞)=Lims→0s1
s(0.4s+1)(3s+1)(s+0.1)(0.4s+1)(3s+1)(s+0.1)+k(s+0.5)
0.10.1+0.5K<0.01;K>19.80.10.1+0.5K<0.01;K>19.8
Para K=20
%K=3.2;
H=tf([1],[0.4 1])
Gba=series(G,H);
rlocus(Gba)
sgrid
K=rlocfind(Gba)
figure
Gbc=feedback(K*G,H)
step(Gbc)
figure
[y,t]=step(Gbc);
plot(t,y)
hold on
X=ones(1,length(t));
plot(t,X,'k--')
hold off
error_posicion=(1-y(end))*100
%con k=20
K=20
figure
Gbc=feedback(K*G,H)
step(Gbc)
figure
[y,t]=step(Gbc);
plot(t,y)
hold on
X=ones(1,length(t));
plot(t,X,'k--')
hold off
error_posicion=(1-y(end))*
Se puede observar que el sobreimpulso es muy elevado de un 93.3% el sistema hasta llegar
a la posición deseada va estar oscilado mucho. Este sobreimpulso no es aconsejable asumir
por algunas razones como el daño a la electrónica asociada o por el gasto energético
elevado, aunque todo depende del sistema a controlar.
Se puede observar que el error al 1% si se cumple como muestra la siguiente grafica, ya que
ilustra lo próximo a la entrada escalón, tan solo cometiendo un error del 0.95%.