PRÁCTICA 2 DIAGRAMAS DE BLOQUES Domingo VICARIO SAIZ Ricardo MARTÍNEZ ESPINOSA REGULACIÓN AUTOMÁTICA 29 DE SEPTIEMBRE DE 2014 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 1 En control, es habitual representar un sistema por un diagrama de bloques formado por una señal continua de entrada X(s), una señal continua de salida Y(s) y una función de transferencia G(s) que representa cómo evoluciona en el tiempo la salida en función de la entrada. Sea el diagrama de bloques siguiente, donde G(s)=10s/(2s2+s+3). 1.1 ¿Cuál es la función de transferencia entre las señales Y y X? La función de transferencia es G0: G0=tf([10,0],[2,1,3]) Transfer function: 10 s ------------2 s^2 + s + 3 1.2 ¿Cuáles son los polos y ceros de G(s)? Los polos son: pole(G0) ans = -0.2500 + 1.1990i -0.2500 - 1.1990i Los ceros son: zero(G0) ans = 0 2 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 2 Encontrar una función de transferencia G(s) que tenga un cero en -7, un polo en 0 y dos polos complejos conjugados. Para que una función de transferencia tenga un cero en -7 hay que buscar un polinomio para el numerador de la función de transferencia cuya raíz sea -7. La solución más rápida es escribir el polinomio factorizado: x+7 Para que una función de transferencia tenga un polo en 0 y dos polos complejos conjugados hay que buscar un polinomio para el denominador de la función de transferencia cuyas raíces sean 0 y complejos. La solución más rápida es escribir el polinomio factorizado: s ( s 2 + 1) = s3 + s La función de transferencia G0 que cumple dichas condiciones es: G0=tf([1,7],[1,0,1,0]) Transfer function: s + 7 ------s^3 + s zero(G0) ans = -7 pole(G0) ans = 0 0 + 1.0000i 0 - 1.0000i 3 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 3 Matlab permite la operación con funciones de transferencia (sumar, multiplicar, etc.), sin embargo hay que ser conscientes que cuando Matlab hace estos cálculos, no suele simplificar las funciones de transferencia resultantes, quedando funciones de transferencia aparentemente diferentes. En control siempre se trabaja con la expresión más simple de una función de transferencia, por lo que si Matlab no la obtiene, habrá que simplificar los factores a mano. Sin embargo Matlab si puede encontrar los factores comunes. Sea el diagrama de bloques siguiente, donde G1(s)=10(s+1)/(2s2+s+3) y G2=3s/(s+1) 3.1 Simplifica teóricamente de la forma más reducida posible el diagrama de bloques anterior ¿Cuál es la función de transferencia G3(s) entre las señales Y y X? G= 3( s ) G1( s ) ⋅ G 2( s ) G3(= s) 10( s + 1) 3s ⋅ = 2 2 s + s + 3 ( s + 1) 30 s 2s + s + 3 2 3.2 Usando Matlab multiplica las funciones de transferencia G1(s) y G2(s) obteniendo la función de transferencia G4(s) entre las señales Y y X. Compara esta función con la obtenida en el apartado 3.1. Se introduce las funciones de transferencia en MATLAB y se multiplican G1=tf([10,10],[2,1,3]); G2=tf([3,0],[1,1]); G4=G1*G2 Transfer function: 30 s^2 + 30 s ----------------------2 s^3 + 3 s^2 + 4 s + 3 MATLAB no ha simplificado el término (s+1) que se anula el numerador con el denominador. 4 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 3.3 Usando Matlab y a partir de la función G4(s) obtenida en el apartado 3.2, transfórmala a una representación cero/polo/ganancia llamada G5(s). Compárala con G3(s) y G4(s). Para hacer dicha transformación se utiliza la instrucción zpk() G5=zpk(G4) Zero/pole/gain: 15 s (s+1) -----------------------(s+1) (s^2 + 0.5s + 1.5) Al factorizarla se puede ver cómo se pueden anular del numerador y del denominador (s+1), aunque MATLAB no lo hace. Si se anulan queda igual que la función G3(s); al dejarlo tal como está resulta igual que G4(s), pero factorizado. 3.4 Usando Matlab, ¿Cuáles son los polos y ceros de las funciones de transferencia resultantes G3(s), G4(s) y G5(s)? ¿Son iguales las funciones de transferencia? Primero se introduce G3(s) en MATLAB, ya que se ha calculado en papel y después se buscan los polos y ceros de todas las funciones: G3=tf([30,0],[2,1,3]); zero(G3) ans = 0 zero(G4) ans = 0 -1 zero(G5) ans = 0 -1 pole(G3) ans = 5 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 -0.2500 + 1.1990i -0.2500 - 1.1990i pole(G4) ans = -0.2500 + 1.1990i -0.2500 - 1.1990i -1.0000 pole(G5) ans = -0.2500 + 1.1990i -0.2500 - 1.1990i -1.0000 Son iguales, salvo el cero y el polo que genera (s+1) en el numerador y denominador en las funciones G4(s) y G5(s). 3.5 Dibujar el diagrama de polos y ceros en Matlab de la función de transferencia resultante G3(s). Para dibujar el diagrama de polos y ceros se utiliza la instrucción pzmap(): pzmap(G3) 6 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 4 Sea el diagrama de bloques siguiente, donde G6(s)=10/(2s2+s+3) y G7(s)=3s/(s+1) 4.1 ¿Es posible simplificar el diagrama en un solo bloque? Justificar la respuesta. No, porque tiene dos entradas diferentes que actúan en bloques diferentes cuya ecuación final es: Y ( s ) = X 1( s ) ⋅ G 6( s ) + X 2( s ) ⋅ G 7( s ) 4.2 ¿Cuál es la función de transferencia G8(s) entre las señales Y y X2? La función de transferencia G8(s) Es G7(s): Y = G 7( s ) X2 3s G= 8( s ) G= 7( s ) s +1 G8(= s) 7 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 2 5 Sea el diagrama de bloques siguiente, donde G6(s)=10/(2s +s+3) y G7(s)=3s/(s+1) 5.1 Simplifica de la forma más reducida posible el diagrama de bloques anterior ¿Cuál es la función de transferencia G9(s) entre las señales Y y X? La solución en este caso pasa por la resta: 9( s ) G 6( s ) − G 7( s ) G= G9( s) = 10 3s −= 2 2s + s + 3 s + 1 −6 s 3 − 3s 2 + s + 10 (2 s 2 + s + 3)( s + 1) 5.2 Crea en Matlab la función de transferencia G9(s), ¿Cuáles son los polos y ceros? Se realiza la operación anterior, pero en MATLAB: G6=tf([10],[2,1,3]); G7=tf([3,0],[1,1]); G9=G6-G7 Transfer function: -6 s^3 - 3 s^2 + s + 10 ----------------------2 s^3 + 3 s^2 + 4 s + 3 pole(G9) ans = -0.2500 + 1.1990i -0.2500 - 1.1990i -1.0000 zero(G9) ans = -0.7904 + 0.9577i 8 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 -0.7904 - 0.9577i 1.0809 5.3 Dibujar el diagrama de polos y ceros en Matlab de G9(s). Para dibujar el diagrama de polos y ceros se utiliza la instrucción pzmap(): pzmap(G9) 9 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 6 El sistema más usado en control es el sistema en lazo cerrado con realimentación negativa. Además es frecuente que los sistemas queden expresados en función de algún parámetro de sintonía. Dichos parámetros son ajustables y cambian el comportamiento del sistema en función de su valor. Por otro lado una de las operaciones que surgen bastante en control es el cálculo de límites para estudiar distintos comportamientos de los sistemas. Sea el diagrama de bloques siguiente (denominado sistema en lazo cerrado con realimentación negativa), donde X(s) se denomina referencia, E(s) error, Y(s) salida, y las funciones de transferencia son G11(s)=0.5/(s2+1.25s+0.125) y T(s)=K siendo K una constante. 6.1 Simplifica de la forma más reducida posible el diagrama de bloques anterior y obtén manualmente la función de transferencia H1(s) entre las señales Y y X, manteniendo la función de transferencia T(s)=K. De lo que se conoce de los dos diagramas es: Y (s) X (s) Y ( s ) = E ( s ) ⋅ T ( s ) ⋅ G11( s ) E= ( s) X ( s) − Y ( s) H1 = Resolviendo el sistema: Y (s) = [ X ( s) − Y ( s)] ⋅ T (s) ⋅ G11(s) Y ( s ) = X ( s ) ⋅ T ( s ) ⋅ G11( s ) − Y (s) ⋅ T ( s ) ⋅ G11( s ) Y ( s ) [1 + T ( s ) ⋅ G11( s ) ] = X ( s ) ⋅ T ( s ) ⋅ G11( s ) H= 1( s ) Y (s) T ( s ) ⋅ G11( s ) = X ( s ) 1 + T ( s ) ⋅ G11( s ) 10 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 La función de transferencia es: T ( s ) ⋅ G11( s ) 1 + T ( s ) ⋅ G11( s ) 0,5k 0,5k 2 2 s + 1, 25s + 0,125 s + 1, 25s + 0,125 = H 1( s ) = 0,5k 0,5k + s 2 + 1, 25s + 0,125 1+ 2 s + 1, 25s + 0,125 s 2 + 1, 25s + 0,125 H 1( s ) = H 1( s ) = (0,5k )( s 2 + 1, 25s + 0,125) (0,5k )( s 2 + 1, 25s + 0,125) + ( s 2 + 1, 25s + 0,125) 2 H 1( s ) = 0,5k s + 1, 25s + 0,125 + 0,5k 2 6.2 Sea K=0.5. Usando Matlab obtén la función de transferencia mas simple H2(s), ¿Cuáles son los polos y ceros de la función de transferencia resultante H2(s)? Con la instrucción minreal() se simplifica la función de transferencia: G11=tf([0.5],[1,1.25,0.125]); H2=(0.5*G11)/(1+0.5*G11) Transfer function: 0.25 s^2 + 0.3125 s + 0.03125 --------------------------------------------s^4 + 2.5 s^3 + 2.063 s^2 + 0.625 s + 0.04688 H2=minreal(H2) Transfer function: 0.25 -------------------s^2 + 1.25 s + 0.375 Y con los polos se calcula con pole() y los ceros con zero(): pole(H2) ans = -0.7500 -0.5000 zero(H2) ans = 11 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 Empty matrix: 0-by-1 6.3 Sea K=0.5. Dibujar el diagrama de polos y ceros en Matlab de la función de transferencia resultante H2(s) La instrucción para ver el diagrama es pzmap() pzmap(H2) 6.4 ¿Podría encontrar un valor de K constante que diera una función de transferencia reducida H3(s) con polos complejos? En caso afirmativo, da el valor de K y los polos obtenidos ¿Qué otra diferencia encuentras entre la función H2(s) obtenida en el apartado 6.2 y la obtenida ahora? Para que en una función de transferencia los se obtengan polos complejos las raíces del polinomio del denominador han de ser en números complejos. Para ello se resuelve la ecuación: s 2 + 1, 25s + 0,125 + 0,5k = 0 Si la solución a las ecuaciones de segundo grado es: 12 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 −b ± b 2 − 4ac s= 2a Para conseguir raíces complejas el radicando de la raíz ha de ser negativo, por lo que: b 2 − 4ac < 0 1, 252 − 4 ⋅1 ⋅ (0,125 + 0,5k ) < 0 k > 0,53125 Para comprobarlo se da un valor aleatorio a k que cumpla la condición calculada, por ejemplo k = 0,6 G11=tf([0.5],[1,1.25,0.125]); H3=(0.6*G11)/(1+0.6*G11); H3=minreal(H3) Transfer function: 0.3 -------------------s^2 + 1.25 s + 0.425 >> pole(H3) ans = -0.6250 + 0.1854i -0.6250 - 0.1854i La diferencia entre H3(s) y H2(s) es que H3(s) tiene polos complejos y H2(s) no. 6.5 Sea K=0.5. ¿Cuál es la función de transferencia H4(s) entre las señales E y X? Evaluar matemáticamente el siguiente límite: 1 lim H 4 (s ) = lim s →0 s →0 s Partiendo del apartado 6.1 y este diagrama se conoce que: E ( s) X (s) Y ( s ) = E ( s ) ⋅ T ( s ) ⋅ G11( s ) E= (s) X (s) − Y (s) H4 = 13 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 Resolviendo: E= (s) X (s) − Y (s) E ( s ) = X ( s ) − E ( s ) ⋅ T ( s ) ⋅ G11( s ) E ( s ) ⋅ [1 + T ( s ) ⋅ G11( s ) ] = X (s) E (s) 1 = X ( s ) 1 + T ( s ) ⋅ G11( s ) H= 4( s ) Despejando: 1 s 2 + 1, 25s + 0,125 H 4( s ) = 2 = 0,5 ⋅ k s + 1, 25s + 0,125 + 0,5 ⋅ k 1+ 2 s + 1, 25s + 0,125 H 4( s ) = s 2 + 1, 25s + 0,125 s 2 + 1, 25s + 0,125 + 0,5 ⋅ k Para k = 0,5: s 2 + 1, 25s + 0,125 H 4( s ) = 2 s + 1, 25s + 0,125 + 0,5 ⋅ 0,5 H 4( s ) = s 2 + 1, 25s + 0,125 s 2 + 1, 25s + 0,375 Para evaluar el límite se aplica el Teorema del valor final que se define como: lim = f (t ) lim [ s ⋅ F ( s ) ] t →∞ s →0 Resolviendo: 1 s 2 + 1, 25s + 0,125 0,125 lim H= 4( s ) lim s 2 = = s →0 s →0 s s + 1, 25s + 0,375 0,375 6.6 1 3 Propón una función de transferencia T(s) que haga que la función 1 H5(s) entre E y X haga que se cumpla: lim H= lim = 0 5 (s ) s →0 s →0 s Para evaluar el límite se aplica el Teorema del valor final: 14 de 15 REGULACIÓN AUTOMÁTICA PRÁCTICA 2 1 s 2 + 1, 25s + 0,125 0,125 = lim H 5( s ) lim s 2 = = 0 s →0 s →0 s s + 1, 25s + 0,125 + 0,5 ⋅ k 0,125 + 0,5 ⋅ k Para que se cumpla: 0,125 =0 0,125 + 0,5 ⋅ k El denominador tiene que ser ±∞ por lo que: 0,125 + 0,5 ⋅ k = ±∞ k = ±∞ 15 de 15