Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Передаточные функции.rtf
Скачиваний:
6
Добавлен:
08.08.2019
Размер:
11.08 Mб
Скачать

Приложение н Программа для определения пф механизма, представленного на рис. 13.3

{$F+}

Program Primer3;

Uses Crt, Graph, MPF, Tm1m;

Const fioa0g=82.0; {Начальный угол кривошипа }

h=0; { Длина поводка }

Lnapr=50; { Длина направляющей для ползунов }

Var lc, q, j, Lck, Lcf, Lgk, Lhf, Ficfg, Fickg, Figkg,

Xk, Yk, Xh, Yh, Xg, Yg, Fihfg : Real;

i, k, r : Integer;

Ok, Ugol, T, mFihfg : Massiv;

{Описание используемых процедур}

{$i Grafik.pas}

Procedure Mech (Fiabg : Real); { Варьируемый параметр механизма }

Var l : Real;

Begin

j:=1;

Kr (Xo, Yo, Loa, Fioag, q, Xa, Ya); { Первичный механизм }

{ Фиктивный механизм }

Kr (Xa, Ya, Lab, Fiabg, q, Xb, Yb);

l:=0;

{ Первая присоединенная группа}

As1 (Xb, Yb, Xe, Ye, Lbd, Led, L, q, Fibdg, Fiedg);

Poi (Xb, Yb, Fibdg, Lbc, 40, q, 2, Xc, Yc);

Poi (Xb, Yb, Fibdg, Lbd, 0, q, 2, Xd, Yd);

As1 (Xc, Yc, Xg, Yg, Lck, Lgk, L, q, Fickg, Figkg);

Poi (Xc, Yc, Fickg, Lcf, 40, q, 2, Xf, Yf);

Poi (Xc, Yc, Fickg, Lck, 0, q, 2, Xk, Yk);

R:=Round(Lhf/Masg);

Poi (Xh, Yh, 0, 0, 0, q, r, Xh, Yh);

Zveno (Xb, Yb, Fibdg, Lbd, q);

Zveno (Xb, Yb, Fibdg+40, Lbc, q);

Zveno_ (Xc, Yc, Xd, Yd, q);

Zveno (Xc, Yc, Fickg, Lck, q);

Zveno (Xc, Yc, Fickg+40, Lcf, q);

Zveno_ (Xk, Yk, Xf, Yf, q);

Zveno_ (Xh, Yh, Xf, Yf, q);

Opora (Xo, Yo, 10, q, 1);

Opora (Xe, Ye, 10, q, 1);

Opora (Xg, Yg, 10, q, 1);

Opora (Xh, Yh, 10, q, 1);

End; { Procedure }

Function CF (X : Real) : Real;

Begin

q:=0;

Mech (X);

CF:=Sqrt(Sqr(xh-xf)+Sqr(yh-yf))-lhf; { Целевая функция }

End; { Function }

Begin

InitG; {Инициализация графического экрана }

Masg:=0.5; { Масштаб схемы }

{ Параметры механизма }

Xo:=0; Yo:=0; { Координаты точки О }

Xe:=40; Ye:=-20;

Xg:=80; Yg:=-35;

Xh:=115; Yh:=-15{-30};

loa:=5; { Длина звена OA }

Lab:=45; { Длина звена AB }

Lbd:=30; { Длина звена BE }

Lbc:=45; { Длина звена BC }

led:=32; { Длина звена ED }

Lck:=30;

Lgk:=30;

Lcf:=45;

Lhf:=15;

For i:=1 to m Do Begin

Fioag:=Fioa0g+DFi*(i-1); { Расчет текущего угла }

FiAbg:=Find(CF);

Kr (Xa, Ya, Lab, Fiabg, q, Xb, Yb);

As1 (Xb, Yb, Xe, Ye, Lbd, Led, L, q, Fibdg, Fiedg);

Poi (Xb, Yb, Fibdg, Lbc, 40, q, 2, Xc, Yc);

As1 (Xc, Yc, Xh, Yh, Lcf, Lhf, L, q, Ficfg, Fihfg);

OK[i]:=Fioag;

Ugol[i]:=Fiabg;

mFihfg[i]:=Fihfg;

q:=1;

ClearDevice;

Mech (Fiabg);

ReadKey;

End; { For }

Grafik(m, Ok, Ugol, mFihfg, Ugol, 'Fiabg', 'Fihfg', '');

End. { Program }

