Team 12 - Appendix
Bill of Materials
Part Name | Price/Unit | Quantity | Price |
Toggle Switch | $7.99 | 1 | $7.99 |
688-2RS 8x16x5mm Ball Bearings 10-Pack | $9.99 | 3 | $29.97 |
Linear Sleeve Bearing 8mm Inner Diameter | $1.28 | 2 | $2.56 |
8mm Shaft Lock Collar - 10pcs | $8.89 | 1 | $8.89 |
8mm x 220mm Round Rod - 2pcs | $7.49 | 2 | $14.98 |
8mm x 350mm Round Rod - 2pcs | $11.99 | 2 | $23.98 |
6mm to 8mm Shaft Coupling | $8.39 | 1 | $8.39 |
20 Teeth 8mm Bore 1:1 90 Degree Steering Bevel Gears | $13.99 | 1 | $13.99 |
GT2 20&60 Teeth 8mm Bore Timing Pulley with 200mm Length 6mm Width Belt | $12.89 | 1 | $12.89 |
GT2 20 Teeth 8mm Bore 6mm Width Pulley Wheel | $6.99 | 1 | $6.99 |
GT2 Timing Belt 5m Length 6mm Width | $9.99 | 1 | $9.99 |
Elegoo Uno R3 Board | $16.99 | 1 | $16.99 |
DC 12V 10RPM Gear Motor | $14.99 | 1 | $14.99 |
12V 8.5A Switching Power Supply | $17.99 | 1 | $17.99 |
24x30x1/4" Wood | $17.31 | 2 | $34.62 |
12x10x1/8” Wood | $2.47 | 1 | $2.47 |
Total Price: | $227.68 |
Matlab Code
Finger Wagging Analysis
% fourbarpos evalutaion script
% evaluates fourbarpos.m
% copied from HW2_P3_fourbarpos_eval
% modified for Final Project Finger Wagging Mechanism
%
%
% last modified 28 Apr 2023
% 28 Apr: created
close all;
% link lengths
l = [32, 224, 160, 160];
% [ a , b , c , d ]
% [L_2, L_3, L_4, L_1]
% [O2-A, A-B, B-O4, O2-O4]
% angles
theta1 = 0; % typically zero
% theta2 = 40; % not used; sweeping thru theta2
% open or closed chain circuit
delt = -1;
% toggle angle
toggle_angle = 116.0371;
% calculate values
Theta2 = -toggle_angle:1:toggle_angle;
inc = length(Theta2);
Theta31 = zeros(1,inc);
Theta41 = zeros(1,inc);
Theta32 = zeros(1,inc);
Theta42 = zeros(1,inc);
P_x1 = zeros(1,inc); % x-component of point P WRT grounded link
P_y1 = zeros(1,inc); % y-component of point P WRT grounded link
P_x2 = zeros(1,inc); % Toggle 2
P_y2 = zeros(1,inc); % Toggle 2
P_l = 1.33; % distance of P from point A
P_angle = 0; % [deg], angle of point P from theta3
a = l(1); % unpack link "a" (L_2)
d = l(4); % unpack link "d" (L_1)
% first toggle position
for angle = 1:inc
theta2 = Theta2(angle);
angles = fourbarpos(l, theta1, theta2, delt);
Theta31(angle) = angles(3);
Theta41(angle) = angles(4);
P_x1(angle) = a*cosd(theta2) + P_l*cosd(angles(3) + P_angle);
P_y1(angle) = a*sind(theta2) + P_l*sind(angles(3) + P_angle);
% calculate the other toggle position
angles = fourbarpos(l, theta1, theta2, -delt);
Theta32(angle) = angles(3);
Theta42(angle) = angles(4);
P_x2(angle) = a*cosd(theta2) + P_l*cosd(angles(3) + P_angle);
P_y2(angle) = a*sind(theta2) + P_l*sind(angles(3) + P_angle);
end
% plot values
[Theta31_max, index] = max(Theta31) % callout max value
Theta2_max = Theta2(index);
[Theta31_min, index] = min(Theta31) % callout min value
Theta2_min = Theta2(index);
plot(Theta2, Theta31, Theta2_max, Theta31_max, 'ro', Theta2_min, Theta31_min, 'ro')
% plot(Theta2, Theta31),
legend('Theta 3')
xlabel('Theta 2'), ylabel('Angular Displacement')
title('Output Angle vs. Input Angle')
, multiple selections available,