l03-guia laboratorio 3
TRANSCRIPT
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
DEPARTAMENTO DE INGENIERÍA SECCION INGENIERIA MECANICA
AREA DE MECATRONICA
GUIA DE LABORATORIO DE CONTROL AUTOMATICO
ANALISIS DE SISTEMAS DE CONTROL EN EL
DOMINIO DEL TIEMPO Y LA FRECUENCIA
Lima, 2012
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 2
Respuesta en el Dominio del Tiempo
1 Objetivos
• Determinar y Analizar la respuesta en el dominio del tiempo de los sistemas de
orden primero y segundo a entradas de tipo impulso, escalón y rampa.
• Determinar y Analizar el Error en Estado Estacionario de un sistema de control con
realimentación unitaria.
2 Introducción
En la práctica, la señal de entrada para un sistema de control no se conoce con
anticipación, pero es de naturaleza aleatoria, y la entrada instantánea no puede
expresarse de forma analítica. Solo en algunos casos especiales se conoce con
anticipación la señal de entrada y se puede expresar de forma analítica o mediante
curvas.
En el análisis y diseño de sistemas de control, se debe tener una base de
comparación del comportamiento de diversos sistemas de control. Esta base se
configura especificando las señales de entrada de prueba particulares y comparando
las respuestas de varios sistemas a las señales de entrada.
El uso de señales de prueba se justifica porque existe una correlación entre las características de respuesta de un sistema para una señal de entrada de prueba común y
la capacidad del sistema de manejar las señales de entrada reales.
2.1 Señales de Prueba Típicas
Las señales de prueba que se usan regularmente son funciones escalón,
rampa, parábola, impulso, etc. Con estas señales de prueba, es posible realizar
con facilidad análisis matemáticos y experimentales de sistemas de control, ya
que las señales son funciones del tiempo muy simples.
La forma de la entrada a la que el sistema estará sujeto con mayor
frecuencia en una operación normal determina cual de las señales de entrada
típicas se debe usar para analizar las características del sistema. Si las entradas de
un sistema son funciones del tiempo que cambian de forma gradual, una función rampa seria una buena señal de prueba. Así mismo, si un sistema esta sujeto a
entradas de choque, una función impulso será la mejor. Una vez diseñado un sistema de control con base en las señales de prueba, por lo general el
comportamiento del sistema en respuesta a las entradas reales es satisfactorio. El uso de tales señales de prueba permite comparar el comportamiento de todos los
sistemas sobre la misma base.
2.2 Respuesta Transitoria y Respuesta en estado Estacionario
La respuesta en el tiempo de un sistema de control consta de dos partes: la
respuesta transitoria y la respuesta en estado estacionario. La respuesta transitoria
se refiere a la que va del estado inicial al estado final. Por respuesta en estado
estacionario se entiende la manera como se comporta la salida del sistema
conforme t tiende a infinito. Por tanto, la respuesta del sistema c(t) se puede
escribir como:
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 3
)()( tcctc sstr +=
donde el primer termino del miembro derecho de la ecuación es la respuesta
transitoria y el segundo termino es la respuesta en el estado estacionario.
2.3 Error en Estado Estacionario
Los errores en un sistema de control se pueden atribuir a muchos factores. Los cambios en la entrada de referencia provocan errores inevitables durante los
periodos transitorios y también pueden producir errores en estado estacionario. Las imperfecciones en los componentes del sistema, tales como la fricción
estática, juego o bamboleo y la deriva del amplificador, al igual que el envejecimiento o el deterioro, provocan errores en el estado uniforme.
3 Sistemas de Primer Orden
Un sistema de primer orden se puede representar de la siguiente manera:
La relación entrada-salida se obtiene mediante:
1
1
)(
)(
+=
TssR
sC
3.1 Respuesta al Escalón Unitario
Si la entrada es de tipo escalón unitario, al aplicarle la transformada de Laplace
tendremos R(s) = 1/s, entonces la salida del sistema se describe como:
sTs
sC1
1
1)(
+=
Aplicando transformada inversa de Laplace se tiene:
Tt
etc−
−= 1)( , para t ≥ 0
MATLAB
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 4
T = 1;
t = 0:0.1:6;
num = [1];
den = [T 1];
step(num,den,t);
grid;
Step Response
Time (sec)
Am
plit
ud
e
0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
3.2 Respuesta a la Rampa Unitaria
Para el caso de tener como entrada una rampa unitaria, al aplicarle la transformada
de Laplace, la salida seria:
{
)(
2
1
1
1)(
sR
sTssC
+=
Separando en fracciones parciales y aplicando transformada inversa de Laplace se obtiene la expresión en el tiempo:
Tt
TeTttc−
+−=)( , para t ≥ 0
MATLAB
T = 1;
t = 0:0.1:6;
num = [1];
den = [T 1];
r = t;
c = lsim(num,den,r,t);
plot(t,r,'-',t,c,'o');
grid;
0 1 2 3 4 5 60
1
2
3
4
5
6
PREGUNTAS:
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 5
3.3 Respuesta al Impulso Unitario
Para una entrada impulso unitario R(s) = 1, la salida se puede obtener como
11
1)( ⋅
+=
TssC
Aplicando transformada inversa de Laplace se tiene la expresión en el tiempo de la
salida
Tt
eT
tc−
=1
)( , para t ≥ 0
MATLAB
T = 1;
num = [1];
den = [T 1];
impulse(num,den,6);
grid;
0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Impulse Response
Time (sec)
Am
plit
ude
4 Sistemas de Segundo Orden
El diagrama de bloques de un sistema de Segundo Orden Estándar es como el que se
muestra a continuación.
)2(
2
n
n
ss ζω
ω
+
Del diagrama anterior se tiene la siguiente relación entra la entrada y la salida:
22
2
2)(
)(
nn
n
sssR
sC
ωζω
ω
++=
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 6
4.1 Respuesta al Escalón Unitario
El comportamiento dinámico de un sistema de segundo orden ante una entrada de
tipo escalón unitario se puede expresar en función de los parámetros ζ y ωn.
a) Caso Subamortiguado ( 10 << ζ ): Para este caso, los polos en lazo cerrado son
complejos conjugados y se encuentran en el semiplano izquierdo del plano s.
Entonces la relación C(s)/R(s) se escribe así:
))(()(
)(2
dndn
n
jsjssR
sC
ωζωωζω
ω
−+++=
Donde 21 ζωω −= nd (Frecuencia Natural Amortiguada). Para una entrada escalón
unitario R(s) = 1/s se tendrá la siguiente respuesta en el tiempo:
−+
−−= −
−
ζ
ζω
ζ
ζω 2
1
2
1tan
11)( tsen
etc d
tn
, para t ≥ 0
MATLAB t = 0:.2:10;
zeta = 0.4;
wn = 1;
wd = wn*sqrt(1-zeta^2);
pa = -zeta*wn - wd*i;
pb = -zeta*wn + wd*i;
num = [0 0 1];
den = conv([1 -pa],[1 -pb]);
step(num,den,t); 0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ude
b) Caso Críticamente Amortiguado ( 1=ζ ): Si los polos de C(s)/R(s) son casi
iguales, el sistema se aproxima mediante uno críticamente amortiguado. Para R(s) = 1/s, C(s) será de la forma:
( ) sssC
n
n 1)(
2
2
ω
ω
+=
Aplicando transformada inversa de Laplace se tiene la expresión:
)1(1)( tetc n
tn ωω +−= −
MATLAB
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 7
t = 0:.2:10;
zeta = 1;
wn = 1;
wd = wn*sqrt(1-zeta^2);
pa = -zeta*wn - wd*i;
pb = -zeta*wn + wd*i;
num = [0 0 1];
den = conv([1 -pa],[1 -pb]);
step(num,den,t);
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1Step Response
Time (sec)
Am
plit
ud
e
c) Caso Sobreamortiguado ( 1>ζ ) Para este caso, los polos de C(s)/R(s) son
reales negativos y diferentes. Con R(s) = 1/s, C(s) tendrá la forma:
ssssC
nnnn
n 1
)1)(1()(
22
2
⋅−−+−++
=ζωζωζωζω
ω
Aplicando transformada inversa de Laplace se tiene:
−−−
−+−+=
−−−−+−
n
t
n
t
nnn ee
tcωζζωζζζ
ω ωζζωζζ
)1()1(121)(
2
)1(
2
)1(
2
22
MATLAB t = 0:.2:10;
zeta = 1.2;
wn = 1;
wd = wn*sqrt(1-zeta^2);
pa = -zeta*wn - wd*i;
pb = -zeta*wn + wd*i;
num = [0 0 1];
den = conv([1 -pa],[1 -pb]);
step(num,den,t);
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1Step Response
Time (sec)
Am
plit
ude
4.2 Especificaciones de Respuesta Transitoria
Con frecuencia, las características de desempeño de un sistema de control se
especifican en términos de la respuesta transitoria para una entrada escalón unitario, puesto
que esta es fácil de generar y es suficientemente drástica.
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 8
La respuesta transitoria de un sistema para una entrada de tipo escalón unitario depende
de las condiciones iniciales. Por conveniencia al comparar respuestas transitorias de varios sistemas, es una práctica común usar la condición inicial estándar de que el sistema en
reposo al inicio. De este modo, las características de respuesta se comparan con facilidad.
Curva de Respuesta al escalón unitario con los parámetros td, tr, tp, Mp y ts
a) Tiempo de Retardo (td): Tiempo requerido para que la respuesta alcance el 50%
del valor final.
b) Tiempo de Subida (tr): Tiempo requerido para que la respuesta pase del 10% al
90%, del 5% al 95% o del 0% al 100% de su valor final.
MATLAB
num = [0 0 10];
den = [1 2 10];
t = 0:.01:6;
[y]=step(num,den,t); %datos
finalvalue=polyval(num,0)/polyval(den,0)
%Calculo de Tiempo de Subida
n=1;
while y(n)<0.1*finalvalue,n=n+1; end
m=1;
while y(m)<0.9*finalvalue,m=m+1; end
risetime=t(m)-t(n)
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 9
c) Tiempo Pico (tp): Tiempo requerido para que la respuesta alcance el primer pico de
sobreimpulso.
MATLAB num = [0 0 10];
den = [1 2 10];
t = 0:.01:6;
[y]=step(num,den,t); %datos
[Y,k]=max(y);
timetopeak=t(k)
d) Sobreimpulso (Mp): Máximo valor pico de la curva de respuesta, medido a partir
de la unidad. Si el valor final en estado estacionario de la respuesta es diferente de la
unidad, es frecuente utilizar el porcentaje de sobreimpulso máximo (PO%). El cual se define de la siguiente manera:
%100)(
)()(% ×
∞
∞−=
c
ctcPO
p
MATLAB num = [0 0 10];
den = [1 2 10];
t = 0:.01:6;
finalvalue=polyval(num,0)/polyval(den,0)
[y]=step(num,den,t); %datos
%Calculo del SobreImpulso Porcentual (PO%)
[Y,k]=max(y);
percentovreshoot=100*(Y-finalvalue)/finalvalue
e) Tiempo de Establecimiento (ts): Tiempo requerido para que la respuesta
alcance un rango alrededor del valor final del tamaño especificado por el porcentaje
absoluto del valor final (por lo general, de 2% a 5%).
MATLAB num = [0 0 10];
den = [1 2 10];
t = 0:.01:6;
finalvalue=polyval(num,0)/polyval(den,0)
[y]=step(num,den,t); %datos
step(num,den); %grafica
%Calculo Tiempo Establecimiento
l=length(t);
while(y(l)>0.98*finalvalue)&&(y(l)<1.02*finalvalue)
l=l-1;
end
settingtime = t(l)
MATLAB
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 10
num = [0 0 10];
den = [1 2 10];
t = 0:.01:6;
step(num,den,t);
Step Response
Time (sec)
Am
plit
ude
0 1 2 3 4 5 60
0.2
0.4
0.6
0.8
1
1.2
1.4
System: sys
Rise Time (sec): 0.425
System: sys
Peak amplitude: 1.35
Overshoot (%): 35.1
At time (sec): 1.05
System: sys
Settling Time (sec): 3.54
System: sys
Final Value: 1
5 Error en Estado Estacionario
Considérese el siguiente sistema de control
La relación entre la entrada y la salida o función transferencia seria la siguiente
)(1
)(
)(
)(
sG
sG
sR
sC
+=
La función transferencia entre la señal de error e(t) y la señal de salida r(t) es:
)(1
1
)(
)(
sGsR
sE
+=
El error en estado estacionario será:
)(1
)(lim)(lim)(lim
00 sG
sRsssEtee
sstss
+===
→→∞→
RESOLVER
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 11
¿Cómo será la curva de error en estado estacionario para 166.5
16)(
2 ++=
sssG , al
aplicarle un escalón unitario?
¿Cómo será la curva de error en estado estacionario para 166.5
16)(
2 ++=
sssG , al
aplicarle una rampa unitaria?
¿Cómo será la curva de error en estado estacionario para 166.5
16)(
2 ++=
sssG , al
aplicarle una parábola unitaria?
ANALISIS DE SISTEMAS DE CONTROL EN EL DOMINIO DE LA FRECUENCIA
Con el análisis en el dominio de la frecuencia, se estudia la respuesta en estado
estacionario de un sistema ante una entrada sinusoidal. En los métodos de respuesta en frecuencia variamos la frecuencia de la señal de entrada en un rango y se analizan la
respuesta resultante.
El objetivo principal del análisis de sistemas de control con retroalimentación es el poder determinar las siguientes características del sistema:
1. El grado o alcance de la estabilidad del sistema.
2. La respuesta en estado estable.
3. La respuesta en estado transitorio.
Existen cuatro métodos gráficos para el análisis de sistemas de control, los cuales son más
simples y directos que los métodos en el dominio del tiempo para modelos lineales
prácticos de sistemas de control con retroalimentación. Estos métodos son:
1. El método del lugar de las raíces.
2. Representaciones de diagramas de Bode.
3. Diagramas de Nyquist.
4. Diagramas polares.
Una ventaja del método de la respuesta en frecuencia es la simplicidad ya que se pueden desarrollar de forma precisa mediante el empleo de generadores de señales sinusoidales y
de equipos de medida confiables, así mismo, permite diseñar un sistema en el cual los efectos de los disturbios no deseados sean despreciables, y que el análisis y diseño se
puedan extender a algunos sistemas de control no lineales.
Las funciones de Matlab relacionadas con el análisis en el dominio de la frecuencia son: rlocus : Calcula y grafica el lugar de raíces de un sistema dado.
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 12
rlocfind : Encuentra la ganancia del lugar de raíces para un grupo de polos dados.
bode : Grafica las curvas de magnitud y fase de Bode para un sistema dado. margin : Muestra los márgenes de fase y ganancia en un diagrama de bode para un
sistema dado. nyquist : Grafica la respuesta en frecuencia de Nyquist para un sistema dado.
polar Muestra el diagrama polar de un sistema dado.
PROCEDIMIENTO
1. Diagramas de Bode.-
Esta función nos permite obtener la respuesta en frecuencia de Bode para un
sistema.
Sea el sistema representado por la siguiente función de transferencia
10257
40)(
23 +++=
ssssG
Programa en Matlab
num =[40];
den = [1 7 25 10];
sys = tf(num,den);
bode(num,den);
grid on
title(‘Diagrama de Bode’)
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 13
Podemos obtener directamente el margen de fase y ganancia cambiando el comando bode
por el de margin.
Programa en Matlab num =[40];
den = [1 7 25 10];
sys = tf(num,den);
margin(num,den);
Si se desea dibujar el diagrama de bode desde 0.01 rad/seg hasta 1000 rad/seg introduzca la siguiente orden:
ω = logspace(-2.3,100)
Este comando genera 100 puntos espaciados logarítmicamente por igual entre 0.01 rad/seg
y 100rad/seg.(Obsérvese que el vector ω especifica las frecuencias en radianes por
segundo en las cuales se calculara la respuesta en frecuencia).
Si se utiliza el comando
bode (sys, ω)
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 14
el rango de frecuencia será especificado por el usuario, mientras que el rango de la magnitud y el ángulo de fase se determinara automáticamente.
[mag,fase, ω]=bode(num, den, ω)
Programa en Matlab num =[40];
den = [1 7 25 10];
sys = tf(num,den);
ω = logspace(-2,3,100)
bode (sys, ω)
grid on
2. Diagramas de Nyquist:
Considere la siguiente función de transferencia en lazo abierto
18.1
1)(
2 ++=
sssG
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 15
Programa en Matlab
num =1;
den = [1 1.8 1];
sys=tf(num,den)
nyquist(sys)
grid on
Si se requiere dibujar un diagrama de Nyquist manualmente, los rangos deben de ser por
ejemplo desde –2 hasta 2 en el eje real y desde –2 hasta2 en el imaginario, introduzca la
siguiente orden al matlab.
v = [-2 2 –2 2];
axis(v);
Programa en Matlab num =1;
den = [1 1.8 1];
sys=tf(num,den)
nyquist(sys)
grid on
v = [-2 2 –2 2];
axis(v);
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 16
3. Lugar de Raíces.-
Considerando el sistema de control mostrado
La función de transferencia en lazo abierto es.
166.5
16)(
2 ++=
sssG
Programa en Matlab num =[1 0 1];
den = [1 2 0];
sys=tf(num,den)
rlocus(sys)
grid on
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 17
Para poder acomodar o aumentar la extensión de la gráfica.
Programa en Matlab
num =[1 0 1];
den = [1 2 0];
sys=tf(num,den)
rlocus(sys)
grid on
v=[-2 1 -2.5 2.5];
axis(v)
4. Ejemplos de aplicación.-
Esta sección se discutirá el diseño de sistemas en lazo cerrado basado en la aproximación
del diagrama de Bode. Esta aproximación para el diseño de control es particularmente por
las siguientes razones:
• En el diagrama de Bode, la asíntota de baja frecuencia de la curva de magnitud
indica una de las constantes de error estática. • Las especificaciones de la respuesta transitoria se pueden traducir a las de respuesta
en frecuencia en términos de margen de fase, margen de ganancia, ancho de banda
y así sucesivamente. Estas especificaciones se pueden manejar fácilmente en el
diagrama de Bode. En particular los márgenes de fase y de ganancia se pueden leer
directamente del diagrama de bode.
• El diseño de un compensador o controlador para satisfacer las especificaciones
dadas (en términos de margen de fase y de ganancia) se puede llevar a cabo en el
diagrama de bode de una manera simple y directa.
Considere el sistema de control mostrado a continuación. Determinar el valor de la
ganancia K para que el margen de fase sea de 60°
La función de transferencia de lazo en lazo abierto es:
sss
sK
ssx
s
sKsG
5.05.1
)110(10
5.0
1.0)(
232 ++
+=
++
+=
PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU SECCION INGENIERIA MECANICA
LABORATORIO DE CONTROL AUTOMATICO 18
Primero dibujar el diagrama de bode G(s) cuando K=1, donde se puede observar que la
fase de 60° ocurre en la frecuencia ω=1.15 rad/seg. La magnitud de G(jω) a esta
frecuencia es de 14.4 dB. Por lo tanto la ganancia debe de satisfacer la siguiente ecuación:
20logK =-14.4dB.
K=0.1905
Programa en Matlab num =[10 1];
den = [1 1.5 0.5 0];
sys=tf(num,den)
margin(sys)