Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Результаты работы программы

Постановка задачи

 

Двигатель из состояния покоя приводит в движение вал рабочей машины. Механическая характеристика двигателя состоит из двух прямолинейных участков: МД1=a1+b1ω при и МД2=a2+b2ω при . Приведенный к валу двигателя момент инерции вращающихся частей машины и двигателя J, момент сопротивления на том же валу равен МС.

Определить зависимость скорости вала двигателя от времени ω(t). Вычислить скорость ωуст и время начала tуст установившегося движения вала. Построить графики зависимостей ω(t) и МД(t).

Исходные данные:

a1=96 Н*м

a2=2100 Н*м

b1=0,56 Н*м*с

b1=20 Н*м*с

МС=60 Н*м

J=12 кг*м2

n=20

Dt=0,1 с

ε=0,1

 

Математическая модель решения задачи

 

В качестве математической модели задачи используем дифференциальное уравнение движения вала двигателя

 


Тогда на прямолинейном участке при задача Коши примет вид:

 

                      (1)

 

Значение ω опр определим (см. рис. 1) из условия МДопр)=МДопр) или a1+b1ωопр=a2-b2ωопр.

Откуда

 

.

 

Решив задачу Коши на интервале аргумента  методом Эйлера и Рунге-Кутта четвертого порядка точности, получим таблично заданную зависимость t(ω). Построенную таблицу можно рассматривать в качестве зависимости ω(t) и использовать для определения МД(t).

На прямолинейном участке при  строим задачу Коши в виде

 

 (2)

 

Для каждого значения аргумента ti=ti-1+Dt, начиная с i=n+2 и используя tопр=tn+1, ωопрn+1, решаем задачу Коши (2) выбранным методом и получаем последовательность значений функции ωn+2, ωn+3, ωn+4 и т.д. Процесс вычислений прекращаем при выполнении условия . Тогда в качестве ωуст берем последнее вычисленное значение ωi и tуст=ti.

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

Пусть задано дифференциальное уравнение первого порядка  или y’=F (x, y)

На интервале [x0, xn] разобьём на n частей и получим X0,…,Xn.

 

Xi=X0+(i-1) h или Xi=Xi-1+h1, где .

 

Соответствующее значения y1=y*(xi), где y*(xi) - приближенное значение дифференциального уравнения.

Для получения численного решения дифференциального уравнения уравнение заменяется уравнениями относительно значений функции y*(x). Эти уравнения называют разностными. Простейшие разностные уравнения для заданного дифференциального уравнения имеют вид.

 

yi+1-yi=h*F (x, y)

yi+1=yi+h*F (x, y) - формула Эйлера.

 

Алгоритм метода Эйлера.

) Ввод исходных данных(x0, xn,n, y0).

2)

) x[0]=x0; y[0]=y0.

) Для i=1, n

.) x[i]=x [i-1]+h;

) y[i]=y [i-1]+h*f (x[i-1], y [i-1]);

) Для i=0, n

) Вывод x[i], y[i].


Алгоритм решения задачи

1. Вводим исходные данные

 

a1, a2, b1, b2, Mc, J, n, dt, epsilon;

. wopr:=(a2-a1)/(b1+b2); tn:=0; wn:=0; wk:=wopr;

 

Решаем дифференциальное уравнение с использованием процедуры EILER

 

3. EILER (n, wn, wk, tn, fun1, w, t)

 

Записываем в файл RESULTS.RES полученную табличную зависимость w(t) на промежутке 0<=w<=wopr;

 

4. Для i=1…n+1

. writeln (t[i], w[i], Md[i]);

 

Записываем в файл RESULTS.RES topr и wopr

 

5. writeln (topr, wopr);

. i:=n+2;

 

Определяем функцию w(t) на промежутке w>=wopr с использованием цикла с постусловием

 

7. repeat

. t[i]:=t [i-1]+dt;

. w[i]:=w [i-1]+dt*fun2 (w[i-1]);

. m:=i; i:=i+1;abs (w[i-1] - w[i])<=epsilon;

 

Записываем в файл RESULTS.RES полученную табличную зависимость w(t) на промежутке w>=wopr

 

8. Для i=n+2…m(t[i], w[i], Md[i]).

 

Записываем в файл результатов tyst, wyst, Mdyst.

 

. writeln (tyst, wyst, Mdyst).

 

Алгоритм процедуры EILER

 

1. t[1]:=tn; t [n+1]:=tk; v[1]:=vn; h:=(t [n+1] - t[1])/n;

. Для i=2…n+1

t[i]:=t[1] +(i-1)*h;

v[i]:=v [i-1]+h*f (t[i-1]);

 

Алгоритм функции fun1

 

1. fun1:=12/(2100+0.56*w-60)

 

