Четырёхмассовая динамическая модель трансмиссии автомобиля

Анализ составления частотного уравнения методом последовательного расщепления. Расчет собственных частот матричным способом. Численные концепции решений дифференциальных вычислений. Особенность таблицы идентификаторов и логической схемы определений.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.03.2015
Размер файла 237,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА «АВТОМОБИЛИ»

Курсовая работа

Дисциплина «Компьютерные модели автомобилей»

Четырёхмассовая динамическая модель трансмиссии автомобиля

Выполнил студент

Подоляк А.А.

группа 101110

Принял Л.А. Молибошко

Минск - 2012

Содержание

1. Задание

2. Описание методов нахождения собственных частот

3. Расчет собственных частот заданной модели

3.1 Составление частотного уравнения методом последовательного расщепления

3.2 Расчет собственных частот матричным методом

4. Описание методов составления уравнений движения

4.1 Метод Даламбера

4.2 Уравнения Лагранжа обычно записывают в виде

5. Вывод уравнения движения заданной модели

6. Численные методы решений дифференциальных уравнений

7. Преобразование уравнений движений к стандартному виду

8. Таблица идентификаторов

9. Логическая схема решения

10. Текст программы

11. Файлы исходных данных и результатов расчета

12. Результаты расчета и их анализ

Выводы

Литература

1. Задание

Рассчитать скорости масс и моменты в упругих звеньях трансмиссии при трогании автомобиля с места.

Рисунок 1.1 - Динамическая модель

Исходные данные для расчета.

Таблица1

схемы

вар.

Моменты инерции, кгм2

Жесткости, Нм/рад

Коэф. демпфирования

Нмс/рад

J1

J2

J3

J4

с1

с2

с3

b1

b2

b3

1

1

1,0

0,35

5,2

3,7

35

150

115

2,4

3,1

1,72

схемы

вар

Моменты ,Н.м

Темп, 1/с

wmax,

Md0

Mc0

Mf

M

kd

kc

рад/с

1

1

300

610

65

350

10

35

120

Принять следующий характер изменения моментов Mд и Mс:

Mд = Mд0(1 - e-kдt) если 1 < max ;

Mд = 0 если 1 = max;

Mc = Mc0(1 - e-kct).

Учесть ограничение: 1 max.

Учитывать ограничения, которые накладываются моментами Mc и M на значения моментов в упругих звеньях модели. Расчет закончить после окончания разгона масс модели.

Выполнить:

1. Рассчитать скорости масс и моменты в упругих звеньях трансмиссии при трогании автомобиля с места.

2. Описать методы нахождения собственных частот.

3. Рассчитать собственные частоты заданной модели.

4. Описать методы составления уравнений движения.

5. Вывести уравнения движения заданной модели.

6. Описать численные методы решения дифференциальных уравнений.

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

8. Составить таблицу идентификаторов.

9. Составить логическую схему решения задачи.

10. Составить программу для расчета скоростей масс и моментов в упругих звеньях трансмиссии при трогании автомобиля с места.

11. Файлы исходных данных и результатов распечатать на принтере.

12. Результаты расчетов представить на двух рисунках. На первом показать изменение во времени (ось абсцисс) скоростей масс, а на другом - моментов в упругих звеньях.

13. Сделать выводы.

14. Привести список использованной литературы при выполнении контрольного задания.

2. Описание методов нахождения собственных частот

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

где i - номер массы, j - порядковый номер собственной частоты, j - фазовый угол, Aij - амплитуда колебаний i - ой массы на j - ой собственной частоте.

Из формулы следует, что в общем случае все массы системы совершают сложное колебательное движение, называемое полигармоническим.

Для нахождения собственных частот i объекта нужно в каком-либо виде записать его частотное уравнение R() как функцию инерционных и упругих параметров. Корни этого уравнения являются собственными частотами колебаний. Собственные частоты нумеруют в порядке возрастания, начиная с 1,

Частотное уравнение R() легко получается из передаточной функции рассматриваемой динамической модели объекта. Для этого достаточно приравнять нулю знаменатель передаточной функции и принять равными нулю коэффициенты демпфирования, т.е. считать систему консервативной.

Форма записи частотного уравнения R() может быть различной: в виде определителя, полиномиального уравнения, рекуррентных уравнений, цепной дроби и т. д. График изменения R() от частоты показан рис.1. Точки пересечения R() с осью абсцисс соответствуют собственным частотам. Критерием нахождения собственной частоты в интервале i ... i+1 является знак произведения

z = R(i)R(i+1) 0 ,

который должен быть отрицательным или равным нулю.

Используя линейную интерполяцию, находим j-ю собственную частоту модели:

,

где h - шаг счета.

Рисунок 2.1 - График изменения частотной функции R().

