ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.04.2021
Просмотров: 1360
Скачиваний: 16
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
кривошип := 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
> 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
ползун := 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
> 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