Алгоритм функции fun2

 

1. fun2:=(2100-20*w-60)/12


Схема алгоритма

 

Функция fun1

 

:real

 

Функция fun2

 

:real

Процедура EILER

 

:integer; tn, tk, vn:real; f:fun;

Var t, v:vect

 

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

 

Наименование физический смысл идентификатор
Время t t
Угловая скорость двигателя ω w
Постоянные коэффициенты a1, a2, b1, b2 a1, a2, b1, b2
Момент сопротивления на валу двигателя MC Mc
Момент инерции двигателя J J
Шаг времени D t dt
Относительная ошибка измерения ε epsilon
Определенное и установленное время t опр, ω уст topr, wopr
Определенная и установлена угловая скорость ω опр wopr
Число интервалов разбиения n n

 


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

kyrsa4;crt;fun=function (y:real):real;=array [1..100] of real;f1, f2:fun;, w:vect; f3, f4:text;, n, m:integer;, wn, wk, Mc, a1, a2, b1, b2, dt, epsilon, j, topr, wopr:real;

{$F+}fun1 (w:real):real;:=12/(2100+0.56*w-60);fun2 (w:real):real;:=(2100-20*w-60)/12;

{$F-}EILER (n:integer; tn, tk, vn:real; f:fun; var t, v:vect);i:integer; h:real;[1]:=tn; t [n+1]:=tk; v[1]:=vn;:=(t [n+1] - t[1])/n;i:=2 to n+1 do begin[i]:=t[1]+(i-1)*h;[i]:=v [i-1]+h*f (t[i-1]);;;ClrScr;(f3,'results.res'); rewrite(f3);(f4,'danie.dat'); reset(f4);(f4, a1, a2, b1, b2, Mc, J, n, dt, epsilon);:=(a2-a1)/(b1+b2);:=0; wn:=0; wk:=wopr;(n, wn, wk, tn, fun1, w, t);(f3,'3avisimost w(t) pri 0<=w<=wopr');(f3,'t w Md');i:=1 to n+1 do writeln (f3, t[i]:5:2,' ', w[i]:5:2,' ', a1+b1*w[i]:5:2);(f3,'topr=', t [n+1]:5:2,'s wopr=', w [n+1]:5:2,'rad/s Mdopr=', a1+b1*w [n+1]:5:2,'H*s');(f3,'3avisimost w(t) pri w>wopr');(f3,'t w Md');:=n+2;t[i]:=t [i-1]+dt;[i]:=w [i-1]+dt*fun2 (w[i-1]);:=i; i:=i+1;abs (w[i-1] - w [i-2])<=epsilon;i:=n+2 to m do(f3, t[i]:5:2,' ', w[i]:5:2,' ', a2-b2*w[i]:5:2);(f3,'tyst=', w[m]:5:2,'s wyst=', t[m]:5:2,'rad/s Mdyst=', a2-b2*w[m]:5:2,'H*s');(f3); close(f4);until keypressed.

 

Результаты работы программы

вал двигатель скорость программа

3avisimost w(t) pri 0<=w<=woprw Md

0.00 96.00

4.87 98.73

9.75 101.46

14.62 104.19

19.49 106.92

24.37 109.65

29.24 112.38

34.11 115.10

38.99 117.83

43.86 120.56

48.74 123.29

53.61 126.02

58.48 128.75

63.36 131.48

68.23 134.21

73.10 136.94

77.98 139.67

82.85 142.40

87.72 145.13

92.60 147.85

97.47 150.58= 0.57s wopr=97.47rad/s Mdopr=150.58H*s

avisimost w(t) pri w>woprw Md

98.23 135.49

98.85 122.91

99.38 112.42

99.82 103.68

100.18 96.40

100.48 90.34

100.74 85.28

100.95 81.07

101.12 77.56

101.27 74.63

101.39 72.19

101.49 70.16

101.58 68.47=101.58s wyst= 1.87rad/s Mdyst=68.47H*s

 

Графическая часть

 

 


 

Анализ результатов

 

В результате работы программы была получена зависимость скорости вала двигателя от времени ω(t) и установившиеся время tуст и скорость ωуст.

За время t двигатель приобрел максимальную угловую скорость ω, которая в дальнейшей работе двигателя изменялась только в пределах заданной относительной погрешности измерений ε.

 


Литература

 

1. Рапаков Г.Г., Ржеуцкая С.Ю. Тurbo Pascal для студентов и школьников. - СПБ.: БХВ - Петербург. 2004. - 352 с.

2. Анципорович П.П., Алейникова О.И., Булгак Т.И., Луцко Н.Я. Информатика. Учебно-метод. Пособие к лабораторным работам для студ. машиностроит. спец. В 4 ч. - Мн.: БНТУ, 2009.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...