При расчете находятся или все собственные частоты, число которых обычно известно, или расположенные в определенном частотном диапазоне. Таким образом, в первом случае для нахождения собственных частот сначала нужно записать частотное уравнение и, увеличивая от min (обычно min = 0), найти нужное количество пересечений функции R() с частотной осью . Во втором случае собственные частоты ищутся в определенном частотном диапазоне.

Для записи частотного уравнения используют различные методы.

В общем случае для рассчитываемой консервативной модели составляются уравнения движения, которые сначала записываются в операторном виде (в преобразованиях Лапласа), а затем - в систематизированном виде. В результате получается система алгебраических уравнений, по которой составляют характеристический определитель системы R(s). Полученный характеристический определитель R(s) преобразовывают в частотный определитель R() заменой оператора s2 на -2. Таким образом, получают уравнение частот собственных колебаний, записанное в виде определителя. Например, для динамической модели с четырьмя парциальными системами:

,

где Ri = i - i, i = 1,4 - частотные функции парциальных систем;

i- квадраты собственных частот парциальных систем;

ri, i+1 - коэффициенты связи одной парциальной системы с другой.

Описанный выше метод нахождения частотного уравнения известен в литературе как матричный метод.

Логическим развитием матричного метода является метод декомпозиции или последовательного расщепления. Метод отличается наглядностью, простотой и не требует составления уравнений движения.

Сначала динамическая модель делится на две подсистемы с повторением какой-нибудь массы Jк. Частотное уравнение всей системы равно произведению частотных уравнений этих подсистем минус коэффициент связи к-1,к между ними, умноженный на частотные уравнения подсистем, которые получаются из исходной модели, если отбросить массу Jк и разорвать упругие звенья cк-1 и cк. Аналогичным методом выполняется дальнейшее расщепление системы. Если расщепление выполняется на массе, которая связана с несколькими упругими звеньями, то учитываются все возможные пути прохождения сигналов из одной подсистемы в другую.

На рис. 2 процесс последовательного расщепления показан на примере 5-массовой неразветвленной динамической модели.

Рисунок 2.2 - Графическая интерпретация метода последовательного расщепления неразветвленной динамической модели

Сначала динамическая модель расщепляется, например, на массе J3. В результате получаются две подсистемы с частотными уравнениями R12 и R34. Эти две подсистемы связаны между собой коэффициентом связи . Отсюда уравнение частот модели оказывается равным

R = R1234 = R12 R34 - г23 R1 R4 = 0.

Аналогичным образом расщепляются подсистемы с частотными уравнениями R12 и R34:

R12 = R1 R2 - г12; R34 = R3 R4 - г34.

После подстановки уравнений (2) в (1) получается уравнение частот рассматриваемой динамической модели:

R = (R1 R2 - г12) (R3 R4 - г34) - г23 R1 R4 = 0.

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

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

3. Расчет собственных частот заданной модели

3.1 Составление частотного уравнения методом последовательного расщепления

Рисунок 3.1 - Исходная модель.

Расщепим ее на массе 2

Рисунок 3.2 - Расщепление на массе 2

тогда,

где , тогда получим уравнение для собственных частот:

где , , ,

3.2 Расчет собственных частот матричным методом

;

,

тогда система перепишется в следующем виде:

Где , подставим в систему и получим:

Примем следующие обозначения:

,

,

,

,

и перепишем систему в следующем виде:

Примем: , ;

;

;

;

;

, ;

,

тогда система примет вид:

Соответственно частотный определитель примет вид:

Т.е. матричным методом и методом последовательного расщепления получены абсолютно идентичные уравнения.

Приведем его к стандартному виду:

, где

Первый корень найдём методом итераций:

, остальные корни найдем из решения квадратного уравнения:

,

Где ,.

Тогда корни найдем по уравнению

>

Проверка:

,

Погрешность

;

Погрешность

.

Погрешность

.

4. Описание методов составления уравнений движения

4.1 Метод Даламбера

Суть метода заключается в том, что указываются все сила действующие на систему, к ним добавляются силы инерции и на основании 2-го закона Ньютона все уравнение приравнивается нулю:

, и так для каждой массы.

Метод Даламбера более простой, чем уравнения Лагранжа, однако не является эффективным при составлении уравнений движения для сложной системы.

4.2 Уравнения Лагранжа обычно записывают в виде

,

где Eк, EП и Ф - энергии системы: кинетическая, потенциальная и функция рассеивания Ф; Qi - внешняя сила, действующая вдоль координаты qi. Нужно иметь в виду, что Ек, записанная в декартовых координатах, является функцией только скоростей и не зависит от координаты qi. Однако, записанная в обобщенных координатах, Ек может быть функцией qi и qi'.

Внешняя сила Qi при необходимости находится как производная виртуальной работы W по qi: .

Полная кинетическая энергия

.

