ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 01.04.2021

Просмотров: 1313

Скачиваний: 16

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

6

Анализ задач теоретической механики, математиче-
ского анализа и МСС

6.1

Кривошипно-шатунный механизм

Найти для заданного положения механизма скорости и ускорения

точек

B

и

C

, а также угловую скорость и угловое ускорение звена, ко-

торому эти точки принадлежат. Схема механизма приведена на рисунке.

Принять

OA

= 35

см,

AC

= 45

см,

ω

OA

= 4

рад/с — угловая скорость

кривошипа

OA

,

ε

OA

= 8

рад/с — угловое ускорение кривошипа

OA

.

Решение

> restart:
> with(plots):

with(plottools):

> draw1 := proc(phi)

local

OA, AB, AC, h, psi,
point1, point2, point3, point4,
pointA, pointB, pointC, lineOA, lineAB,
кривошип, шатун, ползун,
шарнирO, шарнирA, шарнирB, textA, textB, textC;

OA := 35; AB := 70; AC := 45; h := .35;
point1 := [h*cos(phi+Pi/2), h*sin(phi+Pi/2)];
point2 := [h*cos(phi+Pi/2)+OA*cos(phi),

h*sin(phi+Pi/2)+OA*sin(phi)];

point3 := [point2[1]+2*h*cos(phi+3*Pi/2),

point2[2]+2*h*sin(phi+3*Pi/2)];

point4 := [h*cos(phi+3*Pi/2), h*sin(phi+3*Pi/2)];

86


background image

кривошип := polygon([point1,point2,point3,point4],

linestyle=1, thickness=2);

pointA := [OA*cos(phi), OA*sin(phi)];
lineOA := line([0, 0], pointA, color=red,

linestyle=3);

psi := arcsin(OA*sin(phi)/AB);
pointB := [pointA[1]+AB*cos(psi), 0];
pointC := [pointB[1]-(AB-AC)*cos(psi),

pointB[2]+(AB-AC)*sin(psi)];

lineAB := line(pointA, pointB, color=red,

linestyle=3);

point1 := [pointA[1]+h*sin(psi),

pointA[2]+h*cos(psi)];

point2 := [pointB[1]+h*sin(psi),

pointB[2]+h*cos(psi)];

point3 := [pointB[1]-h*sin(psi),

pointB[2]-h*cos(psi)];

point4 := [pointA[1]-h*sin(psi),

pointA[2]-h*cos(psi)];

шатун := polygon([point1, point2, point3, point4],

linestyle=1, thickness=2);

шарнирO := disk([0, 0], 3.5*h, color=green);
шарнирA := disk(pointA, 3.5*h, color=green);
шарнирB := disk(pointB, 3.5*h, color=green);
h := 5*h;
point1 := [pointB[1] + 2*h, pointB[2] + h];
point2 := [pointB[1] + 2*h, pointB[2] - h];
point3 := [pointB[1] - 2*h, pointB[2] - h];
point4 := [pointB[1] - 2*h, pointB[2] + h];
ползун := polygon([point1, point2, point3, point4],

linestyle=1, color=magenta,
thickness=1);

h := 3*h;
textA := textplot([pointA[1]+h, pointA[2]+h, ’A’]);
textB := textplot([pointB[1]+h, pointB[2]+h, ’B’]);
textC := textplot([pointC[1]+h, pointC[2]+h, ’C’]);
display(lineOA, шарнирO, lineAB, шарнирA, шарнирB,

ползун, textA, textB, textC,
polygon([[0, 0], [-h, -h], [h, -h]],

linestyle=1, thickness=2),

disk(pointC, h/5, color=green),
scaling=constrained);

end proc:

87


background image

> draw := proc(phi)

local

OA, AB, AC, h, psi,
point1, point2, point3, point4,
pointA, pointB, pointC, lineOA, lineAB,
кривошип, шатун, ползун,
шарнирO, шарнирA, шарнирB, textA, textB, textC;

