Скачиваний:
9
Добавлен:
14.09.2024
Размер:
2.2 Кб
Скачать
clc
clear all
close all
%%
t_max = 50;
l = 0.1;
m = 0.1;
M = 1;
g = 9.8;

%Начальные условия:
yp0 = 0;
y0 = 0.01;
xp0 = 0;
x0 = 0;
%% Первый этап - корректировка ПФ по выходу-выходу f->theta
figure
pendulum = tf(-(1/(l*M)),[1 0 -(M + m)*g/(l*M)]);
bodemag(pendulum)
grid on
hold on
%%
pendulum1=pendulum*200
bodemag(pendulum1,{1,1000})
%% Скорректируем ЛАЧХ в средних частотах
corr=tf([1/20 1],[1/1000 1])
bodemag(pendulum1*corr,{1,1000})
%% Проанализируем полученную систему
Pend_Control=feedback(pendulum1*corr, -1)
eig(Pend_Control)
legend('ЛАЧХ', 'Поднятая ЛАЧХ', 'Скорректированная ЛАЧХ')
%%
y0 = 0.1;
t_max = 100;
st = sim("freq_sim2.slx");

data = st.both;
data = data';
time = st.time;
figure
plot(time, data(1,:), 'LineWidth', 1.5, 'Color','red');
grid on;
hold on
plot(time, data(2,:), 'LineWidth', 1.5, 'Color','blue');
%%
[A1,B1,C1,D1]=linmodv5('freq_sim2');
eig(A1) % видим, что все полюсы, касающиеся маятника, стабилизированы
%% Теперь стабилизируем каретку
plant1=ss(A1,B1,C1,D1);
zpk(plant1)
figure
bodemag(zpk(plant1), {10e-4,1000})
grid on
hold on
%% Заметили ноль, равный 9.899
% Поднять зарактеристику надо в диапазоне 0.1 - 5, а не 1 - 10, как в
% методичке
% Поэтому введем корректирующее звено с полюсом, равным 5
corr1=tf([100 1],[0.2 1])*0.2
reg_cart = zpk(plant1)*corr1;
bodemag(reg_cart, {10e-4,1000})
Cart_Control=feedback(reg_cart, -1)
eig(Cart_Control)
%%
[A2,B2,C2,D2]=linmod2('freq_sim');
eig(A2) % теперь все собственные значения левые :)
%% Тестируем
y0 = 0.5;
x0 = 0;
t_max = 10;
st = sim("freq_sim.slx");

data = st.both;
data = data';
time = st.time;
figure
plot(time, data(1,:), 'LineWidth', 1.5, 'Color','red');
grid on;
hold on
plot(time, data(2,:), 'LineWidth', 1.5, 'Color','blue');
Соседние файлы в папке Курсовая работа
  • #
    14.09.2024632 б9disc.m
  • #
    14.09.202439.93 Кб9disc_sim.slx
  • #
    14.09.20242.2 Кб9freq.m
  • #
    14.09.202440.04 Кб9freq_sim.slx
  • #
    14.09.202437.28 Кб9freq_sim2.slx
  • #
    14.09.20242.4 Кб9part1.m
  • #
    14.09.202429.75 Кб9pendulum.slx
  • #
    14.09.202439 б9readme.txt