Потенциальная энергия (понимается как приращение при перемещении масс) частота матричный дифференциальный идентификатор

,

где ci, cj - жесткости линейные и угловые упругих звеньев;

i, j - линейные и угловые деформации.

Функция рассеивания

,

где Fi - сила трения.

Если Fi = biqi ' и bi = const, то

Для силы постоянного трения

F = Fо sqn (qi`)

.

5. Вывод уравнения движения заданной модели

Выведем в общем виде уравнение движения заданной динамической модели при помощи уравнений Лагранжа II рода.

Полная кинетическая энергия:

,

Полная потенциальная энергия:

,

Энергия диссипативных сил:

.

Подставляем в уравнение Лагранжа и дифференцируем:

;

;

;

;

Получаем систему уравнений:

где , если ;

Мд=0, если ;

.

Учесть ограничение ,

Начальные условия:

, .

.

6. Численные методы решений дифференциальных уравнений

Дифференциальными называются уравнения, содержащие одну или несколько производных. В зависимости от числа независимых переменных и, следовательно, типа входящих в них производных дифференциальные уравнения делятся на два класса: обыкновенные дифференциальные уравнения (ОДУ), содержащие одну независимую переменную и производные по ней, и дифференциальные уравнения в частных производных (ДУЧП), содержащие несколько независимых переменных и производные по ним, которые называются частными.

Численными методами решается уравнение первого порядка в виде:

с начальными условиями x0, y0, где x и y - соответственно независимая и зависимая переменная. В дальнейшем будем считать такое уравнение записанным в стандартном виде.

Уравнения более высоких порядков приводят к системе уравнений первого порядка введением дополнительных переменных. Например, для уравнения второго порядка

примем . Тогда и имеем систему уравнений

Существует большое количество методов решения уравнения (1). В простейшем методе, называемом методом Эйлера, численное решение этой задачи получают, вычисляя сначала значение производной, а затем задавая малое приращение х и переходя к новой точке x1=x0+h. Положение новой точки определяется по наклону кривой, вычисленному с помощью дифференциального уравнения (1). Таким образом, график численного решения представляет собой последовательность коротких прямолинейных отрезков, которыми аппроксимируется истинная кривая y=f(x). Сам численный метод определяет порядок действий при переходе от данной точки кривой к следующей.

Существует две основные группы методов: одноступенчатые и двухступенчатые.

В одноступенчатых методах для нахождения функции y=f(x) в следующей точке xi+1 используется информация о функции только в предыдущей точке xi без использования итераций. Одним из таких методов является решение уравнений с помощью ряда Тейлора. Он обычно довольно неудобен для практического использования. Практически удобные методы этого класса (а их существует множество) включают в себя методы Рунге--Кутта. Эти методы являются прямыми (без итераций), однако требуют многократных повторных вычислений функции. Кроме того, при их использовании трудно оценивать допускаемую ошибку.

Многоступенчатые методы позволяют найти следующее значение функции, не производя многократных повторных вычислений функции, как при использовании одноступенчатых методов. Для достижения достаточной точности требуются итерации. Большинство методов этого класса называются методами прогноза и коррекции. Хотя и имеются некоторые трудности, связанные с использованием итерационной процедуры и с получением нескольких начальных точек решения, но они уравновешиваются тем фактом, что оценку ошибки при использовании этого метода легко получить в качестве побочного продукта вычислений.

Метод с использованием ряда Тейлора теоретически пригоден для решения любых дифференциальных уравнений, но с вычислительной точки зрения не представляет практического интереса. Его ценность заключается в том, что он даст некоторый эталон для сравнения между собой различных практически удобных методов.

Предположим, что значение функции у(х) в некоторой точке х = хn известно (задано) и требуется найти ее следующее значение.

Разложение функции у(х) в ряд Тейлора в окрестности точки х = хn имеет вид:

Чем больше членов ряда (2) будет взято для вычисления yn+1, тем точнее будет приближение. Значение первой производной y'n известно из (1). Вычисление производных второго и более высоких порядков затруднительно, а зачастую и вообще невозможно. Таким образом, с точки зрения практических вычислений этот метод неудобен. Однако если сравнивать различные практически применяемые методы, то для их оценки есть критерий - разложение в ряд Тейлора. Этот критерий можно применять несмотря на то, что практические методы вообще не предусматривают вычисления производных от функции f(x,y).

Метод Эйлера является простейшим методом решения обыкновенных дифференциальных уравнений первого порядка. Он основан на разложении функции в ряд Тейлора (2). Его точность невелика, и поэтому на практике им пользуются сравнительно редко. Если h мало, то члены, содержащие h во второй и более высоких степенях, являются малыми более высоких порядков и ими можно пренебречь. Тогда

.

Графическая интерпретация метода Эйлера показана на рис. 1. Известной является функция y0 в точке x0. Решение находится для ряда значений независимой переменной х с шагом h:

x1 = x0 + h ; x2 = x1 + h ; ... xn+1 = xn + h .

Значение функции y1 в точке х1 (рис. 1) находится на пересечении прямой, проведенной из точки (х0,у0) под углом 0 = arctg(y0') и перпендикуляра, проведенного к оси абсцисс из точки х1.

Рис. 1. Графическая интерпретация метода Эйлера

Процесс последовательно повторяется для других значений х:

y1 = y0 + hy0' = y0 + hf(x0,y0) ,

y2 = y1 + hy1' = y1 + hf(x1,y1), ...

yn+1 = yn + hyn' = yn + hf(xn,yn) .

Этот метод имеет довольно большую ошибку ограничения. Кроме того, он часто оказывается неустойчивым - малая ошибка (происходящая от ограничения, округления или заложенная в исходных данных) увеличивается с ростом х. Метод Эйлера - является методом первого порядка, так как он согласуется с разложением в ряд Тейлора вплоть до членов порядка h.

Для повышения точности решения используют методы более высокого порядка. Чаще всего пользуются методом Рунге-Кутта четвертого порядка, алгоритм которого имеет вид:

yn+1 = yn + (k1 + 2k2 + 2k3 + k4) / 6 ,

где k1 = hf(xn,yn) ;

k2 = hf(xn + 0.5h,yn + 0.5k1) ;

k3 = hf(xn + 0.5h,yn + 0.5k2) ;

k4 = hf(xn + h,yn + k3) .

7. Преобразование уравнений движений к стандартному виду

Необходимо решить систему:

Для решения на компьютере примем: , , , , тогда , ,, , тогда система уравнений движения перепишется в виде:

Решая эту систему, получаем в качестве выходных параметров скорости масс, для получения значений моментов дополним систему уравнениями:

Дополним систему начальными условиями:

При :

, , , ;

8. Таблица идентификаторов

номер

Название

размерность

значение

Идентификатор

1

Момент инерции

1.0

J1

2

Момент инерции

0.35

J2

3

Момент инерции

5.2

J3

4

Момент инерции

3.7

J4

5

Жесткость вала1

Н/рад

35

с1

6

Жесткость вала2

Н/рад

150

с2

7

Жесткость вала3

Н/рад

115

с3

8

Коэффициент демпфирования вала1

Н с/рад

2.4

b1

9

Коэффициент демпфирования

вала2

Н с/рад

3.1

b2

10

Коэффициент демпфирования

вала3

Н с/рад

1.72

b3

11

угловая скорость массы1

рад/с

60

y[1]

12

угловая скорость массы2

рад/с

0

y[3]

13

угловая скорость массы3

рад/с

0

y[5]

14

угловая скорость массы4

рад/с

0

y[7]

15

угловая координата массы 1

рад

0

y[2]

16

угловая координата массы 2

рад

0

y[4]

17

угловая координата массы 3

рад

0

y[6]

18

угловая координата массы 4

рад

0

y[8]

19

Максимальный момент двигателя

300

Md0

20

Максимальный момент сцепления

610

Mc0

21

Момент сцепления

350

Mf

22

Момент сопротивления

65

Mff

23

Время

с

-

T

24

шаг счета

с

-

H

25

Темп

1/с

10

Kd

26

Темп

1/с

35

Kc

27

Максимальная угловая скорость массы 1

рад/с

120

Wmax

9. Логическая схема решения

Размещено на http://www.allbest.ru/

Рисунок 9.1 - Логическая схема процедуры Runge

Размещено на http://www.allbest.ru/

Рисунок 9.2 - Логическая схема для вычисления кинематических и силовых характеристик четырёхмассовой динамической модели трансмиссии

10. Текст программы

Program kursovoi;

Uses crt,dos,graph;

type mas=array[1..10] of real;

Var

rez,rezz,rezb:text;

w:string[10];

d,y,y1,k,yy,max1,max2,l:mas;

u1,u2,u3,u4,mm1,mm2,mm3,mmc,mmd: array[1..1000] of real;

hp,tp,h,t,a1,a2,a21,g12,g13,g23,a3,a31,k1,k2,y4,y5,k3,w1,z,tmax,xmax,

xst,kx,ky,nmax,M1,M2,M3,M4,ymax,Md,Md0,y3,Mc,kd,kc,Mc0,Mf,Mff,q,nd,wm,ymin,

j1,j2,j3,j4,j5,c4,b4,c1,c2,c3,b1,b2,b3:real;

n,npix,i,j,p,r:integer;

grDriver: Integer;

grMode: Integer;

ErrCode: Integer;

procedure Setka(kx,ky:real; r1,r2:string; kk:integer);

Var

npix,i,c,d: integer;

nd:real;

w: string[10];

begin

if kx<3 then begin

c:=3;

d:=2;

end

else begin

c:=2;

d:=2;

end;

for i:=1 to 15 do begin

npix:=50;

setcolor(7);

line(round(30+(i-1)*npix),10,round(30+(i-1)*npix),460);

if i=13 then begin

setcolor(4);

outtextxy(i*npix+100,470, r1);

i:=i+1;

setcolor(7);

line(round(30+(i-1)*npix),10,round(30+(i-1)*npix),460);

end;

nd:=(i*npix/kx);

str(nd:c:d,w);

setcolor(1);

outtextxy(i*npix+8,470, w);

end;

if ky<2.5 then begin

c:=3;

d:=0;

end

else begin

c:=2;

d:=1;

end;

if kk=1 then begin

outtextxy(10,360, '0');

for i:=1 to 16 do begin

npix:=50;

setcolor(7);

line(30,360-trunc((i-1)*npix),630,360-trunc((i-1)*npix));

if i=8 then begin

setcolor(4);

outtextxy(3,360-i*npix, r2);

i:=i+1;

setcolor(7);

line(30,360-trunc((i-1)*npix),630,360-trunc((i-1)*npix));

end;

nd:=i*npix/ky;

str(nd:c:d,w);

setcolor(1);

outtextxy(0,360-i*npix, w)

end;

for i:=1 to 4 do begin

setcolor(7);

line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));

nd:=-i*npix/ky;

str(nd:c:d,w);

setcolor(1);

outtextxy(0,360+i*npix, w);

end;

end

else begin

for i:=1 to 16 do begin

npix:=50;

setcolor(7);

line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));

if i=6 then begin

setcolor(4);

outtextxy(3,360-i*npix, r2);

i:=i+1;

setcolor(7);

line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));

end;

nd:=i*npix/ky;

str(nd:c:d,w);

setcolor(1);

outtextxy(0,260-i*npix, w);

end;

for i:=1 to 4 do begin

setcolor(7);

line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));

nd:=-i*npix/ky;

str(nd:c:d,w);

setcolor(1);

outtextxy(0,260+i*npix, w);

outtextxy(10,260, '0');

end;

end;

end;

Procedure Prav(y:mas);

begin

M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);

M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);

M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);;

d[1]:=(-M1+Md)/j1;

d[2]:=y[1];

d[3]:=(M1-M2-M3)/j2;

d[4]:=y[3];

d[5]:=(M2)/j3;

d[6]:=y[5];

d[7]:=(M3-Mff)/j4;

d[8]:=y[7];

end;

function sign(y1:real):real;

begin

y1:=y[2]-y[4];

if y1<0 then sign:=-1

else sign:=1;

end;

function signn(y2:real):real;

begin

y2:=y[4]-y[6];

if y2<0 then signn:=-1

else signn:=1;

end;

Procedure Rynge;

begin

Prav(y);

for j:=1 to 8 do begin

yy[j]:=y[j];

k[j]:=h*d[j];

y1[j]:=yy[j]+0.5*k[j];

y[j]:=y[j]+k[j]/6;

end;

t:=t+0.5*h;

Prav(y1);

for j:=1 to 8 do begin

k[j]:=h*d[j];

y1[j]:=yy[j]+0.5*k[j];

y[j]:=y[j]+k[j]/3;

end;

Prav(y1);

for j:=1 to 8 do begin

k[j]:=h*d[j];

y1[j]:=yy[j]+k[j];

y[j]:=y[j]+k[j]/3;

end;

t:=t+0.5*h;

Prav(y1);

for j:=1 to 8 do begin

k[j]:=h*d[j];

y[j]:=y[j]+k[j]/6;

end;

end;

begin

assign(rez,'dannie.txt');

reset(rez);

readln(rez);

readln(rez);

readln(rez,y[1]);

readln(rez,y[2]);

readln(rez,y[3]);

readln(rez,y[4]);

readln(rez,y[5]);

readln(rez,y[6]);

readln(rez,y[7]);

readln(rez,y[8]);

readln(rez);

readln(rez,c1);

readln(rez,c2);

readln(rez,c3);

readln(rez);

readln(rez,b1);

readln(rez,b2);

readln(rez,b3);

readln(rez);

readln(rez,j1);

readln(rez,j2);

readln(rez,j3);

readln(rez,j4);

readln(rez);

readln(rez,Mc0);

readln(rez,Md0);

readln(rez,Mff);

readln(rez,Mf);

readln(rez);

readln(rez,kc);

readln(rez,kd);

readln(rez);

readln(rez,wm);

close(rez);

a1:=c1*(1/j1+1/J2);

a2:=c2*(1/j2+1/J3);

a3:=c3*(1/j2+1/j4);

a21:=c2/j3;

a31:=c3/j4;

g12:=c1*c2/(j2*j2);

g13:=c1*c3/(j2*j2);

g23:=c2*c3/(j2*j2);

n:=1;

w1:=0 ;

for i:=1 to 500 do begin

y3:=(a1-w1)*(a2-w1)*(a3-w1)-(a1-w1)*g23-(a31-w1)*g12-(a21-w1)*g13;

w1:=w1+0.1;

y4:=(a1-w1)*(a2-w1)*(a3-w1)-(a1-w1)*g23-(a31-w1)*g12-(a21-w1)*g13;

z:=y3*y4;

if z<0 then begin

l[n]:=w1;

writeln('w',n,'=',l[n]);

n:=n+1;

end;

end;

h:=0.05;

hp:=10*h;

assign(rezz,'result.txt');

rewrite(rezz);

writeln(rezz,' Kursovoy proekt');

writeln(rezz,' Chetirehmassovay dinamicheskaya model transmissii');

writeln(rezz,' Vipolnil: student gruppi 101110 Podolyak A.A.');

writeln(rezz,' Ishodnie dannie po varianty 1/1:');

writeln(rezz, ' j1=', j1:3:2);

writeln(rezz, ' j2=', j2:3:2);

writeln(rezz, ' j3=', j3:3:2);

writeln(rezz, ' j4=', j4:3:2);

writeln(rezz, 'Koef. yprygosti ');

writeln(rezz,'c1=', c1:5:2);

writeln(rezz,'c2=', c2:5:2);

writeln(rezz,'c3=', c3:5:2);

writeln(rezz, 'Koef. dempfir.');

writeln(rezz,' b1=', b1:4:2);

writeln(rezz, ' b2=', b2:4:2);

writeln(rezz, ' b3=', b3:4:2);

writeln(rezz, 'Shag s4eta h=', h:5:3);

writeln(rezz, 'Shag pe4ati hp=', hp:5:3);

writeln(rezz, 'rezultati ras4eta');

writeln(rezz, 'metodom iteraciy naydeni korni');

writeln(rezz, 'x1=',l[1]:3:2);

writeln(rezz, 'x2=',l[2]:3:2);

writeln(rezz, 'tablica zna4eniy peremennih');

writeln(rezz,;

write(rezz, ' t ! ');

write(rezz, ' w1 ! ');

write(rezz, ' w2 ! ');

write(rezz, ' w3 ! ');

write(rezz, ' w4 ! ');

write(rezz, ' M1 ! ');

write(rezz, ' M2 ! ');

write(rezz, ' M3 ! ');

writeln(rezz,

for i:=1 to 4 do begin

max1[i]:=0;

max2[i]:=0;

end;

t:=0;

if abs(M1)<=abs (Mc) then

M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);

if abs(M2)<=abs(Mf) then

M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);

M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);

u1[1]:=y[1];

u2[1]:=y[3];

u3[1]:=y[5];

u4[1]:=y[7];

write(rezz,t:6:3,' !');

write(rezz,' ',u1[1]:8:3,' !');

write(rezz,' ',u2[1]:8:3,' !');

write(rezz,' ',u3[1]:8:3,' !');

write(rezz,' ',u4[1]:8:3,' !');

write(rezz,' ',M1:8:3,' !');

write(rezz,' ',M2:8:3,' !');

writeln(rezz,' ',M3:8:3,' !');

wm:=120;

r:=1;

for i:=2 to 400 do begin

if kc*t>=5 then

Mc:=Mc0

else if kc*t<=5 then

Mc:=Mc0*(1-exp(-kc*t));

if kd*t>=5 then

Md:=Md0

else if kd*t<=5 then

Md:=Md0*(1-exp(-kd*t));

mmc[i]:=Mc;

mmd[i]:=Md;

if y[1]<wm then begin

rynge;

u1[i]:=y[1];

u2[i]:=y[3];

u3[i]:=y[5];

u4[i]:=y[7];

if abs(M1)<=abs(Mc) then

M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);

if abs(M2)<=abs(Mf) then

M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);

M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);;

if M1>Mc then M1:=Mc*sign(y[1]-y[3]);

if M2>Mf then M2:=Mf*signn(y[3]-y[5]);

mm1[i]:=M1;

mm2[i]:=M2;

mm3[i]:=M3;

end

else begin

Md:=0;

rynge;

y[1]:=wm;

u1[i]:=y[1];

u2[i]:=y[3];

u3[i]:=y[5];

u4[i]:=y[7];

if abs(M1)<=abs(Mc) then

M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);

if abs(M2)<=abs(Mf) then

M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);

M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);;

if M1>Mc then M1:=Mc*sign(y[1]-y[3]);

if M2>Mf then M2:=Mf*signn(y[3]-y[5]);

mm1[i]:=M1;

mm2[i]:=M2;

mm3[i]:=M3;

end;

max2[3]:=abs(u3[i]);

if r=10 then begin

write(rezz,t:6:3,' !');

write(rezz,' ',u1[i]:8:3,' !');

write(rezz,' ',u2[i]:8:3,' !');

write(rezz,' ',u3[i]:8:3,' !');

write(rezz,' ',u4[i]:8:3,' !');

write(rezz,' ',mm1[i]:8:3,' !');

write(rezz,' ',mm2[i]:8:3,' !');

writeln(rezz,' ',mm3[i]:8:3,' !');

r:=0;

end;

r:=r+1;

end;

writeln(rezz,

close(rezz);

writeln(max1[1]);

writeln(max1[2]);

writeln(max1[3]);

writeln(max1[4]);

writeln(max2[1]);

writeln(max2[2]);

writeln(max2[3]);

writeln('OK');

grDriver:=Detect;

InitGraph(grDriver, grMode,'');

ErrCode := GraphResult;

if ErrCode = grOk then

begin

setBkcolor(15);

cleardevice;

setcolor(7);

ky:=75/(35);

kx:=600/(9.0);

setka(kx,ky,'c','rad/c',1);

t:=0;

for i:=1 to 340 do begin

setcolor(8);

setlinestyle(0,0,1);

Line(round(kx*t+30),360-round(ky*(u1[i])), round(kx*(t+h)+30),360-round(ky*(u1[i+1])));

outtextxy(round(kx*0+30),360-round(ky*(u1[1])), 'w1');

setcolor(1);

Line(round(kx*t+30),360-round(ky*(u2[i])), round(kx*(t+h)+30), 360-round(ky*(u2[i+1])));

outtextxy(round(kx*0+30),360-round(ky*(u1[8])), 'w2');

setcolor(3);

Line(round(kx*t+30),360-round(ky*(u3[i])), round(kx*(t+h)+30), 360-round(ky*(u3[i+1])));

outtextxy(round(kx*1+30),360-round(ky*(u1[8])), 'w3');

setcolor(4);

Line(round(kx*t+30),360-round(ky*(u4[i])), round(kx*(t+h)+30), 360-round(ky*(u4[i+1])));

outtextxy(round(kx*0.6+30),360-round(ky*(u1[6])), 'w4');

t:=t+0.05;

end;

writeln('OK');

readln;

cleardevice;

t:=0;

ky:=600/(1700);

kx:=600/(12.0);

setka(kx,ky,'c','',2);

for i:=1 to 400 do begin

setcolor(8);

setlinestyle(0,0,1);

Line(round(kx*t+30),260-round(ky*(mm1[i])), round(kx*(t+h)+30), 260-round(ky*(mm1[i+1])));

outtextxy(round(kx*1.5+30),260-round(ky*(mm1[5])), 'M1');

setcolor(1);

Line(round(kx*t+30),260-round(ky*(mm2[i])), round(kx*(t+h)+30), 260-round(ky*(mm2[i+1])));

outtextxy(round(kx*1.5+30),260-round(ky*(mm2[2])), 'M2');

setcolor(2);

Line(round(kx*t+30),260-round(ky*(mm3[i])), round(kx*(t+h)+30), 260-round(ky*(mm3[i+1])));

outtextxy(round(kx*4.5+30),260-round(ky*(mm3[5])), 'M3');

setcolor(3);

Line(round(kx*t+30),260-round(ky*(mmc[i])), round(kx*(t+h)+30), 260-round(ky*(mmc[i+1])));

outtextxy(round(kx*4+30),260-round(ky*(mmc[5])), 'Mc');

setcolor(4);

Line(round(kx*t+30),260-round(ky*(mmd[i])), round(kx*(t+h)+30), 260-round(ky*(mmd[i+1])));

outtextxy(round(kx*6+30),260-round(ky*(mmd[9])), 'Md');

t:=t+0.05;

end;

readln;

CloseGraph;

end

else

Writeln('Graphics error:', GraphErrorMsg(ErrCode))

end.

11. Файлы исходных данных и результатов расчета

Файл исходных данных:

Данные по заданию 3, схема 1, исходные данные 1.

выполнил ст.гр.101110 Подоляк А.А.

60 -начальная скорость массы 1

0 -начальное перемещение массы 1

0 -начальная скорость массы 2

0 -начальное перемещение массы 2

0 -начальная скорость массы 3

0 -начальное перемещение массы 3

0 -начальная скорость массы 4

0 -начальное перемещение массы 4

35 -жесткость звена 1

150 -жесткость звена 2

115 -жесткость звена 3

2.4 -коэффициент демпфирования звена 1

3.1 -коэффициент демпфирования звена 2

1.72 -коэффициент демпфирования звена 3

1.0 - момент инерции звена 1

0.35 - момент инерции звена 2

5.2 - момент инерции звена 3

3.7 - момент инерции звена 4

610 - максимальный момент в сцеплении Mc0

300 - максимальный момент двигателя Md0

65 - момент сопротивления Mff

350 - момент сцепления

35 -темп kc

10 -темп kd

120 -максимальная угловая скорость вращения звена 1

Файл результатов:

Kursovoy proekt

Chetirehmassovay dinamicheskaya model transmissii

Vipolnil: student gruppi 101110 Podolyak A.A.

Ishodnie dannie po varianty 1/1:

j1=1.00

j2=0.35

j3=5.20

j4=3.70

Koef. yprygosti

c1=35.00

c2=150.00

c3=115.00

Koef. dempfir.

b1=2.40

b2=3.10

b3=1.72

Shag s4eta h=0.050

Shag pe4ati hp=0.500

rezultati ras4eta

metodom iteraciy naydeni korni

x1=30.10

x2=34.50

12. Результаты расчета и их анализ

Рисунок 12.1 - График зависимости угловых скоростей звеньев от времени

Рисунок 12.2 - График зависимости моментов в упругих звеньях от времени

Из рисунка 12. 1 и 12.2 видно, что период колебаний на первой частоте , а соответствующая ей частота

.

Ранее аналитически получено значение

,

тогда относительная ошибка равна

.

Выводы

В результате курсовой работы были получены: 1) частотные уравнения методом последовательного расщепления и матричным методом, найдены значения собственных характеристик; 2)уравнения движения, которые были получены с помощью уравнения Лагранжа 2 рода; 3) рассмотрены различные методы решения дифференциальных уравнений; 4)Паскаль-программа, с помощью которой проведены графические решения дифференциальных уравнений движения и найдена собственная частота методом итераций; 5)проведен анализ решения.

Литература

1. Компьютерные модели автомобилей: учебник / Молибошко Л.А. - Минск: Новое знание; М.: ИНФРА-М, 2012 -295 с.: ил. - (Высшее образование)

2. Паскаль для персональных компьютеров: Справ. пособие / Ю.С. Бородич, А.Н.Вальвачёв, А.И.Кузьмич. - Мн.:Выш. шк.: БФ ГИТМП “НИКА”,1991. - 365 с.

Размещено на Allbest.ru


Подобные документы

  • Численные методы решения нелинейных уравнений, используемых в прикладных задачах. Составление логической схемы алгоритма, таблицы индентификаторов и программы нахождения корня уравнения методом дихотомии и методом Ньютона. Ввод программы в компьютер.

    курсовая работа [220,0 K], добавлен 19.12.2009

  • Решение уравнения методом половинного деления. Программа в Matlab для уравнения (x-2)cos(x)=1. Решение нелинейных уравнений методом Ньютона. Интерполяция заданной функции. Решение системы линейных алгебраических и обыкновенных дифференциальных уравнений.

    курсовая работа [1,4 M], добавлен 15.08.2012

  • Использование повторяющегося процесса. Нахождение решения за определенное количество шагов. Применение метода хорд и метода простой итерации. Методы нахождения приближенного корня уравнения и их применение. Построение последовательного приближения.

    курсовая работа [849,1 K], добавлен 15.06.2013

  • Программа вычисления интеграла методом прямоугольников. Решение задачи Коши для дифференциальных уравнений. Модифицированный метод Эйлера. Методы решения краевой задачи для обыкновенного дифференциального уравнения. Задачи линейного программирования.

    методичка [85,2 K], добавлен 18.12.2014

  • Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.

    курсовая работа [832,6 K], добавлен 24.07.2012

  • Математическое описание алгоритмов схемы и операций для уравнения Лапласа. Изучение разностной схемы "крест" для нахождения численного решения эллиптического уравнения, задача Дирихле. Использование указателей в среде Matlab для решений методом Гаусса.

    дипломная работа [859,3 K], добавлен 23.10.2014

  • Построение аппроксимирующей зависимости методом наименьших квадратов. Расчет интеграла по Ричардсону. Последовательность действий при аппроксимации экспоненциальной зависимостью. Определение корня уравнения методом простых итераций и решение задачи Коши.

    курсовая работа [550,5 K], добавлен 13.03.2013

  • Изучение численных методов решения нелинейных уравнений. Построение годографа АФЧХ, графиков АЧХ и ФЧХ с указанием частот. Практическое изучение численных методов интегрирования дифференциальных уравнений высокого порядка, метод Рунге-Кутта 5-го порядка.

    курсовая работа [398,3 K], добавлен 16.06.2009

  • Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.

    курсовая работа [435,8 K], добавлен 15.06.2013

  • Нахождение собственных чисел и разработка фундаментальной системы решений. Построение фундаментальной матрицы методом Эйлера. Зависимость Жордановой формы матрицы А от ее собственных чисел. Решение задачи Коши. Построение фазового портрета в MATLAB.

    курсовая работа [1,4 M], добавлен 20.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.