OA := 35; AB := 70; AC := 45; h := .35;
point1 := [h*cos(phi+Pi/2), h*sin(phi+Pi/2)];
point2 := [h*cos(phi+Pi/2)+OA*cos(phi),

h*sin(phi+Pi/2)+OA*sin(phi)];

point3 := [point2[1]+2*h*cos(phi+3*Pi/2),

point2[2]+2*h*sin(phi+3*Pi/2)];

point4 := [h*cos(phi+3*Pi/2), h*sin(phi+3*Pi/2)];
кривошип := polygon([point1,point2,point3,point4],

linestyle=1, thickness=2);

pointA := [OA*cos(phi), OA*sin(phi)];
lineOA := line([0, 0], pointA, color=red,

linestyle=3);

psi := arcsin(OA*sin(phi)/AB);
pointB := [pointA[1]+AB*cos(psi), 0];
pointC := [pointB[1]-(AB-AC)*cos(psi),

pointB[2]+(AB-AC)*sin(psi)];

lineAB := line(pointA, pointB, color=red,

linestyle=3);

point1 := [pointA[1]+h*sin(psi),

pointA[2]+h*cos(psi)];

point2 := [pointB[1]+h*sin(psi),

pointB[2]+h*cos(psi)];

point3 := [pointB[1]-h*sin(psi),

pointB[2]-h*cos(psi)];

point4 := [pointA[1]-h*sin(psi),

pointA[2]-h*cos(psi)];

шатун := polygon([point1, point2, point3, point4],

linestyle=1, thickness=2);

шарнирO := disk([0, 0], 3.5*h, color=green);
шарнирA := disk(pointA, 3.5*h, color=green);
шарнирB := disk(pointB, 3.5*h, color=green);
h := 5*h;
point1 := [pointB[1] + 2*h, pointB[2] + h];
point2 := [pointB[1] + 2*h, pointB[2] - h];
point3 := [pointB[1] - 2*h, pointB[2] - h];
point4 := [pointB[1] - 2*h, pointB[2] + h];

88


background image

ползун := polygon([point1, point2, point3, point4],

linestyle=1, color=magenta,
thickness=1);

h := 3*h;
textA := textplot([pointA[1]+h, pointA[2]+h, ’A’]);
textB := textplot([pointB[1]+h, pointB[2]+h, ’B’]);
textC := textplot([pointC[1]+h, pointC[2]+h, ’C’]);
display(lineOA, кривошип, шарнирO,

lineAB, шатун, шарнирA, шарнирB, ползун,
textA, textB, textC,
polygon([[0, 0], [-h, -h], [h, -h]],

linestyle=1, thickness=2),

disk(pointC, h/5, color=green),
scaling=constrained);

end proc:

> draw1(Pi/2);

draw(Pi/2);

89


background image

> N_frames := 100:

for i from 0 to N_frames do

phi := i*6*Pi/N_frames;
p[i] := draw(phi);

end do:

> display(seq(p[i], i=0..N_frames), insequence=true,

scaling=constrained,
view=[-37..115, -45..45]);

Так как катет, лежащий напротив угла в

30

градусов, равен поло-

вине гипотенузы, то

AB

= 2

,

OA

= 70

см. Найдем скорость точки

A

.

Точка

A

принадлежит кривошипу

OA

, который вращается в плоскости

рисунка вокруг неподвижной оси (шарнира

O

). Значит ее скорость мож-

нонайти поформуле Эйлера

V

A

=

ωh,

где

h

=

OA

— расстояние до оси вращения.

Вектор скорости направлен покасательной к траектории точки

A

,

перпендикулярнорадиусу

OA

влево(туда, куда показывает

ω

OA

), так

как вращение происходит против часовой стрелки.

> omega[’OA’] := 4:

epsilon[’OA’] := 8:
OA := 35:

AB := 70:

AC := 45:

V_размер := 5:
V[’A’] := omega[’OA’]*OA:
v1[’x’] := -V[’A’]/V_размер:
v1[’y’] := 0:
dxy := 3:
pointA := [0, OA]:

90