Приложение п Программа для определения пф кулисно-рычажного гиперболографа Вяткина

{$F+}

Program Primer4;

Uses Crt, Graph, MPF, Tm1m; {Перечень используемых модулей }

{ Описание типов }

Type ArraySqVar=Array[1..10,1..10] of Real;

ArrayVar=Array[1..10] of Real;

{Описание констант }

Const fioa0g= 55.5; {Начальный угол кривошипа }

h=0; {Длина поводка }

Lnapr=50; {Длина направляющей для ползунов }

{Описание переменных }

Var A1 : ArraySqVar;

B1, B2, X, X1 : ArrayVar;

Driver, Mode : Integer;

lc, q, j, alfaCg, DFir, fimg, ldiag, loc, Xm,

lac, LBD, z, fFibdg,

R1, R2, R3, R4, R5, R6, R7, R8, R9, R10 : Real;

i, k, r, n : Integer;

zz,OK,

Xb, Yb, Xb_1, Yb_1, Xb_2, Yb_2,

Xe, Ye, Xe_1, Ye_1, Xe_2, Ye_2,

Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2,

Xd, Yd, Xd_1, Yd_1, Xd_2, Yd_2,

Xk, Yk, Xk_1, Yk_1, Xk_2, Yk_2,

fiocg, fiacg, fioc_1, fiac_1, fioc_2, fiac_2, Fiocr,

Fioar, Fibdg, Fideg, Fiacr : Massiv;

{Описание используемых процедур}

{$i Gauss.pas}

Procedure Mech (fFibdg : Real); {Варьируемый параметр механизма }

Var l : Real;

Begin

j:=1;

{ Фиктивный механизм }

Lbd:=80;

Kr (Xb[i], Yb[i], Lbd, fFibdg, q, Xd[i], Yd[i]);

l:=0;

lde:=lbd;

If fiOAg>90 Then j:=-1;

As2 (Xd[i], Yd[i], Xo, Yo, Fioag, L, Lde, h, Ldiag, J, q, Fideg[i]);

Poi (Xd[i], Yd[i], Fideg[i], Lde, 0, q, 2, Xe[i], Ye[i]);

End; {Procedure }

Function CF (X : Real) : Real;

Begin

q:=0;

Mech (X);

CF:=Sin((Fiocg[i]-fideg[i])/180*Pi);

End; { Function }

Begin

InitG; {Инициализация графического экрана }

SetBkColor(7);

Masg:=0.8; { Масштаб схемы }

{ Параметры механизма }

Xo:=0; Yo:=30;

loa:=200;

DFi:=1;

DFir:=DFi/180*pi;

For i:=1 to m+1 do Begin

if ch=#27 Then Break;

q:=1;

Fioag:=fioa0g+DFi*(i-1); { Расчет текущего угла }

Fioar[i]:=Fioag/180*pi;

Kriv (Xo, Yo, loa,Fioag, q, 1, Masg, xa[i],ya[i], xa_1[i], ya_1[i], xa_2[i], ya_2[i]);

Fimg:=30;

ldiag:=20;

Xn:=-150; Xm:=Xn;

Assur4 (Xo, Yo, 0, 0, 0, 0, Fioag, 1, 0, 0,

Xn, 0, 0, 0, 0, 0, Fimg, 0, 0, 0,

Masg, ldiag, q, Xa[i], Ya[i], Xa_1[i], Ya_1[i], Xa_2[i], Ya_2[i]);

Assur4 (Xo, Yo, 0, 0, 0, 0, Fioag, 1, 0, 0,

Xm, 0, 0, 0, 0, 0, -fimg, 0, 0, 0,

Masg, Ldiag, q, Xb[i], Yb[i], Xb_1[i], Yb_1[i], Xb_2[i], Yb_2[i]);

loc:=80;

lac:=loc;

Assur1 (Xo, Yo, 0, 0, 0, 0,

Xa[i], Ya[i], Xa_1[i], Ya_1[i], Xa_2[i], Ya_2[i],

loc, lac, -1, q, Masg,

Fiocg[i], Fiacg[i], Fioc_1[i], Fiac_1[i], Fioc_2[i], fiac_2[i]);

Fiacr[i]:=Fiacg[i]/180*pi;

Fiocr[i]:=Fiocg[i]/180*pi;

Fibdg:=Find(CF);

q:=1;

Mech (fFibdg);

Fibdg[i]:=fFibdg;

