BernnuxJBryWT/Proceedmgs of VSUET, № 2, 2016u
Оригинальная статья/Original article_
УДК 532
DOI: http://doi.org/10.20914/2310-1202-2016-2-87-94
Программная реализация математической модели кинематического расчета плоских рычажных механизмов
Максим А. Васечкин, 1 [email protected]
Андрей И. Потапов, 2 [email protected]
Александр С. Сидоренко, 3 [email protected]
Евгений Д. Чертов_1 [email protected]
1 кафедра технической механики, Воронеж. гос. ун-т. инж. технол., пр-т Революции, 19, г. Воронеж, 394036, Россия
2 кафедра машин и аппаратов пищевых производств, Воронеж. гос. ун-т. инж. технол., пр-т Революции, 19, г. Воронеж, 394036, Россия
3 кафедра общепрофессиональных дисциплин, Военный учебно-научный центр военно-воздушных сил «Военная воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина», ул. Старых Большевиков, 54а, г. Воронеж, 394064, Россия
Реферат. Кинематический расчёт механизмов является очень трудоёмкой работой. Благодаря содержанию большого количества однотипных операций, его можно автоматизировать с помощью ЭВМ. Для этого необходимо осуществить программную реализацию математической модели кинематического расчёта механизмов второго класса. В статье на языке Turbo Pascal представлен текст модуля с библиотечными процедурами кинематического исследования всех плоских рычажных механизмов второго класса. Определение кинематических характеристик механизма и построение его положений, планов скоростей и ускорений проведено на примере шестизвенного механизма. Начало неподвижной координатной системы совпадает с осью вращения кривошипа АВ. Предполагается, что известны длины всех звеньев, координаты всех дополнительных точек звеньев и координаты всех кинематических пар стойки механизма, т. е. данному этапу работы по определению кинематики механизма должен предшествовать этап синтеза механизма (определение недостающих размеров звеньев). Задаём координаты точки С и учитывая, что аналоги скоростей и ускорений данной точки равны 0 (точка неподвижна), обращаемся к процедуре, вычисляющей кинематику группы Ассура (ГА) третьего вида. Указываем кинематические характеристики точки D, принимая начало направляющей ползуна Е в точке С, угол наклона, аналог угловой скорости и аналог углового ускорения направляющей равными нулю, зная длину шатуна DE и длину звена 5, обращаемся к процедуре для ГА второго вида. Использование библиотечных процедур модуля кинематического расчёта, позволяет сравнительно просто организовать имитацию движения механизма, рассчитать проекции аналогов скоростей и ускорений всех звеньев механизма, построить планы скоростей и ускорений в каждом положении механизма.
Ключевыеслова^_
Program realization of mathematical model of kinematic calculation
of flat lever mechanisms
Maxim A. Vasechkin, 1 [email protected]
Andrey I. Potapov, 2 [email protected]
Alexandr S. Sidorenko, 3 [email protected]
Yevgeny D. Chertov 1 [email protected]
1 technical mechanics department, Voronezh State University of Engineering Technologies, Revolution Av., 19, Voronezh, 394066, Russia
2 machine and devices of food productions department, Voronezh State University of Engineering Technologies, Revolution Av., 19 Voronezh
3 Chair ofAll-Professional Disciplines Russian Air Force Military Educational and Scientific Center "Air Force Academy named after Professor N.E. Zhukovsky and Y.A. Gagarin", Starykh Bolshevikov St., 54a, Voronezh, 394064, Russia_
Summary. Calculation of kinematic mechanisms is very time-consuming work. Due to the content of a large number of similar operations can be automated using computers. For this purpose, it is necessary to implement a software implementation of the mathematical model of calculation of kinematic mechanisms of the second class. In the article on Turbo Pascal presents the text module to library procedures all kinematic studies of planar lever mechanisms of the second class. The determination of the kinematic characteristics of the mechanism and the construction of its provisions, plans, plans, speeds and accelerations carried out on the example of the six-link mechanism. The beginning of the motionless coordinate system coincides with the axis of rotation of the crank AB. It is assumed that the known length of all links, the positions of all additional points of links and the coordinates of all kinematic pairs rack mechanism, i.e. this stage of work to determine the kinematics of the mechanism must be preceded by a stage of synthesis of mechanism (determining missing dimensions of links). Denote the coordinates of point C and considering that the analogues of velocities and accelerations of this point is 0 (stationary point), appeal to the procedure that computes the kinematics group the Assyrians (GA) third. Specify kinematic parameters of point D, taking the beginning of the guide slide E at point C, the angle, the analogue of the angular velocity and the analogue of the angular acceleration of the guide is zero, knowing the length of the connecting rod DE and the length of link 5, refer to the procedure for the GA of the second kind. The use of library routines module of the kinematic calculation, makes it relatively simple to organize a simulation of the mechanism motion, to calculate the projection analogues of velocities and accelerations of all links of the mechanism, to build plans of the velocities and accelerations at each position of the mechanism. Keywords: program, mathematical model, kinematic calculation, groups of Assur
Для цитирования Васечкин М. А., Потапов А. И., Сидоренко А. С., Чертов Е. Д. Программная реализация математической модели кинематического расчета плоских рычажных механизмов // Вестник ВГУИТ. 2016. № 2. С 87-94. doi: 10.20914/2310-1202-2016-2-87-94
For citation
Vasechkin M. A., Potapov A. I., Sidorenko A. S., Chertov Y. D. Program realization of mathematical model of kinematic calculation of flat lever mechanisms. Vestnik VSUET [Proceedings ofVSUET]. 2016. no .2. pp. 8794 (in Russ.). doi:10.20914/2310-1202-2016-2-87-94
Введение
Проектирование механизма представляет собой сложную инженерную задачу, решая которую приходится определять оптимальную кинематическую схему механизма на основе технического задания. Решение задачи анализа облегчается при визуализации кинематики рассматриваемого механизма. Поэтому программная реализация математической модели кинематического расчёта плоских рычажных механизмов представляет интерес [1-6].
В качестве языка программирования был выбран Turbo Pascal фирмы Borland - базовый язык программирования в учебных заведениях.
По результатам работ [1-2] разработаны компьютерные процедуры, вычисляющие кинематических характеристики любых плоских рычажных механизмов, имеющих в своём составе, кроме начального звена, хотя бы одну двухповодковую группу Ассура. Расчётные схемы показаны на рисунке 1.
На рисунке 1 приняты следующие обозначения: ¡2, 1з - размеры второго и третьего звеньев; I, I5- вспомогательные размеры; ф2, фз -углы наклона к оси абсцисс второго и третьего звеньев; а, у - вспомогательные углы.
На языке Turbo Pascal составлен модуль DIADA. В этот модуль входят библиотечные процедуры, определяющие кинематические характеристики каждой двухповодковой группы Ассура.
Листинг модуля DIADA Unit Diada; Interface Var
al1,al2,a21,a22,calpha,salpha: real;
bl,b2,alpha,znam : real;
bx,by : real;
ch : char;
Procedure Diad-
alv(sb,ax,ay,vax,vay,aax,aay, cx,cy,vex,vcy.acx,acy,12,13: real; Var
fi2,omega2,epsi2,fi3,omega3,epsi3: real);
Procedure Di-
ada2v(ax,ay,vax,vay,aax,aay,cx,cy,
vcx,vcy,acx,acy,fi3,omega3,epsi3,12,13:re
al;
Var fi2,omega2,epsi2,14,v4,a4:real); Procedure Di-
ada3v(ax,ay,vax,vay,aax,aay, cx,cy,vcx,vcy,acx,acy,12: real; Var fi3,omega3,epsi3,13,v3,a3: real); Procedure Di-
ada4v(ax,ay,vax,vay,aax,aay,fi2,
omega2,epsi2,cx,cy,vcx,vcy,acx,acy,fi3,om ega3,
epsi3,12,13: real; Var ll,vl,al,14,v4,a4: real);
Procedure Di-
ada5v(ax,ay,vax,vay,aax,aay,cx, cy,vcx,vcy,acx,acy,12,fi3,omega3,epsi3,al pha: real;
VarAx2,Vax2,Aax2,Bx3,Vbx3,Abx3: real);
Function Atan2(x,y: real): real;
Implementation
Function Atan2;
Begin
if (x > 0) and (y >= 0) then Atan2:=ArcTan(y/x);
if (x > 0) and (y <= 0) then Atan2:=2*pi-ArcTan(abs(y)/x);
if (x < 0) and (y >= 0) then Alan2:=pi-ArcTan(y/abs(x));
if (x < 0) and (y <= 0) then Alan2:=pi+ ArcTan(y/x);
if (x = 0) and (y > 0) then Atan2 := pi/2;
if (x = 0) and (y < 0) then Atan2 :=
3*pi/2
End;
Procedure Diadalv;
Var
ac,bxl,byl,bx,by : real; Begin {Diadalv}
ac:= sqrt(sqr(cx - ax) + sqr(cy - ay)); alpha:= Atan2(cx - ax, cy - ay); salpha:= sin(alpha); calpha:= cos(alpha); bxl:= (sqr(12) + sqr(ac) -sqr(13))/(2*ac);
byl:= sqrt(sqr(12) - sqr(bxl));
ifsb = 2thcnbyl :=-byl;
bx:= ax + bx1*calpha - by1*salpha;
by:= ay + bxl*salpha + by1*calpha; fi2 := Atan2(bx - ax,by - ay); if fi2 > 2*pi then fi2 := fi2 -2*pi; fi3 := Atan2(bx - cx,by - cy); if fi3 > 2*pi then fi3 := fi3 -2*pi; if fi2< 0 then fi2 := fi2 + 2*pi; if fi3< 0 then fi3 := fi3 + 2*pi; all :=-12*sin(fi2);al2:= 13*sin(fi3);
a21:= 12*cos(fi2); a22 := -13*cos(fi3); znam :=all*a22-a21*al2; bl := vcx - vax; b2 := vcy - vay; omega2 := (b1*a22 - b2*a12)/znam; omega3 := (a11*b2 - a21*b1)/znam; bl := acx - aax + a21*sqr(omega2) + a22*sqr(omega3);
b2 := acy - aay - al l*sqr(omega2) -al2*sqr(omega3); epsi2 :=(b1*a22-b2*a12)/znam; epsi3 :=(a11*b2-a21*b1)/znam; End; {Diadalv}
(a)
(b)
(c)
(d)
(e)
Рисунок 1. Расчётные схемы двух поводковых групп Ассура: a - первого вида; b - второго вида; c - третьего вида; d - четвёртого вида; e - пятого вида
Figure 1. Settlement schemes of two flood groups of Assur: a - first look; b - second look; c - third look; d - fourth look; e - fifth look
Procedure Diada2v;
Var
xl,yl,x2,bx,by: real;
Begin {Diada2v}
b1:= ax-cx; b2:=ay-cy;
xl :=b1*cos(fi3) +b2*sin(fi3); yl :=b2*cos(fi3)-b1*sin(fi3); x2:=sqrt(sqr(12)-sqr(yl-l3)); 14:=xl +x2;
bx := cx +14*cos(fi3) - l3*sin(fi3); by := cy + l4*sin(fi3)+l3*cos(fi3); fi2 := Atan2(bx - ax,by - ay);
a11:= -12*sin(fi2); a12 := - cos(fi3); a21:= 12*cos(fi2); a22 := - sin(fi3); znam :=all*a22-a21*al2; bl := vcx - vax + omega3*(14*a22 + 13*a12);
b2 := vcy - vay - omega3*(14*a12 -13*a22);
omega2 := (bl*a22 - b2*al2)/znam; v4:=(all*b2-a21*bl)/znam; bl =acx -aax - (14*cos(fi3) -13*sin(fi3))*sqr(omega3); bl:=bl +12*cos(fi2)*sqr(omega2); bl:= bl - 2*v4*sin(fi3)*omega3 -epsi3*(l4*sin(fi3) +13*cos(fi3));
b2:= асу - aay - (14*sin(fi3) +13*cos(fi3))*sqr(omega3);
b2:= b2 + 12*sin(fi2)*sqr(omega2); b2:= b2 + 2*v4*cos(fi3)*omega3 +epsi3*(14*cos(fi3)-13*sin(fi3)); epsi2:= (bl*a22 - b2*al2)/znam; a4:= (al 1 *b2 - a21 *bl)/ znam; End; {Diada2v} Procedure Diada3v; Begin {Diada3v }
13 := sqrt(sqr(ax - cx) + sqr(ay - cy) -sqr(12));
fi3 := Alan2(ax - cx.ay - cy) -ArcTan(12/13);
a11:= cos(fi3); al2 := - (13*sin(fi3) + 12*cos(fi3));
a21 := sin(fi3); a22 :=13*cos(fi3) -
12*sin(fi3);
znam:=all*a22-a21*al2;
b1:= vax - vcx; b2 := vay - vcy; v3 := (b1*a22 - b2*a12)/znam; omega3 := (a11*b2 - a21*b1)/znam; bl:= aax - acx + 2*v3*a21*omega3 + a22*sqr(omega3);
b2:= aay - асу - 2*v3*all*omega3 -al2*sqr(omega3);
a3:=(bl*a22-b2*al2)/znam;
epsi3 := (a11*b2 - a21*b1 )/znam;
End; {Diada3v }
Procedure Diada4v;
Begin {Diada4v }
a11:= cos(fi2); a12:= - cos(fi3); a21:= sin(fi2); a22:= - sin(fi3); znam := a1l*a22 - a21*al2;
b1:= cx - ax+12*a21 + 13*a22; b2:=cy-ay-12*a11 -13*a12; l1:=(b*a22-b2*a12)/znam;
14:= (a11*b2 -a21*b1 )/znam; bl:=vcx-
vax+omega2*(ll*a21+I2*a11)+omega3*(14*a22 +13*a12);
b2:=vcy-vay-omega2*(ll*a11-12*a21) -omega3*(14*al2 -13*a22); vl :=(b1*a22-b2*al2)/znam;
v4:=(all*b2-a21*b1)/znam; bl:= acx - aax
+2*v1*a21*omega2+sqr(omega2)*(l1*a11-12*a21)+
epsi2*(ll*a21 -12*all); bl:=bl + 2*v4*a22*omega3 + sqr(omega3)*(14*al2-13*a22)+ epsi3*(14*a22 + 13*al2); b2:= acy- aay-2*vl*al l*omega2 + sqr(omega2)*(ll*a21 + 12*al1)-epsi2*(ll*all -l2*a21);
b2:= b2-2*v4*al2*omega3+ sqr(omega3)*(14*a22 + 13*al2)-
epsi3*(14*al2-13*a22); al :=(bl*a22-b2*al2)/znam;
a4:= (a11*b2-a21*b1 )/znam; End; {Diada4v } Procedure Diada5v; Begin {Diada5v }
a11:= cos(fi3); al2:= cos(fi3 + alpha);
a21:= sin(fi3); a22:= sin(fi3 + alpha);
znam:=all*a22-a21*al2; bl:= ax-cx+12*a22;
b2:=ay-cy-12*al2; Bx3:=(bl*a22-b2*al2)/znam; Ax2:=(all*b2-a21*bl)/znam; bl:= vax-vex+omega3*(Bx3*a21 + Ax2*a22 + 12*al2);
b2:=vay-vcy- omega3*(Bx3*al 1 + Ax2*al2 - 12*a22);
Vbx3 :=(bl*a22 - b2*al2)/znam; Vax2 := (a11*b2 - a21 *bl)/znam; bl := aax - acx + 2*omega3*(Vbx3*a21 + Vax2*a22) +
sqr(omega3)*(Bx3*a11 + Ax2*al2 - 12*a22) + epsi3*(Bx3*a21 + Ax2*a22 + 12*al2);
b2:= aay - acy - 2*omega3*(Vbx3*al 1 + Vax2*al2)+
sqr(omega3)*(Bx3*a21 + Ax2*a22 + 12*al2) - epsi3*(Bx3*a11 + Ax2*a12 -
12*a22);
Abx3 :=(bl*a22 - b2*a12)/znam;
Aax2 := (a11*b2 - a21*bl)/znam; End; {Diada5v} End. { UnitDiada }
Определение кинематических характеристик механизма и построение его положений, планов скоростей и планов ускорений проведём на примере шестизвенного механизма (рисунок 2). Начало неподвижной координатной системы совпадает с осью вращения кривошипа АВ (звено 1). Предполагается, что известны длины всех звеньев, координаты всех дополнительных точек звеньев и координаты всех кинематических пар стойки механизма (звено 0), т. е. данному этапу работы по определению кинематики механизма должен предшествовать этап синтеза механизма (определение недостающих размеров звеньев).
Задаём координаты точки С и учитывая, что аналоги скоростей и ускорений этой точки равны 0 (точка неподвижна), обращаемся к процедуре, вычисляющей кинематику группы Ассура третьего вида diada3v.
Указываем кинематические характеристики точки D, принимая начало направляющей ползуна Е в точке С, угол наклона, аналог угловой скорости и аналог углового ускорения направляющей равными нулю, зная длину шатуна DE (звено 4) и длину звена 5, обращаемся к процедуре для группы Ассура второго вида diada2v.
Таким образом, для положения начального звена определены все кинематические характеристики механизма. Как уже отмечалось, вывод полученных результатов кинематического анализа нагляднее всего представить графически.
Листинг программы анализа кинематики шестизвенного механизма приведён далее.
Program Example;
Uses diada,crt,graph;
Label start;
Const
nc = 3 60;
Var
ij,d,r,ox,oy,pvx,pvy,pax,pay,
xl,yl,x2,y2,kl,kv,
ka:integer;
Il,130,14,lcd,cx,cy,fil,fi3,fi4,oml,om3,o m4,epsi3,epsi4 :real;
15,v5,a5,bx,by,dx,dy,cx,vbx,vby,abx,aby,v dx,vdy,adx,ady : real; 13,v3,a3,lcb : real; ch : char;
stl,st2,st3,st4 : string;
Procedure Postpara(x,y: integer; fi:
real);
Var
zl,z2,z3,z4,z5,z6 : integer; wl,w2,w3,w4,w5,w6 : integer; sfi,cfi: real; begin
sfi := sin(fi); cfi:= cos(fi);
zl := x + round(10*cfi - 5*sfi);wl:= y -
round(10*sfi+5*cfi);
z2 := x+round(-10*cfi-5*sfi); w2:= y -round(-10*sfi+5*cfi);
z3:= x + round(-10*cfi + 5*sfi);w3:=y-round(-10*sfi-5*cfi);
z4 := x + round(10*cfi + 5*sfi); w4:=y-round(10*sfi - 5*cfi);
z5:= x - round(10*cfi); w5 := y + round(10*sfi);
z6:= x + round(10*cfi); w6 := y -round(10*sfi); SetColor(lightgray);
Setlinestyle(0,0,3); Iine(z5,w5,z6,w6); SetColor(white); Setlinestyle(0,0,1); Line(z1,wl,z2,w2); line(z2,w2,z3,w3); line(z3,w3,z4,w4); line(z4,w4,z1,wl); circle(x,y,3); end; {Postpara} Procedure Opora(x,y: integer); Begin
circle(x,y,3); Lineto(x - 7,y + 7); Lineto(x - 9,y + 7); lineto(x + 9,y + 7); lineto(x + 7,y + 7); lineto(x,y);
SetFillStyle(l,GetColor); Bar(x - 9,y + 7,x + 9,y + 10); End;
ProcedureCoordXY(x,y: integer);
Begin
SetColor(magenta);
line(x - 10,y,x + 100,y); line(x + 100,y,x + 90,y - 5); line(x + 100,y,x + 90,y + 5); OutTextXY(x + 105,y - 7,'X'); line(x,y + 10,x,y - 100);
line(x,y - 100,x - 5,y - 90) line(x,y - 100,x + 5,y - 90) OutTextXY(x + 5,y - 107,'Y') SetColor(white); End; Begin clrscr; 11 := 0. 1.25;
cx :=0.0; cy 200;
kl :=15 0;kv
130 := 1.4; lcd := 0.5; 14 := := - 1.0;ox := 100; oy := =350; ka := 350;
bx by vbx
pvx := 450; pvy := 125; pax := 450; pay := 275;
d := Detect;InitGraph(d,r, '...\bgi');
SetBkColor(lightgray);
start:
for i := 0 to nc do begin
setfillstyle(9,green); bar(20,380,62 0,455); fi1 := 2*pi/nc*i; =ll*cos(fil); =ll*sin(fil); =-by; {-ll*sin(fil);} vby :=bx; {11*cos(fil);} abx:=-bx; {-11 *cos(fil);} aby:=-by; {-ll*sin(fil);} diada3
v(bx,by,vbx,vby,abx,aby,cx,cy,0,0,0,0,0,f
i3,om3,epsi3,
lcb,v3 ,a3);
dx := lcd*cos(fi3); dy := cy + lcd*sin(fi3); vdx:=lcd*sin(fi3)*om3; vdy:=lcd*cos(fi3)*om3; adx := - lcd*(cos(fi3)*sqr(om3) + sin(fi3)*epsi3); ady := lcd*(cos(fi3)*epsi3 -sin(fi3)*sqr(om3)); di-
ada2v(dx,dy,vdx,vdy,adx,ady,cx,cy,0,0,0,0
,0,0,0,14,0,fi4,om4,
epsi4,l5,v5,a5);
CoordXY( 100,200);
xl := ox + round(kl*bx); yl := oy -round(kl*by);
OutTextXY(100,10,'Cxемa механизма');
OutTextXY(30,440, 'Esc - конец работы программы');
str(fil *180/pi:6:2,st1);
str(fi3*180/pi:6:2,st2);str(fi4*180/pi:6:
2,st3);
str(15:6:4,st4);
OutTextXY(30,395, 'Fi1='+ stl + 'град.'+ ' Fi3= ' + st2+ ' град. '); 0utTextXY(310,395, 'Fi4= ' + st3 +' град.' + ' L5=1 + st4 +' м.'); circle(ox,oy,3); 0pora(ox,oy);
0utTextXY(ox + 10,oy + 10,'A');
MoveTo(ox,oy);
LineTo(xl,yl);
0utTextXY(xl + 10,yl -10, 'B'); cir-cle(xl,yl,3);
MoveTo(ox,oy - round(kl*cy));
circle(ox,oy - round(kl*cy),3); 0utTextXY(ox - 10,oy - round(kl*cy) - 10, 'C');
&emHW&ryMT/Proceedings ofVSUET, № 2, 2016L
Opora(ox,oy - round(kl*cy)); xl := ox + round(kl*130*cos(fi3)); yl := oy - round(kl*cy) -round(kl*130*sin(fi3)); lineto(xl,yl);
xl := ox + round(kl*lcb*cos(fi3)); yl := oy - round(kl*cy) -round(kl*lcb*sin(fi3)); Postpara(ox + round(kl*bx),oy -round(kl*by),fi3);
xl := ox + round(kl*dx); yl := oy -round(kl*dy);
OutTextXY(xl - 10,yl - 10,'D'); cir-
cle(xl,yl,3);
moveto(xl,yl);
x2 := xl + round(kl*14*cos(fi4)); y2 := yl - round(kl*14*sin(fi4)); lineto(x2,y2);
line(ox + 50, y2, ox + 250, y2); Post-para(x2,y2,0);
circle(x2,y2,3); OutTextXY(x2,y2 - 15, 'E'); {План скоростей}
SetColor(red); OutTextXY(400,10, 'План
скоростей');
str(om3:6:2,st2);
str(om4:6:2,st3); str(v5:6:4,st4); 0utTextXY(30,410, 'Oml= 1.00' +' Om3'+ st2);
OutTextXY(310,410,'Om4=' + st3 +'V5=' + st4);
OutTextXY(pvx+5,pvy + 5,'Pv');
xl := pvx + round(kv*vbx);
yl := pvy - round(kv*vby);
line(pvx, pvy, xl, yl); {Скорость Vb1,2}
OutTextXY(xl + 5,yl + 5, 'b');
x2 := xl - round(kv*v3*cos(fi3));
y2 := yl + round(kv*v3*sin(fi3));
line(х1,у1,x2,у2); {Скорость Vb32}
Iine(pvx,pvy,x2,y2);
OutTextXY(x2 - 10,y2 + 5,'b3');
xl := pvx + round(kv*v5); yl := pvy;
line(pvx,pvy,xl,yl);
0utTextXY(xl,у1 +5,'e');
x2 := pvx + round(kv*vdx);
y2 := pvy - round(kv*vdy);
line(pvx, pvy, x2, y2);
OutTextXY(x2,y2 - 10,'d');
line(xl,yl,x2,y2); xl := pvx - round(kv*lcb*sin(fi3)*om3); yl := pvy - round(kv*lcb*cos(fi3)*om3);
line(pvx,pvy,xl,yl); {План ускорений} SetColor(blue);
OutTextXY(4 00,3 60, 'План ускорений');
str(epsi3:6:2,st2);str(epsi4:6:2,st3); str(a5:6:4,st4);
OutTextXY(30,425,'Epsi1=0.00 ' +' Epsi3='+st2);
OutTextXY(294,425,'Epsi4=' + st3 + ' A5='st4);
OutTextXY(pax + 5,pay + 5,'Pa');
xl := pax + round(ka*abx);
yl := pay - round(ka*aby);
line(pax,pay,xl,yl);
OutTextXY(xl - 10,yl + 5,'b');
x2 := xl + round(ka*2*v3*om3*sin(fi3));
y2 := yl + round(ka*2*v3*om3*cos(fi3));
line(xl,yl,x2,y2);
OutTextXY(x2 - 10,y2 + 5,'k');
xl := x2 - round(ka*a3*cos(fi3));
yl := y2 + round(ka*a3*sin(fi3));
line(x2,y2,xl,yl);
OutTextXY(xl -10,yl, 'r');
xl :=pax;yl:=pay;
x2 := xl -
round(ka*lcb*sqr(om3)*cos(fi3)); y2 := yl +
round(ka*lcb*sqr(om3)*sin(fi3));
line(xl,yl,x2,y2);
OutTextXY(x2 + 10,y2 + 5,'n');
xl := x2 - round(ka*lcb*epsi3*sin(fi3));
yl := y2 - round(ka*lcb*epsi3*cos(fi3));
line(x2,y2,xl,yl);
OutTextXY(xl + 10,yl + 5,'t');
line(pax,pay,xl,yl);
OutTextXY(xl + 10,yl - 10, 'b3');
xl := pax + round(ka*adx); yl := pay -
round(ka*ady);
OutTextXY(xl - 10,yl - 10,'d'); x2 := xl -
round(ka*14*cos(fi4)*sqr(om4));
y2 :=yl + round(ka*14*sin(fi4)*sqr(om4));
line(xl,yl,x2,y2);
xl := x2 - round(ka*14*sin(fi4)*epsi4); yl := y2 - round(ka*14*cos(fi4)*epsi4);
line(x2,y2,xl,yl); x2 := pax + round(ka*a5); y2 := pay;
line(pax,pay,x2,y2); OutTextXY(x2,y2 + 5,'e'); rectangle(20,380,620,455);
rectangle(18,378,622,457); ch := readkey; if ch = #27 then exit; if i <>nc then cleardevice;
end;
ch := readkey;
if ch = #27 then exit else goto
start;
End.
Fil=321.00 град. Fi3= 73 . 97 град. Fi4 = 337 . 39 град. L5 = L.2921 м.
Ог>1= 1 , DD ОпЗ — -О. 14 Оп4 = ог D, ОТ 46
Eos il~ O, OÚ Ер*1Э = О. 42 Er>si4 = -О. 04 fiS = -□.2241
F-»<' — конец работы програнии
Рисунок 2. Пример работы программы.
Figure 2. Example of work of the program.
Использование библиотечных процедур модуля DIADA, позволяет сравнительно просто организовать имитацию движения механизма, рассчитать проекции аналогов скоростей и ускорений всех звеньев механизма, построить планы скоростей и ускорений в каждом положении механизма. Если необходимы значения кинематических характеристик, их можно вывести на дисплей. Такой подход обеспечивает эффективность при определении оптимальной кинематической схемы механизма на основе технического задания.
ЛИТЕРАТУРА
1 Сидоренко A.C. Кинематический анализ плоских рычажных механизмов на базе Turbo Pascal: учеб. пособие. Воронеж: ВУНЦ ВВС «ВВА», 2015. 39 с.
2 Сидоренко A.C., Дубец C.B., Дубец A.B. Компьютерное моделирование и анализ кинематики механизмов второго класса // Сборник статей по материалам Межвузовской НПК курсантов и слушателей «Молодежные чтения памяти Ю.А. Гагарина 20 мая 2014 г.» Воронеж: ВУНЦ ВВС «ВВА», 2014. Ч. 2. С. 154-157.
3 Мкртычев О.В. Компьютерное моделирование при кинематическом анализе плоских механизмов // Теория Механизмов и Машин. 2012. №1. Т. 10. С. 46-52.
4 Бабичев Д.Т. Компьютерное моделирование работы плоских механизмов и многовариантное конструирование одноступенчатых цилиндрических редукторов // Теория Механизмов и Машин. 2011. №2. Т. 9. C. 38-47.
Заключение
Разработанное программное обеспечение математической модели кинематического расчёта плоских рычажных механизмов может быть рекомендовано к использованию при подготовке бакалавров по направлению 15.03.03 -«Прикладная механика» при изучении «Теории механизмов и основ робототехники» и «Вычислительной механики».
5 Доронин Ф.А., Доев В.С. Исследование движения плоского механизма с помощью пакета Mathcad // Теория Механизмов и Машин. 2011. №1. Т. 9. С. 77-87.
6 Simas Н. et al. A new method to solve robot inverse kinematics using Assur virtual chains // Robotica. 2009. V. 27. №. 7. P. 1017-1026. DOI: http://dx.doi.org/10.1017/S0263574709005426
REFERENCES
1 Sidorenko A.S. Kinematicheskij analiz ploskikh ruychazhnyh mekhanizmov na baze Turbo Pascal [Kinematic analysis of plane lever mechanisms on the basis of Turbo Pascal] Voronezh, VUNTs VVS "VVA", 2015. pp. 39 (in Russian)
2 Sidorenko A.S., Dubets S.V., Dubets A.V. Computer simulation and analysis of the kinematics of the second class of mechanisms. Molodez-nye chtenia pamyati Y.A. Gagarina: mat. Mezhvyzovsk. nauch.- prakt. konf. [Collected articles on materials Interuniversity NPK cadets and students "Youth read memory Y.A. Gagarin May 20, 2014"] 2014, part 2, pp. 154-157. (in Russian)
&emHW&ryMT/Proceedings ofVSUET, №
3 Mkrtychev O.V. Computer modeling of the kinematic analysis of planar mechanisms. Teoriya mek-hanizmov i mashin [Theory of mechanisms and machines] 2012, no. 1, vol. 10, pp. 46-52 (in Russian)
4 Babichev D.T. Computer simulation of planar mechanisms and contingency construction of single-stage helical gear units Teoriya mekhan-izmov i mashin [Theory of mechanisms and machines] 2011, no. 2, vol. 9., pp. 38-47 (in Russian)
СВЕДЕНИЯ ОБ АВТОРАХ
Максим А. Васечкин к.т.н., доцент, кафедра технической механики, Воронеж. гос. ун-т. инж. техн., пр-т Революции, 19, г. Воронеж, 394036, Россия, [email protected]
Андрей И. Потапов к.т.н., доцент, кафедра машин и аппаратов пищевых производств, Воронеж. гос. ун-т. инж. техн., пр-т Революции, 19, г. Воронеж, 394036, Россия, [email protected]
Александр С. Сидоренко к.т.н., старший преподаватель, кафедра общепрофессиональных дисциплин, Военный учебно-научный центр военно-воздушных сил «Военная воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина», ул. Старых Большевиков, 54а, г. Воронеж, 394064, Россия, [email protected] Евгений Д. Чертов д.т.н., профессор, кафедра технической механики, Воронеж. гос. ун-т. инж. техн., пр-т Революции, 19, г. Воронеж, 394036, Россия, [email protected]
КРИТЕРИЙ АВТОРСТВА
Максим А. Васечкин провёл аналитический обзор информационных источников по исследуемой проблеме, предложил алгоритм программной реализации математической модели кинематики плоского рычажного механизма, , выполнил корректировку и подачу рукописи в редакцию Андрей И. Потапов выполнил отладку программы для анализа кинематики примера шестизвенного механизма, провёл сравнительный анализ результата компьютерного расчёта с результатом расчётов, полученных графоаналитическим методом Александр С. Сидоренко составил описание математической модели кинематики плоского рычажного механизма, разработал программное обеспечение по реализации математической модели кинематики плоского рычажного механизма, написал рукопись, несёт ответственность за плагиат Евгений Д. Чертов предложил тематику исследований, осуществлял консультацию и руководство коллективом авторов
КОНФЛИКТ ИНТЕРЕСОВ
Авторы заявляют об отсутствии конфликта интересов.
ПОСТУПИЛА 29.03.2016 ПРИНЯТА В ПЕЧАТЬ 26.04.2016
, 2016_
5 Doronin F.A., Doev V.S. Investigation of the mechanism of movement of the flat with the help of Mathcad Teoriya mekhanizmov i mashin [Theory of mechanisms and machines]. 2011, no. 1, vol. 9, pp. 77-87 (in Russian).
6 Simas H., Guenther R., Da Cruz D. F. M. et al. A new method to solve robot inverse kinematics using Assur virtual chains. Robotica, 2009, vol. 27, no. 7, pp. 1017-1026. DOI: http://dx.doi.org/10.1017/S0263574709005426
INFORMATION ABOUT AUTHORS
Maxim A. Vasechkin Ph. D., associate professor, department of technical mechanics, Voronezh state university of engineering technologies, Revolution Av., 19 Voronezh, Russia, [email protected]
Andrey I. Potapov Ph. D., associate professor, machine and devices of food productions department, Voronezh state university of engineering technologies, Revolution Av., 19 Voronezh, Russia, [email protected] Alexandr S. Sidorenko Ph. D., senior lecturer, department of all-professional disciplines, Russian Air Force Military Educational and Scientific Center "Air Force Academy named after Professor N.E. Zhukovsky and Y.A. Gagarin", Starykh Bolshevikov St., 54a, Voronezh, Russia, [email protected]
Yevgeny D. Chertov D. t. sc., professor, department of technical mechanics, Voronezh state university of engineering technologies, Revolution Av., 19 Voronezh, Russia, [email protected]
CONTRIBUTION
Maxim A. Vasechkin has carried out the state-of-the-art review of information sources on the studied problem, has offered algorithm of program realization of mathematical model of kinematics of the flat lever mechanism, has executed adjustment and submission of the manuscript in edition. Andrey I. Potapov has executed debugging of the program for the analysis of kinematics of an example of the six-unit mechanism, has carried out the comparative analysis of result of computer calculation with result of the calculations received by a graphic-analytical method. Alexandr S. Sidorenko has made the description of mathematical model of kinematics of the flat lever mechanism, has developed the software on realization of mathematical model of kinematics of the flat lever mechanism, has written the manuscript, bears responsibility for plagiarism. Yevgeny D. Chertov has offered scope of researches, carried out consultation and the management of group of authors
CONFLICT OF INTEREST The authors declare no conflict of interest.
RECEIVED 3.29.2016 ACCEPTED 4.26.2016