5
ANEXOS Graficamos el sistema sin compensación: >> s=tf('s'); >> G=(0.35)/((s+0.4)*(s+0.5)*(s+0.163)*(s+1.537)); >> zeta=0.69062; >> rlocus(G); >> sgrid(zeta,0) >> [K,p]=rlocfind(G) Select a point in the graphics window selected_point = -0.1888 + 0.1978i K = 0.0829 p = -1.5182 -0.7083 -0.1868 + 0.1967i -0.1868 - 0.1967i La respuesta al escalón del sistema sin compensación, con ganancia K=0.0829, está dada por: >> M=feedback(K*G,1) Transfer function: 0.02901 ---------------------------------------------- s^4 + 2.6 s^3 + 1.981 s^2 + 0.5655 s + 0.07912

Root Locus

Embed Size (px)

Citation preview

Page 1: Root Locus

ANEXOS

Graficamos el sistema sin compensación:

>> s=tf('s');>> G=(0.35)/((s+0.4)*(s+0.5)*(s+0.163)*(s+1.537));>> zeta=0.69062;>> rlocus(G);>> sgrid(zeta,0) >> [K,p]=rlocfind(G)Select a point in the graphics window

selected_point =

-0.1888 + 0.1978i

K =

0.0829

p =

-1.5182 -0.7083 -0.1868 + 0.1967i -0.1868 - 0.1967i

La respuesta al escalón del sistema sin compensación, con ganancia K=0.0829, está dada por:

>> M=feedback(K*G,1) Transfer function: 0.02901----------------------------------------------s^4 + 2.6 s^3 + 1.981 s^2 + 0.5655 s + 0.07912 >> step(M)

Page 2: Root Locus

Evaluamos la contribución de los ángulos de todos los polos y ceros de G(s) en Sd= -0.375+j0.3927 que fue el valor que obtuvimos manualmente del polo dominante, usando el siguiente comando en MATLAB:

>> Sd=-0.375+0.3927i

Sd =

-0.3750 + 0.3927i

>> angle_at_dominant_pole=(180/pi)*(-(angle(polyval([1,0.4],Sd))+angle(polyval([1,0.5],Sd))+angle(polyval([1,0.163],Sd))+angle(polyval([1,1.537],Sd))))

angle_at_dominant_pole =

-295.7359

Se puede notar que en el comando anterior no pusimos la parte de los ángulos de los ceros porque no hay en la función de transferencia.

Del ángulo anterior obtenemos la contribución del cero compensador que es de 115.73590. Con este ángulo obtuvimos que ZC=0.1856.

Usando el comando rlocfind, la ganancia en el punto de diseño es. El análisis completo del sistema compensado PD es así como sigue:

>> D1=s+0.1856 Transfer function:s + 0.1856

>> rlocus(D1*G)>> sgrid(zeta,0)>> [K,p]=rlocfind(D1*G)Select a point in the graphics window

selected_point =

-0.3750 + 0.3956i

K =

0.5903

p =

-1.6732 -0.3742 + 0.3954i -0.3742 - 0.3954i -0.1784

Page 3: Root Locus

La respuesta la escalón con la compensación PD, se muestra a continuación:

>> M=feedback(K*D1*G,1);>> step(M)

Para diseñar el compensador PI, elegimos un compensador con un cero lo más cercano al origen, así:

>> D2=(s+0.05)/s Transfer function:s + 0.05-------- s >> D=D1*D2;>> rlocus(D*G)>> sgrid(zeta,0)>> [K,p]=rlocfind(D*G)Select a point in the graphics window

selected_point =

-0.3607 + 0.3711i

K =

0.5711

p =

-1.6663 -0.3671 + 0.3734i -0.3671 - 0.3734i -0.1764 -0.0230

Page 4: Root Locus

Ahora la respuesta al impulso para el compensador PID está dado por:

>> M=feedback(K*D*G,1);>> step(M)

Graficando para este valor del cero en -0.05, obtuvimos una respuesta muy lenta, por lo que rediseñamos el sistema de acuerdo a los requerimientos establecidos, así que ubicamos el cero en -0.25. Quedando de la siguiente forma:

>> D2=(s+0.25)/s Transfer function:s + 0.25-------- s >> D=D1*D2;>> rlocus(D*G)>> sgrid(zeta,0)>> [K,p]=rlocfind(D*G)Select a point in the graphics window

selected_point =

-0.2893 + 0.3111i

K =

0.6322

p =

-1.6631 -0.2905 + 0.3117i -0.2905 - 0.3117i -0.1780 + 0.0483i -0.1780 - 0.0483i

>> M=feedback(K*D*G,1);>> step(M)

Esta gráfica es más cercana a uno de segundo orden.