Программа для определения ПФ кулисно-рычажного
Гиперболографа Вяткина
{$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
Дата добавления: 2018-10-26; просмотров: 177; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!