Xn, Yn, 0, 0, 0, 0, 0, 0, 0, l, Lde, 0, lcc, j2, q, mas, 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Xn, Yn, 0, 0, 0, 0, 0, 0, 0, l, Lde, 0, lcc, j2, q, mas,



FiDEg[i], FiDE_1[i], FiDE_2[i]); { Выходные }

FiDEr[i]:=FiDEg[i]/180*pi;

{ Определение ПФ центра масс шатуна 4 и оси шарнира E }

Lds4:=Lde/2;

Point (Xd[i], Yd[i], Xd_1[i], Yd_1[i], Xd_2[i], Yd_2[i], { Входные }

FiDEg[i], FiDE_1[i], FiDE_2[i], Lds4, 0, q, Mas, 3,

Xs4[i], Ys4[i], Xs4_1[i], Ys4_1[i], Xs4_2[i], Ys4_2[i]); { Выходные }

Point (Xd[i], Yd[i], Xd_1[i], Yd_1[i], Xd_2[i], Yd_2[i], { Входные }

FiDEg[i], FiDE_1[i], FiDE_2[i], Lde, Alfabg, q, Mas, 0,

Xe[i], Ye[i], Xe_1[i], Ye_1[i], Xe_2[i], Ye_2[i]); { Выходные }

{ Отрисовка траектории центра масс шатуна 4 }

k:=i;

Track (k, q, Mas, Xs4, Ys4);

If q=1 Then ReadKey;

End; { Завершение цикла }

ClearDevice; { Очистка графического экрана }

CloseGraph; { Выход из графического режима }

 

Далее следует блок тестирования и графического представления передаточных функций.

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

 

TestPF (n, Xa, Xa_1, Xa_2, 'Xa');

Grafik (n+1, FiOAg, Xa, Xa_1, Xa_2, 'Xa', 'Xa_1', 'Xa_2');

TestPF (n, Ya, Ya_1, Ya_2, 'Ya');

Grafik (n+1, FiOAg, Ya, Ya_1, Ya_2, 'Ya', 'Ya_1', 'Ya_2');

TestPF (n, FiABr, FiAB_1, FiAB_2, 'FiABr');

Grafik (n+1, FiOAg, FiABr, FiAB_1, FiAB_2, 'FiABr', 'FiAB_1', 'FiAB_2');

TestPF (n, FiCBr, FiCB_1, FiCB_2, 'FiCBr');

Grafik (n+1, FiOAg, FiCBr, FiCB_1, FiCB_2, 'FiCBr', 'FiCB_1', 'FiCB_2');

TestPF (n, Xs2, Xs2_1, Xs2_2, 'Xs2');

Grafik (n+1, FiOAg, Xs2, Xs2_1, Xs2_2, 'Xs2', 'Xs2_1', 'Xs2_2');

TestPF (n, Ys2, Ys2_1, Ys2_2, 'Ys2');

Grafik (n+1, FiOAg, Ys2, Ys2_1, Ys2_2, 'Ys2', 'Ys2_1', 'Ys2_2');

TestPF (n, Xb, Xb_1, Xb_2, 'Xb');

Grafik (n+1, FiOAg, Xb, Xb_1, Xb_2, 'Xb', 'Xb_1', 'Xb_2');

TestPF (n, Yb, Yb_1, Yb_2, 'Yb');

Grafik (n+1, FiOAg, Yb, Yb_1, Yb_2, 'Yb', 'Yb_1', 'Yb_2');

TestPF (n, Xd, Xd_1, Xd_2, 'Xd');

Grafik (n+1, FiOAg, Xd, Xd_1, Xd_2, 'Xd', 'Xd_1', 'Xd_2');

TestPF (n, Yd, Yd_1, Yd_2, 'Yd');

Grafik (n+1, FiOAg, Yd, Yd_1, Yd_2, 'Yd', 'Yd_1', 'Yd_2');

TestPF (n, FiDEr, FiDE_1, FiDE_2, 'FiDEr');

Grafik (n+1, FiOAg, FiDEr, FiDE_1, FiDE_2, 'FiDEr', 'FiDE_1', 'FiDE_2');

TestPF (n, Xs4, Xs4_1, Xs4_2, 'Xs4');

Grafik (n+1, FiOAg, Xs4, Xs4_1, Xs4_2, 'Xs4', 'Xs4_1', 'Xs4_2');

TestPF (n, Ys4, Ys4_1, Ys4_2, 'Ys4');

