好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

四连杆之MATLAB相关程式.docx

26页
  • 卖家[上传人]:ni****g
  • 文档编号:544709196
  • 上传时间:2023-10-22
  • 文档格式:DOCX
  • 文档大小:469.23KB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 四連桿之 MATLAB 相關程式-10-台大生機系 馮丁樹教授4-25-2002第三章中之四連桿分析可以參考相關資料,本節則針對四連桿之動作程式加 以說明目前所設計之程式有 f4bar.m、drawlinks.m、 fb_angle_limits.m、 drawlimits.m 等四個程式,其功能分別說明如下:圖一、四連桿之關係位置及各桿名稱一、f4bar 函數:f4bar 函數之呼叫格式如下:function [values,form] = f4bar(r,theta1,theta2,td2,tdd2,sigma,driver)輸入參數:>r(1:4) = 各桿之長度,r(1)為固定桿,其餘分別為曲桿、結合桿及被動 桿>theta1 = 第一桿之水平角,或為四連桿之架構角,以角度表示>theta2 = 驅動桿之水平夾角,以角度表示一般為曲桿角,但若為結合桿驅動,則為結合桿之水平夾角>td2 = 驅動桿(第二桿或第三桿)之角速度(rad/sec)>tdd2 = 驅動桿(第二桿或第三桿)之角加速度(rad/sec^2)>sigma = +1 or -1. 組合模式,負值表示閉合型,正值為分支型,但有 時需視實際情況而定。

      >driver = 0 (驅動桿為第二桿); 1 (驅動桿為第三桿)輸出變數:>form = 組合狀態, 0 :表示無法組合; 1:可以正確組合>values = 輸出矩陣,其大小為 4 X 7,各行之資料分配如下:12(deg)3(rad/s)4(rad/s2)567I桿 1 位置θ1ω1α1VQ|VQ|∠VQII桿 2 位置θ2ω2α2VP|VP|∠VPIII桿 3 位置θ3ω3α3AQ|AQ|∠AQIV桿 4 位置θ4ω4α4AP|AP|∠AP其中第一行之連桿位置向量,屬於單桿的位置向量,以格式以複數表示第二 行為各桿之水平夾角,以度表示;第三及第四行為各桿之角度速度及角加速度, 以單位時間之弧度表示第五至七行則為 P 點與 Q 點之速度與加速度量,第五 行為向量,第六行為絕對量,第七行為夾角,以度數表示值得一提的是第一行之向量表示法屬於複數之型式,故若要得到其絕對值僅 需在 MATLAB 指令檔中,以 abs()這一個函數指令即可求得,而以函數 angle() 則可求得其夾角,雖然第二行與第七行之輸出亦有相對應之夾角例一:為第二桿為驅動桿,r=[3 2 4 2],theta1=0;theta2=60;td2=10; tdd2=0;sigma=-1;driver=0(crank)>>[val,form]=f4bar([3 2 4 2],0,60,10,0,-1,0)val = Columns 1 through 33001 + 1.7321i60103.8682 - 1.0182i-14.7465.40781.8682 + 0.71389i20.91316.549Columns 4 through 601 +1.7321i201.8682 +0.71389i2-127.58173.21 -100i200-236.27364.19 -953.09i1020.3Column 76020.913-30-69.087form = 1 (表示可以組合)本例中,有框線者表示其為輸入值。

      但第一行則已經轉換為複數型式未來 複數型式要轉為 x-y 座表時,只要使用函數 real()及 imag()兩指令,即可進行轉 換例二:為第三桿(coupler)為驅動桿,r=[3 2 4 2],theta1=0; theta2=60; td2=10; tdd2=0; sigma=-1; driver=1(crank)>>[val,form]=f4bar([3 2 4 2],0,60,10,0,-1,1)val =Columns 1 through 33001.3321 -1.4919i-48.239-8.94872 +3.4641i60100.33205 +1.9722i80.44324.333Columns 4 through 601.3321 -1.4919i2-582.550.33205 +1.9722i20-988.55 -882.66i1325.3496.46188.64 -31.759i191.29Column 7-48.23980.443-138.24-9.5568form = 1程式內容:f4bar.mfunction [values,form] = f4bar(r,theta1,theta2,td2,tdd2,sigma,driver)%%function [values,form] = f4bar(r,theta1,theta2,td2,tdd2,sigma,driver)% program designed by Din-sue Fon, NTU, revised from Waldron's% This function analyzes a four-bar linkage when the crank is the% driving link. The input values are:% theta1,theta2 are angles in degrees%r(1) = length of vector 1 (frame)%r(2) = length of vector 2 (crank)%r(3) = length of vector 3 (coupler)%r(4) = length of vector 4 (rocker or slider offset)%td2 = crank or coupler angular velocity (rad/sec)%tdd2 = crank or coupler angular acceleration (rad/sec^2)%sigma = +1 or -1. Identifies assembly mode%driver = 0 for crank as driver; 1 for coupler as driver% The results are returned in the vector "values". The answers are% stored in values according to the following:%values (1:4,1) = link position%values (1:4,2) = link angles in degrees%values (1:4,3) = link angular velocities%values (1:4,4) = link angular accelerations%values (1,5) = velocity of point Q%values (2,5) = velocity of point P%values (3,5) = acceleration of point Q%values (4,5) = acceleration of point P%vakyes (4,6) =absolute values of values(:,4)%vakyes (4,7) =angles in degrees of values(:,4)%form = assembly flag. If form = 0, mechanism cannot be% assembled.%convert input datavalues=zeros(4,7);% if coupler is the driver, interchange the vetor 3 & 2% if theta2>180|theta2<0, sigma=-sigma;endif driver==1,r=[r(1) r(3) r(2) r(4)];endrr=r.*r; fact=pi/180; theta=zeros(4,1); td=zeros(4,1); tdd=zeros(4,1);theta(1:2)=[theta1 theta2]*fact; t1=theta(1);tx=theta(2); s1=sin(t1); c1=cos(t1); sx=sin(tx); cx=cos(tx);% position calculationsA=2*r(1)*r(4)*c1-2*r(2)*r(4)*cx; C=rr(1)+rr(2)+rr(4)-rr(3)-2*r(1)*r(2)*(c1*cx+s1*sx); B=2*r(1)*r(4)*s1-2*r(2)*r(4)*sx;arg=B*B-C*C+A*A;if (arg>=0)form=1;% Check for the denominator equal to zeroif abs(C-A)>=epst4=2*atan((-B+sigma*sqrt(arg))/(C-A)); s4=sin(t4);c4=cos(t4);t3=atan2((r(1)*s1+r(4)*s4-r(2)*sx),(r(1)*c1+r(4)*c4-r(2)*cx)); s3=sin(t3);c3=cos(t3);elseif abs(C-A)=0)t3=2*atan((-B-sigma*sqrt(arg))/(C-A)); s3=sin(t3);c3=cos(t3);t4=atan2((-r(1)*s1+r(3)*s3+r(2)*sx),(-r(1)*c1+r(3)*c3+r(2)*cx)); s4=sin(t4);c4=cos(t4);endendtheta(3)=t3; theta(4)=t4;%velocity calculationtd(2)=td2;AM=[-r(3)*s3, r(4)*s4; -r(3)*c3, r(4)*c4];BM=[r(。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.