Kinematic Analysis Equations & Code
Figure 1. Gear box CAD drawing with labelled parts.
The CAD is not my work, it is taken as a screenshot from the YouTube page on the right; I overlaid the picture with eh arrows and text to serve as a reference for the equations used below. Fan speeds were taken from the information on this page:
https://www.rewci.com/12-inch-oscillating-table-fan-3-speed.html
Video 1. Youtube video of gear box mechanism
This video shows gears in the gear box when the fan is in action. Again, this wasn't developed by me, however it is a good illustration of what’s going on.
The Gears
Worm gears are usually used when large speed reductions are needed. The gear ratio of a worm gear is worked out through the following formula:
(Number of teeth on worm wheel)/(Number of teeth on worm)
The worm acts as a single toothed gear so the ratio is;
Number of teeth on wormwheel/1.
Since my worm wheel has a teeth of 51, the gear ratio is 51:1, with an rpm of 1450 (from fan speed link above).
Below are the results from the counted teeth and measured diameter of the gears
Figure 2. Four bar mechanism illustrated, with measurements from the pictures on the right
Four Bar Link Measurements
MATLAB CODE
%Author: Emmanuel Akita
%This function executes plots for fan head position (theta_4), fan head angular velocity fan head angular acceleration
% It is based on the assumptions that all angles are at the tails of the vectors and that they are measured from the positive X-axis in degrees.
% It also assumes the vector loop is R2 - R3 - R4 - R1 = 0
%input: fan speed in rpm
function [] = fan(RPM)
w = 13;% worm gear
wg = 51; % worm gear
cg_1 = 12; cg_2 = 61; %circular gear 1 and 2
GR = (w/wg) *(cg_1/cg_2);
a = 0.55; %measured, in inches
b =3 ;% measured, in inches
c= 3; %measured, in inches
d = 0.72; %measured, in inches
% r_in = 0.3145; %calculated from measured value, in inches
% r_out = 1.1811; %calculated from measured value, in inches
theta2=0:360;
for i = 1 : length(theta2)
omega2(i) = RPM*GR ; %fan speed is reduced by gear ratio
alpha2(i) = 0;
k1 = d/a;
k2 = d/c;
k3 = ((a^2 - b^2 + c^2 + d^2) / (2 * a * c));
Acons = cosd(theta2(i)) - k1 - k2 * cosd(theta2(i)) + k3;
Bcons = -2 * sind(theta2(i));
Ccons = k1 - (k2 + 1) * cosd(theta2(i)) + k3;
Y_t4= -Bcons - sqrt((Bcons)^2 - 4 * Acons * Ccons); %xcomponent for theta 4 calculation
X_t4= 2*Acons; %y component for theta 4 calculation
theta4(i) = (2 * (atand(Y_t4/X_t4)));
% Now to find theta3, find k4 and k5 below:
k4 = d / b;
k5 = ((c^2 - d^2 - a^2 - b^2) / (2 * a * b));
Dcons = cosd(theta2(i)) - k1 + k4 * cosd(theta2(i)) + k5;
Econs = -2 * sind(theta2(i));
Fcons = k1 + (k4 - 1) * cosd(theta2(i)) + k5;
X_t3= -Econs - sqrt((Econs)^2 - 4 * Dcons * Fcons); %xcomponent for theta 3 calculation
Y_t3= 2 * Dcons; %y component for theta 3 calculation
theta3(i) = (2 * (atand(X_t3/Y_t3)));
omega3(i) = (a * omega2(i))/b * (sind(theta4(i) - theta2(i))) / (sind(theta3(i) - theta4(i))) ;
omega4(i) = (a * omega2(i))/c * (sind(theta2(i) - theta3(i))) / (sind(theta4(i) - theta3(i)));
%determine link 3 and 4 alpha
A = c * sind(theta4(i));
B= b * sind(theta3(i));
C = a * alpha2 (i)* sind(theta2(i)) + a* omega2(i)^2 * cosd(theta2(i)) + b*omega3(i) ^2 * cosd(theta3(i)) - c*omega4(i)^2 *cosd(theta4(i));
D = c*cosd(theta4(i));
E = b * cosd(theta3(i));
F = a * alpha2(i) * cosd(theta2(i)) - a* omega2(i)^2 * sind(theta2(i)) - b*omega3(i) ^2 *sind(theta3(i)) + c*omega4(i)^2 *sind(theta4(i));
alpha3(i) = (C*D - A*F) / (A*E - B*D);
alpha4(i) = (C*E - B*F) / (A*E - B*D);
alpha(i) = theta2(i) -theta3(i);
beta(i) = theta4(i) -theta3(i);
if (alpha(i) > 90)
alpha(i) = 180 - alpha(i);
end
if (beta(i) > 90)
beta(i) = 180 - beta(i);
end
MA(i) = c * sind(beta(i)) * omega2(i) / (a * sind(alpha(i))* omega4(i));
end
%plot results
figure
plot(theta2, (theta4))
xlabel('\theta_2 (deg)')
ylabel('\theta_4 (deg)')
figure
plot(omega2,omega4)
xlabel('\omega_2 (rpm)')
ylabel('\omega_4 (rpm)')
figure
plot(theta2, omega4)
xlabel('\theta_2 (deg)')
ylabel('\omega_4 (rpm)')
figure
plot(theta2, alpha3)
xlabel('\theta_2 (deg)')
ylabel('\alpha_3 (rev/min^2)')
figure
plot(theta2, alpha4)
xlabel('\theta_2 (deg)')
ylabel('\alpha_4 (rev/min^2)')
figure
plot(theta2, MA)
xlabel('\theta_2 (deg)')
ylabel('MA')
end
Equations for MATLAB Code
Below are snapshots of handwritten equations used for the code