Calculations

Failure Analysis of Threaded Steel Rods:

  • Fcrit = (n23Er4)/(4L2) for buckling

  • Fcrit = USS*AS  where AS=D*LE/2 - a very poor approximation, only serving to get an order of magnitude worth of information.

    • Source: Handbook of Bolts and Bolted Joints by John Bickford, pp. 136-138

  • Assuming that the radius of the steel rods was approximately 5mm, and assuming the length of engagement for a ¾-10 thread is approximately 0.37 inches, we determined the shear area (AS) was roughly 0.4 inches. From that, we found a critical force of roughly 30,000 lbs.

  • Assuming the same radius and a modulus of elasticity of 140GPa, we found that the force necessary to buckle the steel rods is approximately 60,000 lbs.

  • In conclusion: the locking mechanism will easily hold up to the weight of a single person, especially if the weight is split between multiple threaded rods.



Grashof Crank Rocker MATLAB Code:

  • While we were designing the final prototype, we determined that the optimum driving speeds would be such that the outer set of worm gears moved twice as quickly as the inner worm gear. Thus, we needed a way to get the outer rockers to rotate across half the angle of the inner one. Taking the definition requirements of a grashof crank rocker from our textbook, we built a MATLAB code that uses five nested for loops to test vectors of four bar linkages and then calculate the angle of rotation.



clc;

clear all;

 

vout=[0 0 0 0 0];

step=1:0.1:10;

stepA=1:0.1:1.1;

stepD=5:0.1:10;



for i=1:length(stepA)

   a(i)=stepA(i);

   

   for j=1:length(step)

       b(j)=step(j);

       

       for k=1:length(step)

           c(k)=step(k);

           

           for l=1:length(stepD)

               d(l)=stepD(l);

               

               vect=[a(i) b(j) c(k) d(l)];

               S=min(vect); %Shortest Link

               L=max(vect); %Longest Link

               SL=S+L;

               PQ=sum(vect)-SL; %Sum of the other links

               

               T1 = d(l)+b(j)-a(i)-c(k);

               T2 = c(k)+d(l)-a(i)-b(j);

               T3 = c(k)+b(j)-a(i)-d(l);

               

               e=a(i);

               f=b(j);

               g=c(k);

               h=d(l);

            

               

               K1=h/e;

               K2=h/g;

               K3=(e^2-f^2+g^2+h^2)/(2*e*g);

               K4=h/f;

               K5=(g^2-h^2-e^2-f^2)/(2*e*f);

               

               if SL<=PQ && T1>0 && T2>0 && T3>0 %Tests to see if vector components make up Grashof Crank Rocker

                   

                   for m=1:361

                       theta2(m) = (m-1);

 

                       A = cosd(theta2(m)) -K1 -K2*cosd(theta2(m))+K3;

                       B = -2*sind(theta2(m));

                       C = K1 - (K2+1)*cosd(theta2(m)) + K3;

                       D = K5 - K1 + (K4 + 1)*cosd(theta2(m));

                       E = B;

                       F = K5 + K1 + (K4 - 1)*cosd(theta2(m));

                       theta3(m) = 2*atand((-E + sqrt(E^2 - 4*D*F))/(2*D));

                       theta4(m) = 2*atand((-B + sqrt(B^2 - 4*A*C))/(2*A));

                   end

                   

                   rockerangle=max(theta4)-min(theta4);

                   

                   RA45 = abs(rockerangle-45); %Input desired angles here

                   RA90 = abs(rockerangle-90);

                   error = 0.1;

                   

                   if RA45<error

                       vect=[vect rockerangle];

                       vout=[vout;vect];

                       

                       vect

                   elseif RA90<error

                       vect=[vect rockerangle];

                       vout=[vout;vect];

                       

                       vect

                   end

               end

           end

       end

       %disp('Step b');

   end

   %disp('Step a');

end