Control 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

UNIDAD ACADEMICA MULTIDISCIPLINARIA

REGIÓN ALTIPLANO.
UNIVERSIDAD AUTONOMA DE SAN LUIS POTOSÍ.
MATEHUALA, S.L.P.

INGENIERIA MECATRONICA.

TEORIA DE
CONTROL II
MORALES MORENO GREGORIO ARISAY
15 DE OCTUBRE DEL 2023
1. Considere el sistema de la Figura 5-74(a). El fac tor de amortiguamiento
relativo de este sistema es 0.158 y la frecuencia natural no amortiguada es
de 3.16 rad/seg. Para mejorar la estabilidad relativa, se emplea una reali
mentación tacométrica. La Figura 5-74(b) muestra tal sistema de
realimentación tacométrica. Determine el valor de Kh para que el factor de
amor tiguamiento relativo del sistema sea 0.5. Dibuje curvas de respuesta
escalón unitario tanto del sistema original como del sistema de
realimentación tacométrica. Tam bién dibuje las curvas de error frente al
tiempo para la respuesta rampa unitaria de ambos sistemas

La función de transferencia es: (Kh = 0):


10
𝐹(𝑠) =
𝑠2 + s + 10

La funcion de tranferencia del tacómetro es;


10
𝐹(𝑠) =
𝑠2 + 3.16 + 10

La respuesta al escalón unitario de sistemas puede calcularse analíticamente con


la transformada inversa de Laplace. En este caso, consideramos una entrada R(s)
= 1/s y graficamos los resultados utilizando MATLAB. El código proporcionado
incluye las instrucciones para obtener la respuesta para sistemas representados
en la Figura 1, que tienen funciones de transferencia definidas como (1) para el
sistema original y (2) para el sistema con realimentación tacométrica. Los
resultados se visualizan en la Figura 5 tras la ejecución del código en MATLAB.
CODIGO;
% Problema 1 - Respuesta al escalón unitario

% Definición del tiempo de simulación


t = linspace(0, 10, 350);

% Definición de las funciones de transferencia de dos sistemas


num1 = [10];
den1 = [1 1 10];
num2 = [10];
den2 = [1 3.16 10];

% Cálculo de las respuestas al escalón unitario


c1 = step(num1, den1, t);
c2 = step(num2, den2, t);

% Gráficas
figure; % Crea una nueva figura
plot(t, c1, 'g', 'LineWidth', 2);
hold on;
plot(t, c2, 'b', 'LineWidth', 2);
grid on;

% Etiquetas de ejes y leyenda