Zveno (Xo, Yo, Fiocg[i]+180, 100, q);

Zveno (Xe[i], Ye[i], Fideg[i]+90, 100, q);

As5 (Xe[i], Ye[i], 0, Xo, Yo, Fiocg[i], 90, Ldiag, q, Xk[i], Yk[i]);

Ok[i]:=Fioag;

k:=i;

q:=1;

Track (k, q, Masg, Xk, Yk);

ReadKey;

ClearDevice;

End; { For }

CloseGraph;

TestUniv (m+1, dFir, Xa, Xa_1, Xa_2, 'Xa');

Grafik (m, Ok, Xa, Xa_1, Xa_2, 'Xa', 'Xa_1', 'Xa_2');

TestUniv (m+1, dFir, Ya, Ya_1, Ya_2, 'Ya');

Grafik (m, Ok, Ya, Ya_1, Ya_2, 'Ya', 'Ya_1', 'Ya_2');

TestUniv (m+1, dFir, Xb, Xb_1, Xb_2, 'Xb');

Grafik (m, Ok, Xb, Xb_1, Xb_2, 'Xb', 'Xb_1', 'Xb_2');

TestUniv (m+1, dFir, Yb, Yb_1, Yb_2, 'Yb');

Grafik (m, Ok, Yb, Yb_1, Yb_2, 'Yb', 'Yb_1', 'Yb_2');

TestUniv (m+1, dFir, Fiocr, Fioc_1, Fioc_2, 'Fioc');

Grafik (m, Ok, Fiocr, Fioc_1, Fioc_2, 'Fiocr', 'Fioc_1', 'Fioc_2');

TestUniv (m+1, dFir, Fiacr, Fiac_1, Fiac_2, 'Fiac');

Grafik (m, Ok, Fiacr, Fiac_1, Fiac_2, 'Fiacr', 'Fiac_1', 'Fiac_2');

n:=6;

For k:=1 To n Do

For r:=1 To n Do A1[k,r]:=0;

For i:=1 to m Do Begin

A1[1,1]:=Xd[i]-Xb[i]; A1[1,2]:=Yd[i]-Yb[i];

A1[2,1]:=Xd[i]-Xe[i]; A1[2,2]:=Yd[i]-Ye[i];

A1[2,3]:=Xe[i]-Xd[i]; A1[2,4]:=Ye[i]-Yd[i];

A1[3,1]:=sin(Fiocr[i])/cos(Fiocr[i]); A1[3,2]:=-1;

A1[3,3]:=-A1[3,1]; A1[3,4]:=1;

A1[4,3]:=1; A1[4,4]:=-cos(Fioar[i])/sin(Fioar[i]);

A1[5,3]:=1; A1[5,4]:=A1[3,1];

A1[5,5]:=-1; A1[5,6]:=-A1[3,1];

A1[6,5]:=A1[3,1]; A1[6,6]:=-1;

B1[1]:=Xb_1[i]*(Xd[i]-Xb[i])+Yb_1[i]*(Yd[i]-Yb[i]);

B1[2]:=0;

B1[3]:=Fioc_1[i]*(Xe[i]-Xd[i])/sqr(cos(Fiocr[i]));

B1[4]:=Xb_1[i]-Yb_1[i]*cos(Fioar[i])/sin(Fioar[i])-

(Ye[i]-Yb[i])/sqr(sin(Fioar[i]));

B1[5]:=(Yk[i]-Ye[i])*Fioc_1[i]/sqr(cos(Fiocr[i]));

B1[6]:=-(Xk[i]-Xo)*Fioc_1[i]/sqr(cos(Fiocr[i]));

Gauss (N, A1, B1, X); {Расчет методом Гаусса }

Xd_1[i]:=X[1]; Yd_1[i]:=X[2];

Xe_1[i]:=X[3]; Ye_1[i]:=X[4];

Xk_1[i]:=X[5]; Yk_1[i]:=X[6];

End; { For }

n:=6;

For k:=1 To n Do

For r:=1 To n Do A1[k,r]:=0;

For i:=1 to m Do Begin

A1[1,1]:=Xd[i]-Xb[i]; A1[1,2]:=Yd[i]-Yb[i];

A1[2,1]:=Xd[i]-Xe[i]; A1[2,2]:=Yd[i]-Ye[i];

A1[2,3]:=Xe[i]-Xd[i]; A1[2,4]:=Ye[i]-Yd[i];

