Você está na página 1de 6

SEM 0104 - Mecanismos

Prática 5: Síntese de Mecanismos

Bruno Moneda Alberto dos Santos - 10351780

São Carlos - Dezembro 2021


1.Prática 5:

2. Métodos:
Sintetizar um mecanismo no qual o elo de acoplamento forneça as seguintes
posições:
E para a realização dos cálculos foram usadas as seguintes equações:
• Comprimento dos elos:

• Ângulos dos thetas:

Utilizando as relações acima desenvolveu-se o seguinte código utilizando o octave.


• Script:
%Posicoes (P1, P2, P3) e orientacoes (o1, o2, o3)
P1 = [0.000, 0.000]; o1 = 210.0/180*pi;
P2 = [-1.236, 2.138]; o2 = 147.5/180*pi;
P3 = [-2.500, 2.931]; o3 = 110.2/180*pi;
p21 = norm(P2 - P1); %distancia entre P1 e P2
d2 = atan2((P2(2) - P1(2)), (P2(1) - P1(1))); %angulo de x+ até o segmento
P1_P2
a2 = o2 - o1; %deslocamento angular entre 1 e 2
b2 = 30/180*pi;
g2 = -10/180*pi;
p31 = norm(P3 - P1); %distancia entre P1 e P2
d3 = atan2((P3(2) - P1(2)), (P3(1) - P1(1))); %angulo de x+ até o segmento
P1_P3
a3 = o3 - o1; %deslocamento angular entre 1 e 3
b3 = 60/180*pi;
g3 = 25/180*pi;
%b2, g2, b3, g3 foram sugeridos
%Resolvendo o sistema para W1x, W1y, Z1x, Z1y
Ae = [cos(b2)-1 -sin(b2) cos(a2)-1 -sin(a2);
sin(b2) cos(b2)-1 sin(a2) cos(a2)-1;
cos(b3)-1 -sin(b3) cos(a3)-1 -sin(a3);
sin(b3) cos(b3)-1 sin(a3) cos(a3)-1];

Be = [p21*cos(d2); p21*sin(d2); p31*cos(d3); p31*sin(d3)];


xe = Ae\Be;
%Componentes x e y dos vetores W1 e Z1
W1(1) = xe(1); W1(2) = xe(2);
Z1(1) = xe(3); Z1(2) = xe(4);
%Resolvendo o sistema para U1x, U1y, S1x, S1y
Ad = [cos(g2)-1 -sin(g2) cos(a2)-1 -sin(a2);
sin(g2) cos(g2)-1 sin(a2) cos(a2)-1;
cos(g3)-1 -sin(g3) cos(a3)-1 -sin(a3);
sin(g3) cos(g3)-1 sin(a3) cos(a3)-1];

Bd = [p21*cos(d2); p21*sin(d2); p31*cos(d3); p31*sin(d3)];


xd = Ad\Bd;
%Componentes x e y dos vetores U1 e S1
U1(1) = xd(1); U1(2) = xd(2);
S1(1) = xd(3); S1(2) = xd(4);
%Vetores W1 e U1 são as configurações dos elos 2 e 4, respectivamente
%Posicoes das juntas moveis e pivos fixos
A1 = P1 - Z1;
O2 = A1 - W1;
B1 = P1 - S1;
O4 = B1 - U1;
%Simulacao
%comprimentos dos elos
a = norm(W1);
b = norm(Z1 - S1);
c = norm(U1);
d = norm(O4 - O2);
%definicao dos pontos
AP = norm(Z1); %distancia entre A e P
tAP = o1 - atan2((B1(2) - A1(2)), (B1(1) - A1(1))); %angulo entre AB e AP
n = 1200; %numero de passos
%theta2
tL1 = atan2((O4(2) - O2(2)), (O4(1) - O2(1)));
it2 = atan2((A1(2) - O2(2)), (A1(1) - O2(1))) - tL1;
t2v = it2 + [linspace(0,b2,n/4) linspace(b2,b3,n/4) linspace(b3,b2,n/4)
linspace(b2,0,n/4)]';
%algoritmo de Newton-Raphson
tol = 0.001;
%chutes iniciais para theta3 e theta4
t3 = pi/2 - tL1; t4 = 2*pi/3 - tL1;
for it2 = 1 : length(t2v)
t2 = t2v(it2);
B = tol + 1;
while norm(B)>tol
A = [-b*sin(t3) c*sin(t4); b*cos(t3) -c*cos(t4)];
B = [a*cos(t2) + b*cos(t3) - c*cos(t4) - d; a*sin(t2) + b*sin(t3) - c*sin(t4)];

Dt = -A\B;

t3 = t3 + Dt(1);
t4 = t4 + Dt(2);
end
t3v(it2,1) = t3;
t4v(it2,1) = t4;
end
%Posicoes de A, B, C, D, P
rA = ones(size(t2v))*O2;
rB = rA + a*[cos(t2v + tL1) sin(t2v + tL1)];
rC = rB + b*[cos(t3v + tL1) sin(t3v + tL1)];
rD = ones(size(t2v))*O4;
rP = rB + AP*[cos(t3v + tL1 + tAP) sin(t3v+ tL1 + tAP)];
%Desenho do mecanismo
h = figure;
axis tight manual
filename = 'Prática 5.gif';
for it3 = 1: 20: n
hold on
axis([-3 2 -1.5 3.1]);
title('Mecanismo - Prática 5');
set(gca,'visible','off');
plot([rA(it3,1) rB(it3,1) rC(it3,1) rD(it3,1)], [rA(it3,2) rB(it3,2) rC(it3,2)
rD(it3,2)],
'ko-');
plot([rB(it3,1) rP(it3,1) rC(it3,1)], [rB(it3,2) rP(it3,2) rC(it3,2)], 'go-');
plot([rB(1,1) rP(1,1)], [rB(1,2) rP(1,2)], 'b--');
plot([rB((n/4 + 1),1) rP((n/4 + 1),1)], [rB((n/4 + 1),2) rP((n/4 + 1),2)], 'b-');
plot([rB((n/2 + 1),1) rP((n/2 + 1),1)], [rB((n/2 + 1),2) rP((n/2 + 1),2)], 'b-');
plot([rP(:,1)], [rP(:,2)], 'r--');
plot([rB(:,1)], [rB(:,2)], 'c--');
plot([rC(:,1)], [rC(:,2)], 'c--');

hold off
frame = getframe(h);
im = frame2im(frame);
[imind,cm] = rgb2ind(im, 256);
if it3 == 1
imwrite(imind,cm,filename,'gif','Loopcount',inf,'Delay Time',0.1);
else
imwrite(imind,cm,filename,'gif','Write Mode','append','Delay Time',0.1);
end
clf
end

3. Conclusão
Usando o código desenvolvido acima foi possível determinar o mecanismo abaixo:

Você também pode gostar