xlabel('$t [s]$', 'interpreter', 'Latex', 'fontsize', 16);
ylabel('Respuesta al escalón', 'interpreter', 'Latex', 'fontsize', 16);
title('Respuesta al escalón unitario de sistemas de control',
'interpreter', 'Latex', 'fontsize', 16);
legend('Sistema original c1(t)', 'Sistema con realimentación tacométrica
c2(t)');

hold off; % Libera la figura

GRAFICA DE LA RESPUESTA AL ESCALON UNITARIO;


• Eje X (Horizontal): Representa el tiempo en segundos (t [s]). El intervalo de
tiempo va desde 0 segundos hasta 10 segundos.
• Eje Y (Vertical): Representa la respuesta al escalón unitario, que
generalmente se refiere a la salida del sistema en respuesta a una entrada
de escalón.
• Hay dos curvas en la gráfica, una en color verde y otra en color azul. Estas
representan las respuestas al escalón de dos sistemas diferentes:
o La curva verde corresponde al "Sistema original" (c1(t)).
o La curva azul corresponde al "Sistema con realimentación
tacométrica" (c2(t)).
o Ambas curvas comienzan en cero en el tiempo t = 0, ya que están
respondiendo a un escalón unitario, lo que significa que la salida
comienza en cero y luego cambia instantáneamente a 1 unidad en el
tiempo t = 0.
o Las curvas luego muestran cómo la salida de los sistemas
evoluciona a medida que pasa el tiempo.
o La diferencia entre las dos curvas (verde y azul) refleja las
diferencias en el comportamiento de los dos sistemas.
o

EL error E(s)=R(s) H(s)C(s) y La función de Transferencia;


𝐶(𝑠)
𝐹(𝑠) =
𝑅(𝑠)

Para el sistema original:

𝑠2 + 𝑠 1 𝑠2 + 𝑠 1
E1(s) = =( )
𝑠 + 𝑠 + 10𝑠2 𝑠 𝑠3 + 𝑠2 + 10𝑠2 𝑠

Para el sistema con realimentación tacométrica;

𝑠2 + 3.16𝑠 1 𝑠2 + 3.16𝑠 1
E2(s) = =( )
𝑠 + 3.16𝑠 + 10𝑠2 𝑠 𝑠3 + 3.16𝑠2 + 10𝑠2 𝑠

CODIGO 2; CURVAS DE ERROR ANTE UNA ENTRADA RAMPA UNITARIA.

% Definición del tiempo de simulación


t = linspace(0, 10, 350);

% Definición de las funciones de transferencia de dos sistemas


num1 = [1 1 0];
den1 = [1 1 10 0];
num2 = [1 3.16 0];
den2 = [1 3.16 10 0];
% Cálculo de las curvas de error
e1 = step(num1, den1, t);
e2 = step(num2, den2, t);

% Cálculo de error estacionario (en t=10 segundos)


error_estacionario1 = e1(end);
error_estacionario2 = e2(end);

% Cálculo del error máximo


max_error1 = max(e1);
max_error2 = max(e2);

% Gráficas
figure; % Crea una nueva figura
% Gráfica de curvas de error
subplot(2, 1, 1);
plot(t, e1, 'g', 'LineWidth', 2);
hold on;
plot(t, e2, 'b', 'LineWidth', 2);
grid on;
% Etiquetas de ejes y leyenda
xlabel('$t [s]$', 'interpreter', 'Latex', 'fontsize', 16);
ylabel('Curva de error', 'interpreter', 'Latex', 'fontsize', 16);
title('Curvas de error ante una entrada rampa unitaria', 'interpreter',
'Latex', 'fontsize', 16);
legend('Sistema original e1(t)', 'Sistema con realimentación tacométrica
e2(t)');
% Marcar el error estacionario en la gráfica
line([0, 10], [error_estacionario1, error_estacionario1], 'Color', 'r',
'LineStyle', '--', 'LineWidth', 1.5);
line([0, 10], [error_estacionario2, error_estacionario2], 'Color', 'k',
'LineStyle', '--', 'LineWidth', 1.5);

% Gráfica del diagrama de Bode


subplot(2, 1, 2);
bode(num1, den1);
hold on;
bode(num2, den2);
grid on;

% Etiquetas de ejes y leyenda


xlabel('Frecuencia [rad/s]', 'interpreter', 'Latex', 'fontsize', 16);
title('Diagrama de Bode', 'interpreter', 'Latex', 'fontsize', 16);
legend('Sistema original e1(t)', 'Sistema tacométrico e2(t)');

hold off; % Libera la figura

% Análisis de resultados:
fprintf('Error Estacionario del Sistema O: %.2f\n', error_estacionario1);
fprintf('Error Estacionario del Sistema Tacométrico: %.2f\n',
error_estacionario2);
fprintf('Error Máximo del Sistema O: %.2f\n', max_error1);
fprintf('Error Máximo del Sistema Tacométrico: %.2f\n', max_error2);
• En el primer subplot (subplot(2, 1, 1)), se representan las curvas de error
(e1 y e2) en función del tiempo (t).
o La curva verde ('g') representa la respuesta del "Sistema original"
(e1(t)).
o La curva azul ('b') representa la respuesta del "Sistema con
realimentación tacométrica" (e2(t)).
o Las líneas punteadas rojas y negras indican los valores de error
estacionario para ambos sistemas.
• Segunda gráfica (Diagrama de Bode):
o En el segundo subplot (subplot(2, 1, 2)), se representa el Diagrama
de Bode para ambos sistemas.
o El Diagrama de Bode muestra la respuesta de los sistemas a
diferentes frecuencias (en radianes por segundo) y proporciona
información sobre la ganancia y la fase del sistema en función
de la frecuencia

Considere el sistema de la Figura 5-76. Determine el valor de k de modo que el


factor de amortiguamien to f sea 0.5. Después obtenga el tiempo de subida tr,el
tiempo pico tp, la sobreelongación máxima Mp y el tiempo de asentamiento ts
en la respuesta escalón unitario.
Del diagrama de la Figura 1, la función de transferencia del sistema es:

𝐶(𝑠) 16
=
𝑅(𝑠) 𝑠2 + (0.8 + 16𝑘)𝑠 + 16

las caractersticas del sistema son:


Tiempo de subida = 0.6045s

Tiempo pico = 0.90689s

Sobreelongacion máxima = 0.163

Tiempo de asentamiento = 2s

CODIGO MATLAB;
% Respuesta al escalón unitario

% Tiempo de simulación
t = linspace(0, 10, 350);

% Datos Función de transferencia F


num1 = [16];
den1 = [1 4 16];
c1 = step(num1, den1, t);

% Gráficas
figure;

% Gráfico de la respuesta al escalón


subplot(2, 1, 1);
plot(t, c1, 'g', 'LineWidth', 2);
grid;
legend('Sistema c1(t)');
xlabel('$t[s]$', 'interpreter', 'latex', 'fontsize', 16);

% Diagrama de Bode
subplot(2, 1, 2);

% Calcula el diagrama de Bode


[num, den] = tfdata(tf(num1, den1), 'v');
bode(tf(num, den));

% Configura etiquetas y título


title('Diagrama de Bode');

% Ajusta el diseño de la figura


set(gcf, 'Position', [100, 100, 800, 600]);
GRAFICAS OBTENIDAS;

• Primera gráfica (Respuesta al escalón unitario):


• En el primer subplot (subplot(2, 1, 1)), se muestra la respuesta del
sistema a un escalón unitario en función del tiempo (t).
• La gráfica muestra la evolución de la salida (y(t)) del sistema en
respuesta al escalón.
• Segunda gráfica (Diagrama de Bode):
• En el segundo subplot (subplot(2, 1, 2)), se muestra el Diagrama
de Bode del sistema.
• El Diagrama de Bode proporciona información sobre la respuesta
en frecuencia del sistema, mostrando cómo la ganancia y la fase
varían con la frecuencia.
• La gráfica puede mostrar cómo el sistema responde a diferentes
frecuencias y si hay picos de resonancia o atenuación en la
ganancia y la fase

2. Determine el rango de valores de K para la es tabilidad de un sistema de control con
realimentación unitaria cuya función de transferencia en lazo abierto es;
𝐾
𝐺(𝑆) =
s(s + 1)(s + 2)

La funci ́on de transferencia de lazo cerrado est ́a dada por:


𝐺(𝑠) 𝐾
𝑌(𝑠) = =
1 + 𝐺(𝑠) s3 + 3s2 + 2s + K

Según el criterio de estabilidad de Routh, para asegurar que no ocurran


cambios de signo en los coeficientes de la primera columna de la matriz, es
necesario que K sea mayor que cero y menor que 6. Esto implica que el
sistema en lazo cerrado será estable cuando el valor de K se encuentre en el
intervalo 0 < K < 6.

Coeficientes del arreglo;

3 ∗ 2 − 1𝐾 𝑏∗𝐾−3∗0
𝑏= = 2, 𝑐= =𝐾
3 b

CODIGO MATLAB;
% Parámetros del sistema
syms K
s = tf('s');

% Asignar un valor numérico a K


K_value = 1; % Cambia este valor según tus necesidades

% Calcular los coeficientes del arreglo de Routh


b1 = (3*2 - 1*K_value) / 3;
c1 = (b1*K_value - 3*0) / b1;

% Crear una figura para trazar los coeficientes


figure;
hold on;

% Trazar los coeficientes b y c


plot([b1, c1], 'o-', 'LineWidth', 2);
legend('b1', 'c1');
title('Coeficientes del Arreglo de Routh');
xlabel('Coeficiente');
ylabel('Valor');

% Configurar el eje x
xticks(1:2);
xticklabels({'b1', 'c1'});

% Establecer límites del eje y


ylim([min([b1, c1]) - 1, max([b1, c1]) + 1]);
grid on;
hold off;

Este código lleva a cabo una serie de pasos para analizar un sistema de
control en lazo cerrado. A continuación, se describen las acciones que realiza:
Paso 1 (Análisis del sistema en lazo cerrado):
1. Define los parámetros del sistema, K y s, como símbolos simbólicos.
2. Define la función de transferencia del sistema en lazo abierto G como K / (s *
(s + 1) * (s + 2)).
3. Calcula la función de transferencia del sistema en lazo cerrado, Glc,
utilizando la regla 13 (teoría de control), donde H(s) se establece como 1. La
función de transferencia en lazo cerrado se simplifica.
Paso 2 (Cálculo de coeficientes del arreglo de Routh-Hurwitz):
1. Calcula el coeficiente b1 necesario para aplicar el criterio de estabilidad de
Routh-Hurwitz. El cálculo se basa en la función de transferencia del sistema en
lazo cerrado.
2. Calcula el coeficiente c1, que es necesario para el arreglo de Routh-Hurwitz.
El cálculo se basa en el coeficiente b1 y el valor de K.
Paso 3 (Análisis de desigualdades):
1. Utiliza el comando `feval(symengine, 'solve', ...)` para resolver dos
desigualdades simultáneas. Estas desigualdades están relacionadas con el
valor de K y se aplican para garantizar la estabilidad del sistema en lazo
cerrado. Las desigualdades son "2 - K/3 > 0" y "K > 0", que son restricciones
típicas en el diseño de sistemas de control.
El resultado final de este código dependerá de los valores de K que satisfacen
las desigualdades en el paso 3. Estos valores de K garantizarán la estabilidad
del sistema en lazo cerrado. Las funciones de transferencia y los coeficientes
calculados en los pasos 1 y 2 son componentes clave para este análisis.
Finalmente, en la gráfica, solo se muestran los dos coeficientes b1 y c1.

CODIGO MATLAB;
%--------- Lugar de las raíces--------
num = [1];
den = [1 4 11 14 10];
r = rlocus(num, den);
plot(r, 'o');
v = [-6 6 -6 6];
axis(v);
grid;
title('Lugar de las raíces de G(s) = K/[(s^2+2s+2)(s^2+2s+5)]');
xlabel('Eje Real');
ylabel('Eje Imag');
• `num` y `den`: Estos vectores representan los coeficientes del numerador y el
denominador de la función de transferencia G(s). En este caso, la función de transferencia
es G(s) = 1/[(s^2+2s+2)(s^2+2s+5)].
• `rlocus(num, den)`: La función `rlocus` se utiliza para trazar el Lugar de las Raíces (Root
Locus) de la función de transferencia dada. El Lugar de las Raíces es una técnica utilizada
en el diseño de sistemas de control para analizar cómo cambian las raíces del sistema a
medida que se varía un parámetro, en este caso, la ganancia 'K'.
• `plot(r, 'o')`: Se grafican las raíces en el plano complejo. El vector `r` contiene las
ubicaciones de las raíces a medida que varía la ganancia 'K'. Las raíces se muestran como
puntos 'o' en el plano complejo.
• `v = [-6 6 -6 6]`: Esto establece los límites del gráfico en el eje real e imaginario, lo que
limita la región visible en el plano complejo.
• `axis(v)`: Se aplica el rango definido en el paso anterior al gráfico.
• `grid`: Se agrega una cuadrícula al gráfico para facilitar la lectura de las ubicaciones de las
raíces.
• La gráfica resultante muestra cómo cambian las raíces del sistema a medida que se varía la
ganancia 'K'. Esto es esencial en el diseño de sistemas de control, ya que permite
comprender cómo se comporta el sistema bajo diferentes ganancias y si es estable o
inestable en función de esas ganancias. El Lugar de las Raíces es una herramienta valiosa
para el análisis y diseño de sistemas de control.

También podría gustarte