A1[3,1]:=Sin(Fiocr[i])/Cos(Fiocr[i]); A1[3,2]:=-1;

A1[3,3]:=-A1[3,1]; A1[3,4]:=1;

A1[4,3]:=1; A1[4,4]:=-cos(Fioar[i])/sin(Fioar[i]);

A1[5,3]:=1; A1[5,4]:=A1[3,1];

A1[5,5]:=-1; A1[5,6]:=-A1[3,1];

A1[6,5]:=A1[3,1]; A1[6,6]:=-1;

R1:=sqr(cos(Fiocr[i]));

R2:=sqr(R1);

R3:=sin(2*Fiocr[i]);

R4:=Fioc_2[i];

R5:=Fioc_1[i];

R6:=sqr(R5);

R7:=cos(Fioar[i])/sin(Fioar[i]);

R8:=sqr(sin(Fioar[i]));

R9:=sqr(R8);

R10:=sin(2*Fioar[i]);

B2[1]:=Xb_2[i]*(Xd[i]-Xb[i])+Yb_2[i]*(Yd[i]-Yb[i])-sqr(Xd_1[i]-Xb_1[i])-

sqr(Yd_1[i]-Yb_1[i]);

B2[2]:=-sqr(Xd_1[i]-Xe_1[i])-sqr(Yd_1[i]-Ye_1[i]);

B2[3]:=R4*(Xe[i]-Xd[i])/R1+2*R5*(Xe_1[i]-Xd_1[i])/R1+

(Xe[i]-Xd[i])*R3*R6/R2;

B2[4]:=Xb_2[i]-Yb_2[i]*R7+2*(Yb_1[i]-Ye_1[i])/R8+(Ye[i]-Yb[i])*R10/R9;

B2[5]:=(Yk_1[i]-Ye_1[i])*R5/R1*2+(Yk[i]-Ye[i])*(R4*R1+R6*R3)/R2;

B2[6]:=-2*Xk_1[i]*R5/R1-(Xk[i]-Xo)*(R4*R1+R6*R3)/R2;

Gauss (N, A1, B2, X); {Расчет методом Гаусса }

Xd_2[i]:=X[1]; Yd_2[i]:=X[2];

Xe_2[i]:=X[3]; Ye_2[i]:=X[4];

Xk_2[i]:=X[5]; Yk_2[i]:=X[6];

End; {For}

TestUniv (m+1, dFir, Xd, Xd_1, Xd_2, 'Xd');

Grafik (m, Ok, Xd, Xd_1, Xd_2, 'Xd', 'Xd_1', 'Xd_2');

TestUniv (m+1, dFir, Yd, Yd_1, Yd_2, 'Yd');

Grafik (m, Ok, Yd, Yd_1, Yd_2, 'Yd', 'Yd_1', 'Yd_2');

TestUniv (m+1, dFir, Xe, Xe_1, Xe_2, 'Xe');

Grafik (m, Ok, Xe, Xe_1, Xe_2, 'Xe', 'Xe_1', 'Xe_2');

TestUniv (m+1, dFir, Ye, Ye_1, Ye_2, 'Ye');

Grafik (m, Ok, Ye, Ye_1, Ye_2, 'Ye', 'Ye_1', 'Ye_2');

TestUniv (m+1, dFir, Xk, Xk_1, Xk_2, 'Xk');

Grafik (m, Ok, Xk, Xk_1, Xk_2, 'Xk', 'Xk_1', 'Xk_2');

TestUniv (m+1, dFir, Yk, Yk_1, Yk_2, 'Yk');

Grafik (m, Ok, Yk, Yk_1, Yk_2, 'Yk', 'Yk_1', 'Yk_2');

End. { Program }

Владимиров Эдуард Александрович,

Шоленинов Владислав Евгеньевич

ПЕРЕДАТОЧНЫЕ ФУНКЦИИ ПЛОСКИХ

РЫЧАЖНЫХ МЕХАНИЗМОВ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к изучению дисциплин

"Теория механизмов и машин",

"Прикладная механика",

"Расчет и моделирование механических систем"

Редактор Дудченко Елена Александровна

Подп. в печ. _________ Формат 60´84/16

Ризограф. печать Усл. печ. л. Уч.-изд. л.

Тираж   50 экз. Зак.№

________________________________________________________________

ДГМА. 84313, Краматорск, ул. Шкадинова, 72