Grafik (n+1, FiOAg, Ys4, Ys4_1, Ys4_2, 'Ys4', 'Ys4_1', 'Ys4_2');

TestPF (n, Xe, Xe_1, Xe_2, 'Xe');

Grafik (n+1, FiOAg, Xe, Xe_1, Xe_2, 'Xe', 'Xe_1', 'Xe_2');

 

Следует вспомнить, что в начале разработки программы начальное положение кривошипа принято произвольно. Его следует уточнить с помощью графиков ПФ точки Е ползуна. Методом последовательных приближений следует определить угол, при котором ПФ1 ползуна равна нулю (с точностью до четвёртого знака после запятой), и принять его в качестве начального.

Следующим этапом расчёта механизма является его динамический анализ, задачей которого является определение закона изменения угловой скорости и ускорения начального звена - кривошипа 1.

Сначала следует определить параметры динамической модели механизма: приведённый к кривошипу момент внешних сил, приложенных к подвижным звеньям механизма, начиная со второго (4), переменную составляющую приведённого к кривошипу момента инерции механизма (5) и его производную по обобщённой координате (6).

Для рассчитываемого механизма

; (94)

(95)

(96)

Ниже приведен фрагмент программы для определения параметров динамической модели механизма. При этом величина силы технологического сопротивления принята одинаковой при движении ползуна как в одну, так и в другую сторону и направлена противоположно движению ползуна.

 

For i:=1 to 49 do Begin

if Xe_1[i]>0 Then Pcx[i]:=-5000 Else Pcx[i]:=5000;

End;

Grafik (n+1, FiOAg, Pcx, zz, zz, 'Pcx', '', '');

m2:=100;

m3:=200;

m4:=300;

m5:=1200; { Массы в кг }

Is2:=0.3;

Is3:=0.5;

Is4:=0.9; { Моменты инерции в кг∙м2 }

G2y:=-m2*9.81;

G3y:=-m3*9.81;

G4y:=-m4*9.81;

G5y:=-m5*9.81;

For i:=1 to 49 do Begin

Mnc[i]:=(G2y*Ys2_1[i] + G3y*Ys3_1[i] + G4y*Ys4_1[i] +

Pcx[i]*Xe_1[i])/1000;

{ Деление на 1000 - это перевод моментов в Нм }

Ip2[i]:=(m2*(sqr(Xs2_1[i])+sqr(Ys2_1[i]))+

m3*(sqr(Xs3_1[i])+sqr(Ys3_1[i]))+

m4*(sqr(Xs4_1[i])+sqr(Ys4_1[i]))+

m5*sqr(Xe_1[i]))/1000000+

Is2*sqr(FiAB_1[i]) +

Is3*sqr(FiCB_1[i]) +

Is4*sqr(FiDE_1[i]);

{ Деление на 106 - это перевод приведённых моментов инерции в кг∙м2 }

Ip2_1[i]:=2*(m2*(Xs2_1[i]*Xs2_2[i]+Ys2_1[i]*Ys2_2[i])+

m3*(Xs3_1[i]*Xs3_2[i]+Ys3_1[i]*Ys3_2[i])+

m4*(Xs4_1[i]*Xs4_2[i]+Ys4_1[i]*Ys4_2[i])+

m5*(Xe_1[i]*Xe_2[i]))/1000000+

2*(Is2*FiAB_1[i]*Fiab_2[i]+

Is3*FiCB_1[i]*Ficb_2[i]+

Is4*FiDE_1[i]*Fide_2[i]);

End;

Grafik (n+1, FiOAg, Mnc, zz, zz, 'Mnc', '', '');

TestPF (n, Ip2, Ip2_1, zz, 'Ip2');

Grafik (n+1, FiOAg, Ip2, Ip2_1, zz, 'Ip2', 'Ip2_1', '');

Следующим этапом расчёта является выбор электродвигателя для привода механизма.

Предварительно следует задать частоту вращения кривошипа в об/мин, которая характеризует производительность рассчитываемого механизма, и максимально допустимое значение передаточного отношения передаточного механизма. В нашем случае мы ориентируемся на использовании двухступенчатого цилиндрического редуктора.

n1:=80;

Umax:=30;

 

Выбор двигателя осуществляется с помощью процедуры Motor, которая входит в состав модуля Dinamika.tpu. Ниже приводится обращение к этой процедуре.

 

Motor (Mnc, n1, Umax, om1cp, Mndcp, nc, nn, pn, dk, lk, Massa, Delta);

 

