Автор: Пользователь скрыл имя, 29 Марта 2012 в 01:21, курсовая работа
Цель данной курсовой работы — изучение методов компьютерного моделирования с применением систем компьютерной математики на примере построения модели виброударного механизма – вибромолота.
w=90 c-1 — значение круговой частоты нагружающей силы;
Т=200 с — время моделирования.
Решим данное дифференциальное уравнение методом Булирша-Штера. Для этого воспользуемся функцией Bulstoer, решающей ОДУ методом Булирша-Штера с постоянным шагом. Параметрами этой функции являются:
вектор начальных условий;
начальная и конечная границы интервала независимой переменной, на котором ищется решение ОДУ;
количество точек на исследуемом интервале;
вектор-функция, содержащая правые части уравнений системы ОДУ.
Результатом работы функции является матрица, содержащая значения изменяемого аргумента и функции решения системы ОДУ. В нашем случае функция вернёт следующие столбцы значений:
первый столбец содержит изменение времени;
второй столбец — перемещение вибромассы.
третий — первая производная перемещения по времени;
На основании полученных данных находим ускорение вибромассы, и строим графики перемещения, скорости и ускорения вибромассы без учета возмущающей силы и силы удара о наковальню. Приложение А, рисунки А1, А2 и А3 соответственно.
А также строим графики перемещения, скорости и ускорения вибромассы с учетом возмущающей силы и силы удара о наковальню. Приложение А, рисунки А4, А5 и А6 соответственно.
3.2 Реализация а MatLab
Структура алгоритма решения поставленной задачи в Matlab отображена на графической блок-схеме (рисунки 3.1 и 3.2). Коментарии в таблице 3.1.
Рисунок 3.1 – графическая блок-схема алгоритма
Рисунок 3.2 – продолжение графической блок-схемы алгоритма
Таблица 3.1 – Комментарии к блок-схеме | ||
№ блока |
| Описание |
1 | – | установка начальных параметров системы (жесткость пружины, начальный зазор, массы вибромолота и эксцентрика и т. д.); |
2 | – | осуществляется задание начальных условий и установка временного интервала; |
3 | – | решается дифференциальное уравнение для нахождения перемещения вибромолота; |
4 | – | строится график перемещения вибромассы; |
5 | – | инициализируется вектор различных значений начального зазора для организации цикла, а также счетчик J для записи значаний в соответствующие им места массива; |
6 | – | условие повторения выполнения цикла – пока не просчитаны все зазоры; |
7 | – | решение ДУ для нахождения перемещения и скорости вибромолота; |
8 | – | условие повторения выполнения цикла – от 0 до tk, т.е. для всего отрезки времени; |
9 | – | проверка условия – пересещение > 0, т.е. при ударе определяется сила; |
10,11 | – | определение силы удара; |
Продолжение таблицы 3.1 – Комментарии к блок-схеме | ||
12,13 | – | итерационные переменные; |
14 | – | определяем зазор при мах значении силы; |
15 | – | строим график функции max сил от зазора; |
16 | – | вывод оптимального значения зазора. |
Приложения В и Б показывают реализацию заданной модели в Matlab(листинг M-файлов и тесты соответственно).
Для создания элементов управления на главной форме нам потребуется создать идентификаторы этих объектов в виде глобальных переменных (global form graph1 imag graph2 mass mass0 acerbity distance clearance frequency OpClearance;). C помощью объекта figure определим параметры окна. Объект axes позволяет отображать графическую информацию, каковой в нашем случае является схема виброударного механизма, а также график перемещения и график зависимости полной энергии от величины зазора. Другие элементы управления создадим с помощью объекта uicontrol. Далее создадим кнопку, по нажатию на которую будет производиться решение ОДУ. Callback-файл, содержащий функцию вызова решения ОДУ назовем «calculation.m». Вид дифференциального уравнения описывается в файле «equation.m». Листинг данного файлов содержатся в приложении В.
После нажатия на кнопку «РАСЧЕТ» происходит преобразование введённых пользователем данных из строки в число при помощи функции str2double. Далее создаем вектор начальных условий и дискретную переменную времени. Решаем дифференциальное уравнение вызовом функции ode45. По полученным данным с использованием функции plot строим графики перемещения вибромассы.
Далее строим график зависимости силы удара от величины зазора, на основании расчётов для разных величин зазора, изменяющихся от 0,005 метра до 0,15 метра с шагом 0.005 метра. Графики перемещения вибромолота, полученные в СКМ Mathcad и Matlab, совпали.
Из графика зависимости максимума силы удара от начального зазора видим, что оптимальный зазор равен 0.105.
Вид рабочего окна и полученные результаты представлены в приложении Б (14 опытов).
3.3 Реализация а Simulink
С помощью пакета SimuLink системы Matlab создана блочная модель виброударного механизма. Схема данной модели представлена на рисунках Г.1 – Г.3 приложения Г.
Подсистема(Subsistem), представленная на рисунке Г.2 отображает дифференциальное уравнение, описываюжее 2-ую производную пересещения(ускорение). Первый входной параметр(inp) – значение перемещения в данный момент времени. Второй входной параметр(p) – значение периодической возмущающей силы. Она зависит от времени. Третий входной параметр(p) – значение силы удара о накавальню. Данный параметр передается при ударе о накавюльню.
Выходной параметр(y'') является ускорение видромолота в данный момент времени, полученный с помощью входных параметров.
В созданной блочной модели использована Stateflow-диаграмма (рисунок Г.3). Эта диаграмма реализует переменную силу Ny. Она имеет два входных параметра и один выходной. Первый входной параметр(inp) – сила, возникающая при ударе вибромолота о наковальню, имеет вид гармонической функции, зависящей от перемещения и скорости вибромолота. Второй вход(input) – значение перемещения вибромолота. Этот вход используется для смены состояний внутри Stateflow-диаграммы (в тех случаях, когда происходит удар о наковальню).
Выходной параметр(output) может иметь одно из двух значений: 0 или значение первого входного параметра (в зависимости от значения второго входного параметра).
В основной модели simulink реализовано решение ДУ второго порядка с помощью 2-х Integrator-ов для получения скорости(Integrator2) и пересещения(Integrator), StateFlow-диаграммы для определениясилы удара, вычисленного с помощью блоков Constant, Product и Add. Также используется Sine Wave для задания переодтческой функции и коэффициентах при ней. Окно свойств Sine Wave представлено на рисунке 3.3.
Рисунок 3.3 – Окно свойств Sine Wave
В приложении Г на рисунках Г.4-Г.6 приведены результирующие графики перемещения, скорости и ускоения вибромассы в SimuLink, полученные спомощью блоков Scope(график перемещения), Scope1(график скорости) и Scope2(график ускорения).
3.4 Выводы по проведенным исследованиям
Нами были проведены исследования значений функций перемещения, скорости и ускорения виброударного механизма под воздействием начальных значений перемещения и скорости с учетом возмущающей силы. Исследования были проведены в с помощью систем компьютерного моделирования MathCAD, MatLab и Simulink.
Исходныме данные, использованные при нашем исследовании, были приняты из таблицы 2.1, по первой строке.
m =200 кг — масса вибромолота;
m0 =16 кг — масса эксцентрика;
r0=1,2 см — расстояние центра тяжести от оси вращения;
C=5 Н/м — жесткость пружины;
k=0,5 см — первоначальный зазор вибромолота от ограничителя при положении равновесия;
w=90 c-1 — значение круговой частоты нагружающей силы;
Т=200 с — время моделирования.
Полученные графики при решении задачи в MathCAD предоставлены в Приложении А рисунки А.4(график перемещения), А5(график скорости) и А.6(график ускорения).
При решении задачи в MatLab получен график функции перемещения(Приложении Б, рисунок Б.4).
В СКМ Simulink получены графики перемещения, скорости и ускорения, предоставленные в Приложении Г, рисунки Г4, Г5 и Г6 соответственно.
Полученные графики иденитичны, что дает нам прово сделать заключение в правильности реализации данного процесса в различных СКМ.
Заключение
Итогом курсовой работы стала компьютерная модель виброударного механизма, реализующая анализ данной модели на предмет рассчета ее динамических параметров, таких как перемещение в пространстве, скорости и ускорения в зависимости от момента времени. При решении задачи использовались системы компьютерной математики MathCAD и Matlab, а также данная модель была построена с использованием пакета Simulink.
Данная курсовая работа помогла освоить на практике все теоретические знания работы с различными системами компьютерной математики. А так же на практике изучить построение динамических систем.
Применение СКМ для решения поставленной задачи позволяет в значительной мере упростить процесс моделирования сложных систем. К достоинствам СКМ также можно отнести возможность варьировать входные параметры системы без изменения структуры модели.
3