Разработка программы для определения зависимости скорости вала двигателя от времени

 

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


Двигатель из состояния покоя приводит в движение вал рабочей машины. Механическая характеристика двигателя состоит из двух прямолинейных участков: МД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


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


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


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


(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

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

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

) Для i=0, n

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

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


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

.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

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

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

.3. 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

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

.2 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


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


Функция fun1


:real


Функция fun2


:real

Процедура EILER


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

Var t, v:vect


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


Наименованиефизический смыслидентификаторВремяttУгловая скорость двигателя?wПостоянные коэффициентыa1, a2, b1, b2a1, a2, b1, b2Момент сопротивления на валу двигателяMCMcМомент инерции двигателяJJШаг времениDtdtОтносительная ошибка измерения?epsilonОпределенное и установленное времяtопр, ?устtopr, woprОпределенная и установлена угловая скорость?опрwoprЧисло интервалов разбиенияnn

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

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.


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

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

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

.00 0.00 96.00

.03 4.87 98.73

.06 9.75 101.46

.09 14.62 104.19

.11 19.49 106.92

.14 24.37 109.65

.17 29.24 112.38

.20 34.11 115.10

.23 38.99 117.83

.26 43.86 120.56

.28 48.74 123.29

.31 53.61 126.02

.34 58.48 128.75

.37 63.36 131.48

.40 68.23 134.21

.43 73.10 136.94

.45 77.98 139.67

.48 82.85 142.40

.51 87.72 145.13

.54 92.60 147.85

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

avisimost w(t) pri w>woprw Md

.67 98.23 135.49

.77 98.85 122.91

.87 99.38 112.42

.97 99.82 103.68

.07 100.18 96.40

.17 100.48 90.34

.27 100.74 85.28

.37 100.95 81.07

.47 101.12 77.56

.57 101.27 74.63

.67 101.39 72.19

.77 101.49 70.16

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


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




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


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

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


Литература


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

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



1. Постановка задачи Двигатель из состояния покоя приводит в движение вал рабочей машины. Механическая характеристика двигателя состоит из двух прямолине

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