Модель вынужденных колебаний двухмассовой системы в системе Simulink




 

При запуске SIMULINK открываются два окна:

пустое рабочее окно – заготовка для создания новой модели (untitled);

окно библиотеки SIMULINK, содержащей наборы основных разделов (Library: simulink).

Далее можно раскрыть необходимые разделы библиотеки SIMULINK (рис. 2).

 

 

Рис. 2. Пример начала работы в SIMULINK

 

Поскольку моделируемая система довольно проста, покажем реализацию модели одного уровня (без вложенных подсистем).

Процесс построения модели в системе Simulink представляет последовательность выбора необходимых блоков из соответствующих библиотек, и соединение их связями.

Обычно для моделирования динамической системы используют уравнения движения в виде (2).

Построение модели каждого уравнения начинаем с сумматора, имеющего столько входов, сколько членов содержит правая часть уравнение. Для первого уравнения это сумматор Sum1 (рис. 3). Входы сумматора могут иметь как положительное значение, так и отрицательное (рис. 4). Используемые блоки рекомендуется именовать для облегчения последующей проверки и анализа.

 

 

Рис. 3. Блок-схема модели

 

 

Рис. 4. Настройка сумматора

 

К выходу сумматора подключаем линейный преобразователь (множитель 1/m1), на выходе которого получаем значение второй производной. Далее включаем последовательно два интегратора (dz1, z1), на выходе которых получаем значения первой производной и самой переменной.

В нашем случае имеем два уравнения, соответственно процесс повторяем для второго уравнения.

Далее устанавливаем связи между входами и выходами соответствующих блоков, применяя, где необходимо, дополнительные линейные преобразователи и сумматоры.

Для моделирования возмущения используем функциональный блок Fcn, в котором в аналитическом виде запишем зависимость перемещения неровности от времени. Блок имеет вход, на который через линейный преобразователь подается от "таймера" независимая переменная - время.

Для вычисления производной перемещения неровности используется блок дифференцирования.

После установки всех связей определяем необходимые коэффициенты в используемых преобразователях.

Для моделирования использованы следующие исходные данные:

 

амплитуда первой гармоники неровности A 1 = 0.005 м;
амплитуда второй гармоники неровности A 2 = 0.002 м;
длина рельсового звена L = 25 м;
масса первого тела m 1 = 8.82 т;
жесткость первого яруса c 1 = 7000 кН/м;
демпфирования первого яруса b 1 = 60 кН с/м;
масса второго тела m 2 = 25.8 т;
жесткость второго яруса c 2 = 2600 кН/м;
демпфирования второго яруса b 2 = 125 кН с/м.

 

Зададим значения коэффициентов в соответствующих блоках (рис. 5).

 

 

Рис. 5. Задание коэффициента линейного преобразователя

 

Настроим интеграторы, зададим нулевые начальные условия (рис. 6).

Установим параметры интегрирования через меню (рис. 7).

Начало интегрирования – 0, конец интегрирования – 10. Используем метод ODE45 с переменным шагом интегрирования.

В соответствие с формулой (3) запишем функцию возмущения в блоке Fcn (рис. 8).

 

 

 

Рис. 6. Панель настойки интегратора

 

 

Рис. 7. Параметры интегрирования

 

 

Рис. 8. Функция возмущения

 

Для наблюдения за процессами в модели установим "осциллограф" - блок Scope, обозначенный "Перемещения", для отображения изменения переменных во времени.

Модель готова.

Приступаем к тестированию.

Проведем моделирование для заданных исходных данных.

Результаты моделирования представим в графическом виде (рис. 9).

При тестировании оцениваем соответствие модели поставленной задачи.

 

 

 

Рис. 9. Результаты моделирования – перемещения

 

 

Использование подсистем

 

Для моделирования простых систем достаточно использовать подход описанный выше. При увеличении размерности для увеличения наглядности и удобства отладки выделяют логические блоки – подсистемы. SIMULINK поддерживает многоуровневые системы. Для вложенных подсистем используют блок Subsystem (рис. 10). При раскрытии такого блока выводится окно с моделью соответствующей подсистемы (рис. 11, 12). Для передачи входных и выходных переменных используются так называемые порты подсистемы входные и выходные. В приведенном примере используются многоканальные порты – через один порт передается переменная и ее производная. Для создания «сложной переменной» (на блок-схеме такие переменные показаны жирными линиями) применяется блок Mux, для разделения – блок Demux.

Для большой разветвленной модели предпочтительно исходные данные собрать в одном месте, что облегчает настройку при исследовании влияния параметров системы. Один из вариантов – использование модуля присвоения начальных значений переменным MATLAB и использование в модулях SIMULINK имен этих переменных. В модели, показанной на рис. 10, в модуле START используется ссылка на подпрограмму в которой осуществляется присвоение начальных значений (рис. 13).

 

 

Рис. 10. Модель системы

 

 

 

Рис. 11. Подсистема, описывающая колебания первого тела

 

 

 

Рис. 12. Подсистема, описывающая колебания второго тела

 

 

 

Рис. 13. Настройка запускающей программы

 

 

Подпрограмма задания начальных значений – обычный m-файл. Для данного примера в файле MDYN21.m задаются следующие значения:

 

% MDYN21
% Start programm
%
echo on
A1=0.005;
A2=0.002;
L=25;
p=pi/L;
M1=8.82;
C1=7000;
B1=60;
M2=25.8;
C2=2600;
B2=125;
echo off
x0 = [0; 0; 0; 0;];
[t,x]=sim('mdyn21',10,simset('InitialState',x0));

В приведенном тексте подпрограммы знак "точка с запятой" в конце строки запрещает вывод значений переменных.

Для отображения введенных данных применены операторы «echo on – echo off ». Выделенный фрагмент подпрограммы выводится в управляющее окно MATLAB (рис 14).

Для изменения исходных данных используется текстовый редактор.

Запуск моделирующей программы в этом примере осуществляется двойным нажатием на блок START.

 

 

Рис. 14. Вывод в окне управляющей программы MATLAB

 

Добавим в модель информационный блок, содержащий краткое описание модели – блок Info, обозначенный символом «? ». Содержание блока показано на рис. 15.

 

 

Рис. 15. Информационный блок

 

Для отображения фазовой диаграммы введем блок отображения XY_Graph, обозначенный на блок-схеме " фазовая диаграмма ". Результаты вывода показаны на рис. 16.

 

 

Рис. 16. Результаты моделирования – фазовая диаграмма

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: