2007年5月4日 星期五

機動學HW8

Part1





P和Q兩點移動的範圍是一圓弧,因此速度方向是圓弧的的切線方向,所以P和Q點的速度方向是與連趕垂直,上圖就是如此標明。此圖的繪製是由function [values]=drawlinks(r,th1,th2,mode,linkdrive)程式中再呼叫function f4bar會製而成。

r=[4 3 3 5] (各桿之長度)

theta1 =0° (第一桿之水平角)

theta2 =45° (驅動桿之水平夾角)

td2 =10 (rad/sec) (驅動桿之角速度)

tdd2 =0 驅動桿(第二桿或第三桿)之角加速度(rad/sec^2)。

mode = -1 (閉合型)

linkdrive = 0 (驅動桿為第二桿)

[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0)

val =1.0e+003 *

Columns 1 through 5

0.0040    0 0   0 0.0212 + 0.0212i

0.0021 + 0.0021i 0.0450 0.0100 0 0.0041 - 0.0245i

0.0011 + 0.0028i 0.0695 -0.0163 0.4914 -0.2121 - 0.2121i

-0.0008 + 0.0049i 0.0995 -0.0050 0.3836 -1.8712 - 0.4391i

Column 6

0.0021 + 0.0021i 0.0032 + 0.0049i00

form =1

四連桿之角度為

abs(val(:,2))'ans =0 45.0000 69.4856 99.5246

各桿之角速度則為

abs(val(:,3))'ans =0 10.0000 16.2681 4.9677

各桿之角加速度為

abs(val(:,4))'ans =0 0 491.4428 383.6120

速度和加速度為

abs(val(:,5))'ans =1.0e+003 *0.0300 0.0248 0.3000 1.9220

P和Q點到原點的距離

abs(val(:,6))'ans =3.0000 5.8635 0 0

Q節點之速度為30/s 
Q節點之加速度為300/s^2
Q點位置x=2.1 y=2.1
P節點之速度為24.8387/s
P節點之加速度為1922/s^2
P點位置x=3.2 y=4.9

P和Q點的以上的數據是用function [data,form] = f4bar(r,theta1,theta2,td2,tdd2,mode,linkdrive)算出數據,而上面數據是以MODE=-1的時候所得出的數據。如果要用程式直接標出速度和加速度方向,可用f4bar程式算出加速度和速度以向量型式表示在配合之前的founction four_link3 在P和Q點上畫出加速度(法限加速度和切線加速度)和速度方向向量。


Part2

上圖為連桿所能移動的最大範圍為,此時稱為極限點或是死點,是用function [h]=drawlimits(r,th1,sigma,driver)所畫出的圖形,在呼叫funtion f4bar,畫出連桿在極限點的位置。

>> drawlimits([4 3 3 5],0,-1,0)
Qstart =28.9550
Qstop =331.0450
ans = 154.0031 164.0026 165.0026 166.0026

Part3

上圖繪製的程式為

for theta2=0:20:360

drawlinks([4 3 3 5],0,theta2,-1,0)

end;

先由之前作業的grashof判定其連桿類型grashof(2,[4 3 3 5])ans =Non-Grashof Linkage此為雙搖桿型連桿,所謂的雙搖桿型是只第二桿和第四桿只能做有限度的轉動也就是所謂的擺動,當就無法做出旋轉一圈,故必然就有極限點的限制,就是搖桿所能轉動的最大的範圍且此死點位在第二桿為29度及331度時,一般成為死點或是極限點。當theta2=0:20:360 主動桿旋轉一圈時有些四連桿並無圖形,是因為當第二桿為29度及331度時之外的角度,是無法畫出四連桿的圖形,在程式4far之中在pos=B*B-C*C+A*A;小於零時是虛數無所謂的實數解,因此無法畫出連桿。

Part4





上面得動畫是由function move_4paths(r,r6,th6,nlink,th1,td2,tdd2,sigma,driver,ntimes,npts)繪製,由於此程式的呼叫函數,和內容過於龐大,所以只能短短說明,而帶入的參數為move_4paths([4 3 3 5],0,0,3,0,10,0,1,0,4,2)即可跑出動畫程式。


心得
(1)這次所程式大多是是講義內容上的而且程式過於繁多,而只是簡單的說明如何操作。
(2)有些程式雖然是講義上的,但是在matlab程式執行中會有小錯誤,因此要稍微的debug,修改程式的內容,如動畫製作要把move_paths程式稍作修改才可以執行。

3 則留言:

Martin Foon 提到...

第一題與第二題好像較亂,不知如何釐清細節,在心得中有說明修改程式,應說明修改那裡,如何改等等。

dragon 提到...

我好喜歡你的動畫~~~

DK 提到...

李冠丟我來留言了...囧
網頁做的不錯唷