Входными параметрами являются: массив значений Mnc, частота вращения кривошипа n1, а также передаточное отношение Umax.

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

К первым относятся средняя угловая скорость кривошипа om1cp, рассчитанная по n1, и приведённый к кривошипу средний момент Mndcp, который должен развивать электродвигатель.

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

Из каталога, который приведен в приложении А, следует выбрать двигатель, у которого синхронная частота вращения (750, 1000, 1500 или 3000) меньше допустимой частоты вращения ротора, а номинальная мощность ближайшая большая потребной мощности.

В нашем случае - это двигатель 4А100L4. Из каталога следует выписать параметры, которые необходимо ввести в компьютер в процессе диалога с программой:

- синхронную частоту вращения ротора nc в об/мин;

- номинальную частоту вращения ротора nn в об/мин;

- номинальную мощность двигателя pn в кВт;

- коэффициент перегрузки двигателя Kp=Mмаксном;

- даметр корпуса двигателя dk в мм;

- длину корпуса двигателя lk в мм;

- массу двигателя в кг.

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

 

Рисунок 27 - Механическая характеристика выбранного двигателя

 

С помощью этого графика следует оценить величину допускаемых колебаний угловой скорости ротора, обеспечивающих непопадание границы рабочего диапазона то ли в зону возможного «опрокидывания» двигателя, то ли в зону генераторного режима. В нашем случае допускаемая величина коэффициента вращения кривошипа оказалась равной 0,05. Все эти выбранные параметры передаются в следующую процедуру, используемую в программе. Однако, чтобы в процессе отладки программы каждый раз не проводить диалог с процедурой Motor, целесообразно её закомментировать с помощью фигурных скобок, а необходимые в дальнейшем параметры представить в виде:

 

nc:=1500;

nn:=1430;

pn:=4;

dk:=235;

lk:=392;

massa:=42;

Delta:=0.05;

 

Следующая процедура Dinamo, которая также входит в состав модуля Dinamika.tpu, позволяет в процессе численного решения дифференциального уравнения движения механизма определить передаточное отношение привода, подобрать момент инерции маховика, обеспечивающий принятое значение коэффициента неравномерности вращения кривошипа, оценить габариты и массу маховика при его установке на быстроходном или тихоходном валу привода, получить законы изменения угловой скорости и углового ускорения кривошипа при установившемся режиме, а также приведённого к кривошипу момента двигателя. Ниже приведено обращение к этой процедуре.

Из предыдущей части программы в процедуру передаются n1, nc, nn, pn, dk, lk, massa, Delta.

Для решения дифференциального уравнения движения механизма необходимо задать начальное значение угловой скорости кривошипа Om10. Его целесообразно принять близким к средней угловой скорости кривошипа Om1cp.

Поскольку требуемый момент инерции маховика определяется методом последовательных приближений за счёт изменения коэффициента r, начальное значение его можно принять равным 1 и затем уточнять в процессе диалога с процедурой, увеличивая r для уменьшения Delta и наоборот уменьшая r для увеличения Delta.

Ниже приведено значение r, соответствующее требуемому значению коэффициента неравномерности вращения.

 

Om10:=8;

r:=2.65;

Dinamo (n1, nc, nn, pn, dk, lk, massa, Delta, { Входные }

Om10, r, Mnc, Ip2, Ip2_1,

Om1cp, Mndcp, u, Ip1, Om1, Mnd, E1); { Выходные }

 

Возвращаемыми параметрами процедуры являются:

- средняя угловая скорость кривошипа;

- приведённый к кривошипу средний момент, развиваемый двигателем;

- передаточное отношение привода;

- момент инерции маховика;

- массив значений угловой скорости кривошипа;

- массив значений приведённого к кривошипу момента, развиваемого двигателем;

- массив значений углового ускорения кривошипа.

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

 

For i:=1 to 49 Do Begin

dOm1[i]:=Om1[i]-Om1cp;

E1_[i]:=E1[i]/10;

E1p[i]:=E1[i]/Om1[i];

End;

TestPF (n, Om1, E1p, zz, 'Om1');

Grafik (n+1, FiOAg, dOm1, zz, E1_, 'dOm1', '', 'E1_');

 

Для проведения силового расчёта необходимо знать проекции ускорений центров масс звеньев и их угловые ускорения, так как в соответствии с принципом Даламбера нужно учитывать силы инерции звеньев. Ниже приведен фрагмент программы для определения проекций ускорений центров масс звеньев, угловых ускорений звеньев, проекций главных векторов сил инерции звеньев и главных моментов сил инерции.

 

