Analisis a Respuesta Transitoria

Capítulo 5: Análisis de Respuesta Transitoria Capítulo 5. ANÁLISIS DE RESPUESTA TRANSITORIA. - 119 - Sistemas de Con

Views 148 Downloads 0 File size 186KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Capítulo 5: Análisis de Respuesta Transitoria

Capítulo 5. ANÁLISIS DE RESPUESTA TRANSITORIA.

- 119 -

Sistemas de Control en Tiempo Discreto

5.1 INTRODUCCIÓN. En este capítulo estudiaremos las carácterísticas de la respuesta transitoria de los sistemas de control en lazo cerrado. La respuesta transitoria corresponde a aquella parte de la respuesta debida a los ceros del sistema en lazo cerrado, y la respuesta en estado permanente corresponde a aquella parte de la respuesta debida a los polos de la función de entrada o excitación. Con frecuencia, los sistemas de control en tiempo discreto son analizados mediante entradas "estándar", como son entradas escalón, entradas rampa o entradas senoidales. Esto es debido a que la respuesta del sistema a una entrada arbitraria puede ser estimada a partir de su respuesta correspondiente a dichas entradas estándar. En este capítulo, consideraremos la respuesta del sistema de control en tiempo discreto a entradas en el dominio del tiempo, como son entradas escalón. [REF. 2].

5.2 ESPECIFICACIONES DE LA RESPUESTA TRANSITORIA. En muchos casos prácticos, las características de diseño deseadas de los sistemas de control, sean en tiempo continuo o en tiempo discreto, se especifican en términos de cantidades en el dominio del tiempo. Esto ocurre debido a que los sistemas con almacenamiento de energía no pueden responder de forma instantánea, y siempre que estén sujetos a entradas o perturbaciones mostrarán algunas respuestas transitorias. Con frecuencia, las características de diseño de un sistema de control están especificadas en términos de su respuesta transitoria a una entrada escalón unitario, ya que dicha entrada es fácil de generar, y sirve para proporcionar información útil de las características de la respuesta transitoria. [REF. 2].

- 120 -

Capítulo 5: Análisis de Respuesta Transitoria

La respuesta transitoria de un sistema a una entrada escalón unitario depende de las condiciones iniciales. Por comodidad, al comparar respuestas transitorias de varios sistemas, es frecuente utilizar la condición inicial estándar: el sistema está inicialmente en reposo, y la salida y todas sus derivadas con respecto al tiempo son cero. Las características de respuesta pueden entonces compararse sin dificultad. La respuesta transitoria de un sistema de control, donde la señal de salida es en tiempo continuo, a menudo muestra oscilaciones amortiguadas antes de llegar al estado permanente. Igual que en el caso de los sistemas de control en tiempo continuo, la respuesta transitoria de un sistema de control digital puede caracterizarse no sólo por el factor de amortiguamiento relativo y la frecuencia natural amortiguada [REF. 1], sino por los parámetros que se muestran a continuación. Primero definimos expr, que es la función con la que vamos a trabajar ahora. NOTA del autor: Aunque mostramos la expresión en función de k T , expr sólo está en función de k. A los procedimientos que describiremos a continuación, se les pasará como argumentos dicha expresión y su período de muestreo correspondiente. En este caso concreto, T = 0.1. También se le pasará el parámetro max, que es el número máximo de puntos que tiene la secuencia.

> restart: Digits:=5: f := (.13157e-1*z^3+1.1407*z^2+.13822*z-.20587) / ((z-1)*(z^2+0.3505*z-0.2642)): expr := simplify(evalf(invztrans(f, z, k))): subs(k=k*T, expr); −.77922 charfcn0( k T ) + .00022383 e + .99992 + .20778 ( -1. )

( −1.0002 k T )

( 1. + k T ) ( −.33088 k T ) e

- 121 -

Sistemas de Control en Tiempo Discreto

Y ahora la pintamos, teniendo en cuenta el período de muestreo:

> plot([seq([k/10, subs(k=k/10,expr)], k=0..20)], style=point, xtickmarks=10);

5.2.1 Tiempo de retardo td El tiempo de retardo es el tiempo que tarda la respuesta en alcanzar o superar por primera vez un valor mayor o igual que la mitad del valor final. [REF. 1]. Ejemplo: Se define el intervalo de retardo kd como el índice del primer elemento de la secuencia de salida con valor mayor o igual a la mitad del valor final de ésta. En los sistemas discretos de control la salida es una respuesta temporal, por lo que el tiempo de retardo t d se define como:

