0% encontró este documento útil (0 votos)
0 vistas9 páginas

4simulink

El documento describe la creación y simulación de un modelo de un sistema masa-resorte-amortiguador en Simulink, incluyendo la definición de parámetros y la adición de bloques como un escalón, una función de transferencia y un osciloscopio. Además, se presentan métodos para resolver ecuaciones diferenciales y analizar sistemas de primer orden, incluyendo la respuesta al escalón y al impulso, así como el cálculo de características como el tiempo pico y el sobreimpulso. Finalmente, se incluyen gráficos y resultados de simulación para ilustrar el comportamiento del sistema.

Cargado por

lrparedesc7
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas9 páginas

4simulink

El documento describe la creación y simulación de un modelo de un sistema masa-resorte-amortiguador en Simulink, incluyendo la definición de parámetros y la adición de bloques como un escalón, una función de transferencia y un osciloscopio. Además, se presentan métodos para resolver ecuaciones diferenciales y analizar sistemas de primer orden, incluyendo la respuesta al escalón y al impulso, así como el cálculo de características como el tiempo pico y el sobreimpulso. Finalmente, se incluyen gráficos y resultados de simulación para ilustrar el comportamiento del sistema.

Cargado por

lrparedesc7
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

% Crear nuevo modelo

modelName = 'SistemaMasaResorteAmortiguador';

new_system(modelName)

open_system(modelName)

% Parámetros

m = 0.25;

c = 0.5;

k = 1;

num = 1/m;

den = [1 c/m k/m]; % [s^2 2s 4] con los valores dados

% Añadir bloques

add_block('simulink/Sources/Step', [modelName '/Step'], ...

'Position', [30 30 60 60], 'Time', '0', 'Before', '0', 'After', '3');

add_block('simulink/Continuous/Transfer Fcn', [modelName '/TF'], ...

'Numerator', mat2str(num), ...

'Denominator', mat2str(den), ...

'Position', [120 30 250 60]);

add_block('simulink/Sinks/Scope', [modelName '/Scope'], ...

'Position', [310 30 340 60]);


% Conexiones

add_line(modelName, 'Step/1', 'TF/1');

add_line(modelName, 'TF/1', 'Scope/1');

% Ejecutar simulación

set_param(modelName, 'StopTime', '10');

sim(modelName);

simulink Generarlo automáticamente con un script

% Crear modelo automáticamente

modelName = 'SistemaMasaResorteAmortiguador';

new_system(modelName)

open_system(modelName)

% Parámetros

m = 0.25;

c = 0.5;

k = 1;

num = 1/m;

den = [1 c/m k/m]; % [1, 2, 4]

% Añadir bloques

add_block('simulink/Sources/Step', [modelName '/Step'], ...

'Position', [30 30 60 60], 'Time', '0', 'Before', '0', 'After', '3');

add_block('simulink/Continuous/Transfer Fcn', [modelName '/TF'], ...

'Numerator', mat2str(num), ...

'Denominator', mat2str(den), ...

'Position', [120 30 250 60]);

add_block('simulink/Sinks/Scope', [modelName '/Scope'], ...

'Position', [310 30 340 60]);


% Conectar bloques

add_line(modelName, 'Step/1', 'TF/1');

add_line(modelName, 'TF/1', 'Scope/1');

% Guardar el modelo

save_system(modelName, [modelName '.slx'])

disp(['Modelo guardado como ' modelName '.slx'])

% Parámetros

tspan = [0 30]; % Tiempo de simulación

x0 = -1; % Condición inicial

% EDO definida como función anónima

dxdt = @(t, x) 18 * sin(6 * t);

% Resolver con ode45 (Runge-Kutta)

[t, x] = ode45(dxdt, tspan, x0);

% Graficar

plot(t, x)

xlabel('Tiempo (s)')

ylabel('x(t)')

title('Solución de dx/dt = 18 sin(6t), x(0) = -1')

grid on
% Sistema de primer orden

K = 3;

tau = 5;

sys = tf(K, [tau 1]);

% Respuesta al escalón

step(sys, 0:0.1:30);

title('Respuesta al escalón del sistema de primer orden')

ylabel('Salida')

xlabel('Tiempo (s)')

grid on
G = tf(3/2, [2 1]);

step(G)

title('Sistema de Primer Orden')

grid on
G = tf(20, [1 10 20]);
step(G)
grid on

info = stepinfo(G);
Ts = [Link];
Mp = [Link];

fprintf('Tiempo de establecimiento: %.2f s\n', Ts);


fprintf('Máximo pico (overshoot): %.2f %%\n', Mp);

 Tiempo de estabilización aproximado: entre 0.8 y 1.2 segundos

 Máximo pico: 0% (porque no hay sobreimpulso)


% Parámetros del sistema

wn = 4; % Frecuencia natural

zeta = 0.5; % Factor de amortiguamiento

% Cálculo del tiempo pico

Tp = pi / (wn * sqrt(1 - zeta^2));

% Mostrar resultado

fprintf('El tiempo pico Tp es: %.3f segundos\n', Tp);

zeta = 0.3;

OS = exp(-zeta*pi/sqrt(1 - zeta^2)) * 100;

fprintf('Overshoot: %.1f %%\n', OS);


G = tf(5, [1 4 5]);

impulse(G)

title('Respuesta al impulso')

grid on

También podría gustarte