VIII. Appendix
MATLAB Code
%% RMD ME 350R Final Project Kinematic Analysis
% Maleah Calomeni & Isabel Herrera
% May 3, 2022
%% Front facing view (xz-plane)
% Vector Loop 1
% Position
f = 3.5; % (inches), link 6
g = 3.5; % (inches), link 7
theta7 = 90:120; % (deg)u
theta6 = acosd((-g./f).*cosd(theta7)); % (deg)
h = f.*sind(theta6)+g.*sind(theta7); % (inches), virtual link 8
% Velocity
omega6 = 1; % (rad/s)
omega7 = omega6; % (rad/s)
h_dot = omega6.*(f.*sind(theta6) + g.*sind(theta7)); % (inches/s)
% Acceleration
alpha6 = 0; % link 6 has constant angular velocity
alpha7 = (-f.*omega6^2.*cosd(theta6) - g.*omega7.*cosd(theta7))./(g.*sin(theta7)); % (rad/s^2)
h_doubledot = -f.*omega6.^2.*sind(theta6) - g.*omega7.^2.*sind(theta7) + g.*alpha7.*cosd(theta7); % (inches/s^2), vertical sliding velocity
% Vector Loop 2
% Position
a = 9.3; % (inches), link 2 (knife)
b = 3.1; % (inches), link 3
c = 3.1; % (inches), link 4
d = 7.5; % (inches), link 5
k = 17; % (inches), link 9 (virtual link)
theta5 = 90; % (deg)
theta8 = 90; % (deg)
theta9 = 90; % (deg)
theta1 = 0; % (deg)
theta2 = asind((d+h-k)./(a+b+c)); % (deg)
l = (a+b+c).*cosd(theta2); % (inches), link 1
% Velocity
omega2 = h_dot./((a+b+c).*cosd(theta2)); % (rad/s)
l_dot = -(a+b+c).*omega2.*sind(theta2); % (inches/s), horizontal sliding velocity
% Acceleration
alpha2 = ((a+b+c).*omega2.^2.*sind(theta2) + h_doubledot)./((a+b+c).*cosd(theta2)); % (rad/s^2)
l_doubledot = -(a+b+c).*omega2.^2.*cosd(theta2)-(a+b+c).*alpha2.*sind(theta2); % (inches/s^2)
% Plots
figure(1)
plot(theta7,theta2)
title('Angle of Knife vs. Crank Angle')
subtitle('xz-plane')
xlabel('Crank Angle (deg)')
ylabel('Angle of Knife Angle (deg)')
figure(2)
plot(theta7, omega2)
title('Angular Velocity of Knife vs. Crank Angle')
subtitle('xz-plane')
xlabel('Crank Angle (deg)')
ylabel('Angular Velocity of Knife (rad/s)')
figure(3)
plot(theta7, alpha2)
title('Angular Acceleration of Knife vs. Crank Angle')
subtitle('xz-plane')
xlabel('Crank Angle (deg)')
ylabel('Angular Acceleration of Knife (rad/s^2)')
%% Top down view (xy plane)
% Position
a = 9.3; % (inches), link 2 (knife)
b = 3.1; % (inches), link 3
c = 3.1; % (inches), link 4
m = 2.06; % (inches), link 10
n = 1.75; % (inches), link 11
p = 7.4; % (inches), link 12
theta11 = 90; % (deg)
theta12 = 90:120; % (deg)
theta4 = theta12 + 90; % (deg)
theta13 = 0; % (deg)
theta10 = asind((c.*cosd(theta4) + p.*sind(theta12) - n)/(m+a+b));
q = (m+a+b).*cosd(theta10)-c.*cosd(theta4)-p.*cos(theta12);
% Velocity
omega12 = 1; % (rad/s)
omega4 = omega12;
omega10 = (omega4.*(c.*cosd(theta4) + p.*cosd(theta12)))/(m+a+b);
q_dot = -(m+a+b).*omega10.*sind(theta10) + c.*omega4.*sind(theta4) + p.*omega12.*sind(theta12);
% Acceleration
alpha12 = 0; % link 12 has constant angular velocity
alpha4 = alpha12;
alpha10 = ((m+a+b).*omega10.^2.*sind(theta10) - c.*omega4.^2.*sind(theta4) - p.*omega12.^2.*sind(theta12))./((m+a+b).*cosd(theta10));
q_doubledot = -(m+a+b).*omega10.^2.*cosd(theta10) - (m+a+b).*alpha10.*sind(theta10) + c.*omega4.^2.*cosd(theta4) + p.*omega12.^2.*cosd(theta12);
% Plots
figure(4)
plot(theta12,theta10)
title('Angle of Knife vs. Crank Angle')
subtitle('xy-plane')
xlabel('Crank Angle (deg)')
ylabel('Angle of Knife Angle (deg)')
figure(5)
plot(theta12, omega10)
title('Angular Velocity of Knife vs. Crank Angle')
subtitle('xy-plane')
xlabel('Crank Angle (deg)')
ylabel('Angular Velocity of Knife (rad/s)')
figure(6)
plot(theta12, alpha10)
title('Angular Acceleration of Knife vs. Crank Angle')
subtitle('xy-plane')
xlabel('Crank Angle (deg)')
ylabel('Angular Acceleration of Knife (rad/s^2)')
Bill of Materials
Item | Quantity |
---|---|
Knife | 1 |
24"x30" 1/4" baltic birch plywood | 2 |
5 mm ball bearings | 2 |
5 mm metal rods | 2 |
Arduino Uno R3 | 2 |
TowerPro MG995 Servo Motor | 1 |
Tiankongrc TD-8120MG 360º Servo Motor | 1 |
EBL 9V Rechargeable Ni-MH Battery | 1 |
11 mm wooden dowel | 2 |
5 mm wooden dowel | 3 |
1/4" machine screw, washer, & nut | 10 |
3 mm machine screw, washer, & nut | 1 |
Welcome to the University Wiki Service! Please use your IID (yourEID@eid.utexas.edu) when prompted for your email address during login or click here to enter your EID. If you are experiencing any issues loading content on pages, please try these steps to clear your browser cache.