td = k d T

El procedimiento kd recibe como parámetro la secuencia de puntos de la salida y calcula el intevalo de retardo kd . El procedimiento td calcula el tiempo de retardo correspondiente. Sus parámetros, como ya se ha indicado, son expr, el período de muestreo T y el número max de puntos de la secuencia.

- 122 -

Capítulo 5: Análisis de Respuesta Transitoria

> kd := proc(sec) local i, f, mitad; i

:= 1:

f

:= nops(sec):

mitad := sec[f, 2]/2; while (sec[i,2] < mitad) do i := i+1: od: i-1: end:

> td := proc(inv, T, max) local sec, resp, i, invf; invf := evalf(inv): sec := []: for i from 0 to max do sec := [op(sec), [i, eval(subs(k=i, invf))]]: od: resp := kd(sec); printf("\nTiempo de Retardo: td = %.3g\n", resp*T); end:

> td(expr, 1/10, 20); Tiempo de Retardo: td = .1

En el gráfico de la función (mostrado antes) puede comprobarse visualmente este resultado.

- 123 -

Sistemas de Control en Tiempo Discreto

5.2.2 Tiempo de crecimiento o subida t r El tiempo de crecimiento en sistemas continuos es el tiempo requerido para que la respuesta crezca del 10% al 90%, del 5% al 95%, o del 0% al 100% de su valor final, según la situación. Para sistemas de segundo orden subamortiguados, por lo general se utiliza el tiempo de crecimiento de 0% a 100%. Para sistemas sobreamortiguados se suele utilizar el tiempo de crecimiento de 10% a 90%. (Ver amortiguamiento). [REF. 1]. Se define el intervalo de subida k r como el índice del primer elemento de la secuencia de salida con valor mayor o igual al valor final de ésta. En los sistemas discretos de control la salida es una respuesta temporal, por lo que el tiempo de crecimiento o subida t r se define como [REF. 3]:

tr = k r T Ejemplo: Se implementan los procedimientos kr y tr, que dada la secuencia de puntos de una expresión, y un período de muestreo T, calculan el intervalo y el tiempo de subida.

> kr := proc(sec)

local i, f, vfinal;

i := 1: f := nops(sec): vfinal := sec[f, 2]; while (sec[i,2] < vfinal) do

i:=i+1:

od: i-1: end:

- 124 -

Capítulo 5: Análisis de Respuesta Transitoria

> tr := proc(inv, T, max) local resp, i, sec, invf; invf := evalf(inv): sec := []: for i from 0 to max do sec := [op(sec), [i, eval(subs(k=i, invf))]]: od: resp := kr(sec): printf("\nTiempo de Crecimiento: tr = %.3g\n", resp*T); end: > tr(expr, 1/10, 20); Tiempo de Crecimiento: tr = .1

En el gráfico de la función puede comprobarse visualmente este resultado. 5.2.3 Tiempo de pico t p El tiempo de pico es el tiempo requerido por la respuesta para alcanzar el primer pico del sobreimpulso. [REF. 1]. Se define el intervalo de pico k p como el índice correspondiente al elemento de la secuencia de salida de valor máximo. [REF. 3]. Como se señaló anteriormente, teniendo en cuenta la particularidad en los sistemas discretos de control, se puede definir el tiempo de pico como el instante en que el valor de la secuencia es máximo:

tp = k p T

- 125 -

Sistemas de Control en Tiempo Discreto

Ejemplo: Se implementa el procedimiento tp, que dada la secuencia de puntos de una expresión, y un período de muestreo T, calcula el tiempo de pico. Para ello nos ayudamos del procedimiento kp, que calcula el intervalo de pico.

> kp := proc(sec) local i, max, ind, f; f

:= nops(sec):

max := sec[1,2]: ind

:= 1:

for i from 1 to f do if (sec[i,2] > max) then max := sec[i,2]: ind := i: fi: od: ind-1: end:

> tp := proc(inv, T, max) local resp, i, sec, invf; invf := evalf(inv): sec

:= []:

for i from 0 to max do sec := [op(sec), [i, eval(subs(k=i, invf))]]: od:

(continúa)

- 126 -

Capítulo 5: Análisis de Respuesta Transitoria