For i:=1 to 49 do Begin

as2x:=(Xs2_2[i]*sqr(Om1[i])+Xs2_1[i]*E1[i])/1000;

as2y:=(Ys2_2[i]*sqr(Om1[i])+Ys2_1[i]*E1[i])/1000;

as3x:=(Xs3_2[i]*sqr(Om1[i])+Xs3_1[i]*E1[i])/1000;

as3y:=(Ys3_2[i]*sqr(Om1[i])+Ys3_1[i]*E1[i])/1000;

as4x:=(Xs4_2[i]*sqr(Om1[i])+Xs4_1[i]*E1[i])/1000;

as4y:=(Ys4_2[i]*sqr(Om1[i])+Ys4_1[i]*E1[i])/1000;

ae:=(Xe_2[i]*sqr(Om1[i])+Xe_1[i]*E1[i])/1000;

E2:=Fiab_2[i]*sqr(Om1[i])+Fiab_1[i]*E1[i];

E3:=Ficb_2[i]*sqr(Om1[i])+Ficb_1[i]*E1[i];

E4:=Fide_2[i]*sqr(Om1[i])+Fide_1[i]*E1[i];

F2x[i]:=-m2*as2x;

F2y[i]:=-m2*as2y;

F3x[i]:=-m3*as3x;

F3y[i]:=-m3*as3y;

F4x[i]:=-m4*as4x;

F4y[i]:=-m4*as4y;

F5[i]:=-m5*ae;

Mf1[i]:=-Ip1*E1[i];

Mf2[i]:=-Is2*E2;

Mf3[i]:=-Is3*E3;

Mf4[i]:=-Is4*E4;

End;

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

(97)

Ниже приводится фрагмент программы для определения этой суммы для каждого из 48 положений начального звена. В программе этой сумме, которая является машинным нулём, присваивается имя Pogr. Деление на 1000 слагаемых, содержащих проекции сил инерции, связан с переводом размерностей из Нмм в Нм. Этот массив выводится на экран с помощью процедуры Grafik, и расчёт считается правильным, если ординаты этого графика действительно являются машинными нулями, то есть очень малыми величинами.

В противном случае следует искать ошибку, используя метод обнуления масс.

 

For i:=1 to 49 do

Pogr1[i]:=Mnd[i] + Mnc[i] + Mf1[i] +

(F2x[i]*Xs2_1[i]+F2y[i]*Ys2_1[i] +

F3x[i]*Xs3_1[i]+F3y[i]*Ys3_1[i] +

F4x[i]*Xs4_1[i]+F4y[i]*Ys4_1[i] +

F5[i]*Xe_1[i])/1000 +

Mf2[i]*FiAB_1[i] +

Mf3[i]*FiCB_1[i] +

Mf4[i]*FiDE_1[i];

Grafik (n+1, FiOAg, Pogr1, zz, zz, 'Pogr1', '', '');

 

Силовой расчёт механизма выполняется по группам Ассура, так как они являются статически определимыми системами. Причём сначала рассчитывается группа, которая соединена с другой частью механизма двумя кинематическими парами. Такой является группа Ассура второго вида, включающая шатун 4 и ползун 5.

На рисунке 28 приведена схема нагружения звеньев группы и реакции в КП для одного из положений механизма.

 

Рисунок 28 - Схема нагружения группы второго вида

 

Для определения реакций следует воспользоваться процедурой Sila2, описание которой имеет следующий вид:

 

Sila2 (G2у, G3y: Real; var Xа, Yа, Xb, Yb, Fing, { Входные }

Mc2, Xk2, Yk2, P2x, P2y, Mf2, Xs2, Ys2, F2x, F2y,

Mc3, Xk3, Yk3, P3x, P3y, Mf3, Xs3, Ys3, F3x, F3y,

Rax, Ray, R32x, R32y, Rnx, Rny, Mn: Massiv); { Выходные }

 

При обращении к этой процедуре следует иметь в виду, что звенья с номерами 2 и 3 в рассчитываемом механизме имеют номера 4 и 5, а имена кинематических пар D и E вместо А и В. Фрагмент программы силового расчёта приведен ниже.

Следует отметить, что идентификатор zz представляет нулевой массив.

 

Sila2 (G4y, G5y, Xd, Yd, Xe, Ye, zz, { Входные }



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 212; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.89.116.152 (0.085 с.)