resp := kp(sec): printf("\nTiempo de Pico: tp = %.3g\n", resp*T); printf("

Valor maximo = %.3g\n", sec[resp+1, 2]);

end:

> tp(expr, 0.1, 20); Tiempo de Pico: tp = .1 Valor maximo = 1.149

En el dibujo se aprecia que el primer pico se obtiene en t = k T con k = 1 y T =

1 10

5.2.4 Sobreimpulso máximo Mp El máximo sobreimpulso es el valor pico máximo de la curva de respuesta, medido a partir de la unidad. Si el valor final en estado permanente (estabilizado) de la respuesta difiere de la unidad, entonces es común utilizar el sobreimpulso porcentual máximo, definido por la relación:

Sobreimpulso máximo porcentual =

x( tp ) − x( ∞ ) x( ∞ )

100%

Siendo x( k T ) la función de salida o respuesta. El valor del máximo sobreimpulso (en porcentaje), indica en forma directa la estabilidad relativa del sistema. [REF. 1].

- 127 -

Sistemas de Control en Tiempo Discreto

También se define el máximo sobreimpulso como el valor del elemento de la secuencia de salida x( k T ) , de índice k p , [REF. 3], por lo que entonces se define el máximo sobreimpulso como un valor relativo en tanto por ciento del valor final:

Mp =

x( kp ) − x( ∞ ) x( ∞ )

100%

Ejemplo: Se implementa el procedimiento Mp, que dada una expresión, y un período de muestreo T, calcula el sobreimpulso máximo.

> Mp := proc(inv, T, max) local x1, x2, resp, f, i, sec, invf; invf

:= evalf(inv):

sec

:= []:

for i from 0 to max do sec := [op(sec), [i, eval(subs(k=i, invf))]]: od: f

:= nops(sec):

x1

:= sec[kp(sec)+1, 2]:

x2

:= sec[f, 2]:

resp

:= (x1-x2)*100/x2:

printf("\nSobreimpulso Máximo Porcentual:"); printf(" Mp = %.3f%c\n", resp, "%"); printf(" Sube un %.3f%c sobre el ", resp, "%"); printf("valor final %.3g\n", x2); printf(" Se puede apreciar en el dibujo.\n"); end:

- 128 -

Capítulo 5: Análisis de Respuesta Transitoria

> Mp(expr, 0.1, 20); Sobreimpulso Máximo Porcentual: Mp = 14.961% Sube un 14.961% sobre el valor final 1 Se puede apreciar en el dibujo.

5.2.5 Tiempo de establecimiento t s El tiempo de establecimiento es el tiempo requerido por la curva de respuesta para alcanzar y mantenerse dentro de determinado rango alrededor del valor final de un tamaño especificado, en función de un porcentaje absoluto de valor final, por lo general 2% ó 5%. El tiempo de establecimiento está relacionado con la constante de tiempo de mayor valor en el sistema de control. El criterio para la fijación del porcentaje de error a usar depende de los objetivos de diseño del sistema en cuestión. [REF. 1]. En nuestro ejemplo pasamos el porcentaje como parámetro del procedimiento, debiendo estar entre 2% y 5%. Se define el intervalo de establecimiento k s como el índice del primer elemento de la secuencia de salida a partir del cual ésta se mantiene en la banda del más/menos p% del valor final [REF. 3], siendo p el parámetro que se le pasa al procedimiento. Asimismo, puede definirse el tiempo de establecimiento t s como:

ts = k s T

- 129 -

Sistemas de Control en Tiempo Discreto

Ejemplo:

> ks := proc(sec, p) local i, x2, ref, f; if (p5) then ERROR(`invalid porcentaje`, p) fi: f

:= nops(sec):

x2

:= sec[f, 2]:

ref

:= x2*p/100:

i

:= 1:

while ( (abs(sec[i,2]-c2) > ref) and (i ts := proc(inv, T, max, p) local resp, valor, i, sec, invf; invf := evalf(inv): sec

:= []:

for i from 0 to max do sec := [op(sec), [i, eval(subs(k=i, invf))]]: od: resp := ks(sec, p): valor := resp*T: printf("\nTiempo de Establecimiento:"); printf(" ts = %.3g\n", valor); printf(" Tarda %d iteraciones en ", resp); printf("alcanzar la banda del\n"); printf(" +/- %.3g%c del valor final.\n", p, "%"); end:

> ts(expr, 1/10, 20, 4.8); Tiempo de Establecimiento: ts = .5 Tarda 5 iteraciones en alcanzar la banda del +/- 4.8% del valor final.

- 131 -

Sistemas de Control en Tiempo Discreto

Las especificaciones en el dominio del tiempo que se acaban de dar son muy importantes, ya que la mayor parte de los sistemas de control son sistemas en el dominio del tiempo: deben mostrar respuestas aceptables en el tiempo. Lo que significa que el sistema de control bajo diseño deberá ser modificado hasta que la respuesta transitoria sea satisfactoria. No todas las especificaciones se aplican necesariamente a un caso concreto. Por ejemplo, para un sistema sobreamortiguado, el tiempo de pico y el sobreimpulso máximo no son aplicables. [REF. 2].

- 132 -

Capítulo 5: Análisis de Respuesta Transitoria

5.3 EJERCICIOS. Para poder realizar los ejercicios, es imprescindible haber ejecutado los procedimientos de los apartados anteriores. Por eso aquí no utilizamos 'restart'.

5.3.1.- Análisis de respuesta transitoria de la siguiente expresión:  .050914 z 3 1.2230 z 2 .03125 z .15655  + − −    , z, k  exp1 := invztrans  2   ( z − 1 ) ( z + .3505 z − .2642 )  

para T = 1/5. Implementar primero un procedimiento que se encargue de realizar todo el análisis de respuesta transitoria. Primero se realiza el procedimiento que calcula los tiempos de retardo, crecimiento, pico y establecimiento, así como el sobreimpulso máximo porcentual.

> AnaliTrans := proc(expr, T, max, p); td(expr, T, max); tr(expr, T, max); tp(expr, T, max); Mp(expr, T, max); ts(expr, T, max, p); end:

- 133 -

Sistemas de Control en Tiempo Discreto

Se pinta la función discreta para el período de muestreo T = 1/5

> exp1 := invztrans((.50914e-1*z^3+1.2230*z^2-.3125e-1*z-.15655) / ((z-1)*(z^2+0.3505*z-0.2642)), z, k): plot([seq([1*k/5, subs(k=1*k/5, exp1)], k=0..20)], style=point, xtickmarks=10);

Análisis de respuesta transitoria.

> AnaliTrans(exp1, 1/5, 20, 5); Tiempo de Retardo: td = .2 Tiempo de Crecimiento: tr = .2 Tiempo de Pico: tp = .2 Valor maximo = 1.256 Sobreimpulso Máximo Porcentual: Mp = 25.687% Sube un 25.687% sobre el valor final .999 Se puede apreciar en el dibujo. Tiempo de Establecimiento: ts = 1.2 Tarda 6 iteraciones en alcanzar la banda del +/- 5% del valor final.

- 134 -

Capítulo 5: Análisis de Respuesta Transitoria

5.3.2.- Análisis de respuesta transitoria de la siguiente función:

1− e

 7t   −  10 

7    − + t   2  10 + 3t e

para T = 3/5 Primero la dibujamos, para que se aprecie que es una función que nunca llega a 1 (se queda por encima de dicho valor).

> fun2 := 1-exp(-7/10*t)+3*t^2*exp(-7/10*t): plot({fun2, 1, 4}, t=0..15, color=[wheat, wheat, red]);

Ahora la convertimos en una expresión discreta:

> exp2 := invztrans(ztrans(fun2, t, z), z, k): simplify(subs(k=k*T, exp2)); plot([seq([3*k/5, subs(k=3*k/5, exp2)], k=0..20)], style=point);

1−e

 7   − k T   10 

 7   − k T   10  2 2 k T +3e

- 135 -

Sistemas de Control en Tiempo Discreto

Análisis de respuesta transitoria. Nótese que, a diferencia del ejercicio anterior, en esta ocasión el tiempo de pico no coincide con los de retardo y crecimiento.

> AnaliTrans(evalf(exp2), 3/5, 20, 5); Tiempo de Retardo: td = .6 Tiempo de Crecimiento: tr = .6 Tiempo de Pico: tp = 1.8 Valor maximo = 4.184 Sobreimpulso Máximo Porcentual: Mp = 317.960% Sube un 317.960% sobre el valor final 1.001 Se puede apreciar en el dibujo. Tiempo de Establecimiento: ts = 8.4 Tarda 14 iteraciones en alcanzar la banda del +/- 5% del valor final.

5.3.3.- Análisis de respuesta transitoria de la siguiente expresión: 2 (− t ) ( − 1 + 10.15 t − 6.44 t ) e + 1

para T = 2/5

> fun3 := (-1+10.15*t-6.44*t^2)*exp(-t)+1: plot({fun3, 1}, t=0..10, color=[wheat, red]);

- 136 -

Capítulo 5: Análisis de Respuesta Transitoria

Esta función, tras estar por encima de uno, vuelve a decrecer, llegando a tener valor negativo, y luego vuelve a subir, llegando al uno por debajo. Discretizamos y definimos la secuencia de puntos correspondiente.

> exp3 := invztrans(ztrans(fun3, t, z), z, k): subs(k=k*T, exp3); plot([seq([2*k/5, subs(k=2*k/5,exp3)], k=0..20)], style=point, xtickmarks=10); −1.0000 .36788

(k T )

+ 10.150 .36788

(k T)

k T − 6.4400 .36788

Análisis de respuesta transitoria:

> AnaliTrans(exp3, 2/5, 20, 5); Tiempo de Retardo: td = .4 Tiempo de Crecimiento: tr = .4 Tiempo de Pico: tp = .4 Valor maximo = 1.997 Sobreimpulso Máximo Porcentual: Mp = 99.700% Sube un 99.700% sobre el valor final 1 Se puede apreciar en el dibujo. Tiempo de Establecimiento: ts = 4 Tarda 10 iteraciones en alcanzar la banda del +/- 5% del valor final.

- 137 -

(k T) 2 2 k T +1

Sistemas de Control en Tiempo Discreto

5.3.4.- Análisis de respuesta transitoria de la siguiente expresión:

1− e

t    −   10 

para T = 4/5

> fun4:= 1-exp(-t/10): plot({fun4, 1}, t=0..40, color=[wheat, red]);

Esta función va ascendiendo poco a poco hasta alcanzar su valor final, acercándose a uno. En esta ocasión, tomamos 40 puntos de la secuencia al discretizar.

> exp4 := invztrans(ztrans(fun4, t, z), z, k): simplify(subs(k=k*T, exp4)); plot([seq([4*k/5, exp4], k=0..40)], style=point);

1−e

 1  − k  10

- 138 -

 T  

Capítulo 5: Análisis de Respuesta Transitoria

Análisis de respuesta transitoria. Al no ser una función con picos, sino que va creciendo progresivamente, puede apreciarse que el Sobreimpulso Máximo Porcentual es de 0%, ya que su valor nunca llega al uno.

> AnaliTrans(exp4, 4/5, 20, 5); Tiempo de Retardo: td = 4.8 Tiempo de Crecimiento: tr = 16.0 Tiempo de Pico: tp = 16.0 Valor maximo = .865 Sobreimpulso Máximo Porcentual: Mp = 0.000% Sube un 0.000% sobre el valor final .8665 Se puede apreciar en el dibujo. Tiempo de Establecimiento: ts = 14.4 Tarda 18 iteraciones en alcanzar la banda del +/- 5% del valor final.

5.3.5.- Análisis de respuesta transitoria de la siguiente expresión: 1− e

(−t )

2 (− t ) − 2t e

para T = 1/2

> fun5 := 1-exp(-t)-2*t^2*exp(-t): plot({fun5, 1}, t=0..10, color=[wheat, red]);

- 139 -

Sistemas de Control en Tiempo Discreto

> exp5 := invztrans(ztrans(fun5, t, z), z, k): simplify(subs(k=k*T, exp5)); plot([seq([k/2, subs(k=k/2,exp5)], k=0..20)], style=point, xtickmarks=10); 1−e

( −k T )

−2e

( −k T ) 2 2 k T

En las gráficas anteriores puede observarse que exp5 tiene una oscilación oculta, que no se ve en el gráfico de la función discreta. Análisis de respuesta transitoria. Como nunca alcanza al uno, Mp = 0%.

- 140 -

Capítulo 5: Análisis de Respuesta Transitoria

> AnaliTrans(exp5, 1/2, 20, 5); Tiempo de Retardo: td = 2.5 Tiempo de Crecimiento: tr = 9.5 Tiempo de Pico: tp = 9.5 Valor maximo = 1 Sobreimpulso Máximo Porcentual: Mp = 0.000% Sube un 0.000% sobre el valor final 1 Se puede apreciar en el dibujo. Tiempo de Establecimiento: ts = 4 Tarda 8 iteraciones en alcanzar la banda del +/- 5% del valor final.

- 141 -

Sistemas de Control en Tiempo Discreto

5.4 REFERENCIAS. [REF. 1]

K. Ogata, Ingeniería de Control Moderna, Prentice-Hall, 1980

[REF. 2]

K. Ogata, Sistemas de Control en Tiempo Discreto, Prentice-Hall, 2ª edición, 1996

[REF. 3]

J.M. Pérez Oria, S. Arnáltes Gómez, Introducción a los Sistemas de Control con Computador, Editorial Ciencia 3 Distribución S.A., 1993

- 142 -