2007年5月30日 星期三

作業十一


教授抱歉~因為之前作業十的部落格排版一直出問題,

所以延慢了幾天張貼作業十,但是現在問題已經解決了,

所以可否麻煩您再看完作業十一時,往下看一下我的作業十。

造成您的不便深感歉意!!謝謝!!

==========================================

蔡智鴻 B94611037
本人5/24曾來上課部落格
圖片皆在部落中http://kaohsiungman888.blogspot.com/
==========================================
1.某凸輪開始時先在0-100∘區間滯留,然後提升後在200至260∘區間滯留,其高度(衝程)為5公分,其餘l由260∘至360∘則為返程。升程採用等加速度運動,返程之運動型式自定。設刻度區間為10∘,試繪出其高度、速度及加速度與凸輪迴轉角度間之關係。
2.設凸輪之半徑為15公分,以順時針方向旋轉,其從動件為梢型,垂直接觸,長為10公分,從動件之運動係依照第二項之運動型式。
3.試繪出此凸輪之工作曲線。
你能讓此凸輪迴轉嗎?
============================================
1.
假設回程是等速度運動,
輸入指令plot_dwell(0:10:360,5,[2 1],[100 200 260])
%0:10:360 : 指的是圖輪的刻度區有360度而刻度區間是10度
%5 : 從動件衝程[2 1] : 是運動模示2是等加速度運動,1是等速度運動
%[100 200 260] : 指的是運動區間 





除此之外我們還可以把各種狀況都考慮進去
返程等加速度運動(代號2)

返程是簡諧運動(代號3)




返程是擺線運動(代號4)




返程是多項式運動(代號5)

2.
輸入指令[x y]=pincam([0:10:360],15,5,0,10,[100 200 260],[2 1],-1)
%0:10:360 : 指的是圖輪的刻度區有360度而刻度區間是10度
%15 : 凸輪基圓半徑
%5 : 從動件衝程
%0 : 偏置量
%10 : 從動件長度
%[100 200 260] : 指的是運動區間
%[2 1] : 是運動模示2是等加速度運動,1是等速度運動
%-1 : 順時鐘旋轉


3.
使用第三題用到的pincam函式,在裡面多加入一旋轉迴圈,使此凸輪迴轉
所以將老師的pincam改寫為pincamsper
function [x,y]=pincamsuper(cth,r0,s,e,L,range,pattern,cw)
figure(1);%先叫出空白圖
pause(2); %停兩秒,以利準備拍攝的程式
clf;
th=cth*pi/180;
s0=sqrt(r0*r0-e*e);
oo=37;
for nn=1:10:360 mm=nn*pi/180;
oo=oo-1;
clf;
axis([-30 30 -30 30])
for i=1:length(cth)t=th(i)*cw;A=[cos(t+mm) -sin(t+mm);sin(t+mm) cos(t+mm)];
[ym,yy,yyy]=dwell(cth(i),range,pattern);
x0=s0+ym*s;
Sx=[0 x0 x0+L;e e e];
X=A\Sx;x(i)=X(1,2);
y(i)=X(2,2);
end[yw,yww,ywww]=dwell(cth,range,pattern);
y1=yw*s+r0+L;
y2=yw*s+r0 ;
line([0 0],[y1(oo),y2(oo)],'linewidth',10,'color','blue');
line([0 30],[y1(oo),20],'linewidth',10,'color','red');
axis([-30 30 -30 30])
hold on;
plot([0 x],[0 y],'ro',x,y,'k-')
pause(0.02);
end
所以一樣代入函式就可以得到凸輪迴轉的動畫
[x y]=pincamsuper([0:10:360],15,5,0,10,[100 200 260],[2 1],-1)

2007年5月23日 星期三

作業十

蔡智鴻 B94611037本人5/17曾來上課
部落格
圖片皆在部落中http://kaohsiungman888.blogspot.com/
kaohsiungman888.blogspot.com
===============================================
請思考速度與加速度的問題,當一桿以某特定點M等角速度迴轉時,其端點P之速度方向如何?其加速度方向如何?
若該特定點M復以等速水平運動,則同一端點P之速度與加速度方向會變為如何?
若M點同時也有加速度,則點P會有何變化?
若以此推理四連桿的運動,則點P與Q之速度與加速度方向會與桿一(固定桿)之兩端點之關係如何?
與我們前面的作業分析結果有無共通之處?(參看第六章之四連桿機構之運動分析)
===============================================
請思考速度與加速度的問題,當一桿以某特定點M等角速度迴轉時,其端點P之速度方向如何?其加速度方向如何?
假設MP間距離為r(m) P以等角速度 ω (rad/s)轉動 則依動力學定律,P點切線速度等於r*ω(m/s),其方向與r為垂直方向 並有向心加速度等於r*ω^2 (m/s^2)
以之前的作業為例
dyad_draw(4,37,.5,0)輸入桿長4, 水平角度37deg, 角速度0.5rad/s
藍色為切線速度 紅色為向心加速度

若該特定點M復以等速水平運動,則同一端點P之速度與加速度方向會變為如何?
若M為等速水平運動,則必須再加上VM,所以VP=VM+ωxr,方向則為其向量合,
加速度方面則不受影響,AP= ωx(ωxr)
若M點同時也有加速度,則計算P點加速度時則必須考慮M點之加速度,AP=AM+ωx(ωxr)
若M點同時也有加速度,則點P會有何變化?
M點有加速度,所以P點不再只有法線加速度而已,還有一個切線加速度。
和M有水平速度不一樣的地方在於,M有加速度只有影響速度和加速度的大小而已。
AP=AM+ωx(ωxr)
若以此推理四連桿的運動,則點P與Q之速度與加速度方向會與桿一(固定桿)之兩端點之關係如何?與我們前面的作業分析結果有無共通之處?(參看第六章之四連桿機構之運動分析)


固定桿兩端分別為O點和R點,此兩點由於接地,其速度與加速度皆為0。
此時我們若以第二桿為驅動桿,則計算P點速度只需要考慮桿本身的角速度和角加速度,VP=ωop x Rp/o方向與桿2垂直
切線加速度AP=αx Rp/o+ωop x (ωop x Rp/o)與桿2垂直,法線加速度則沿桿2指向O點再來我們計算Q點的速度與加速度,這時候則必須要考慮到P點之速度,Vq=Vp+ωpq x Rq/p =ωq r x Rq/r方向與桿4垂直
切線加速度Aq= Ap+αx Rq/p+ωpq x (ωpq x Rq/p) =αx Rq/r+ωqr x (ωqr x Rq/r)與桿4垂直,法線加速度則沿桿4指向O點 其中上兩式等號最右邊為利用第四桿的角速度與角加速度來計算的,因為R點為固定點,所以不用考慮R點本身速度及加速度
================================================
設有一運動之曲柄滑塊連桿組合,設滑塊之偏置量為零,且在水平方向移動,試以此機構之曲桿長度及角度,以及連結桿之長度為輸入項,利用matlab寫出一程式計算在不同曲柄角度時,六點瞬心之對應位置。可順便探討六點瞬心與曲柄角間之關係。
================================================ function drawcenter(r2,th2,r3)
%輸入函數為
%r2 = 曲桿長度
%th2 = 曲桿水平角度
%r3 = 連結桿長度

theta2 = th2*pi / 180;
%首先須記得將th2換算為弧度
X12 = 0; Y12 = 0;
X23 = r2*cos(theta2); Y23 = r2*sin(theta2);
X34 = X23+r3*cos(Y23/r3); Y34 = 0;
X13 = X34; Y13 = X34*tan(theta2);
X24 = 0; Y24 = X34*tan(Y23/r3);
% 繪出各部份
draw_inner = [X12 Y12;X23 Y23;X34 Y34;X12 Y12];
draw_outer = [X34 Y34;X13 Y13;X23 Y23;X24 Y24;X12 Y12];
draw_block = [X34-0.5 Y34-0.5;X34-0.5 Y34+0.5;X34+0.5 Y34+0.5;X34+0.5 Y34-0.5;X34-0.5 Y34-0.5];
hold on;
plot(draw_inner(:,1),draw_inner(:,2),'k-');
plot(draw_inner(:,1),draw_inner(:,2),'bo');
plot(draw_outer(:,1),draw_outer(:,2),'r:');
plot(draw_outer(:,1),draw_outer(:,2),'bo');
plot(draw_block(:,1),draw_block(:,2),'k-');
hold off;
%標註
text(X12+0.2,Y12-0.2,'12');
text(X23+0.2,Y23-0.2,'23');
text(X34+0.2,Y34-0.2,'34');
text(X13+0.2,Y13-0.2,'13');
text(X24+0.2,Y24-0.2,'24');

輸入
for i = 0:360,
clf;
axis([0 100 -10 90])
axis equal
%在此必須固定座標軸

drawcenter(60,i,50);
pause(0.2);
end;
結果如動畫



2007年5月14日 星期一

讓MATLAB實力大增的秘技

挖恭喜你點近來!!
點進去你絕對不會後悔的啦
http://ecatt.badger.ncit.edu.tw/wpd92/92U40/plot.htm

作業九

蔡智鴻 B94611037本人4/26曾來上課
部落格
圖片皆在部落中http://kaohsiungman888.blogspot.com/
=========================================
就教科書中第四章第五節之偏置機構作另類分析,分析過程可採你所知的方式(包括講義中所列的方法)。運動中分以曲桿驅動及滑塊驅動的方式,並說明運動的界限或範圍。設此機構之曲桿長Rcm , 連桿Lcm,滑塊之偏置量為10cm等數據作分析。其中,R=10+(學號末二碼),L=R+5 。
=========================================
R=10+37=47 L=37+5=52
r(1) 固定桿 第一桿的方向雖然是固定的,但長度卻會隨著機
構的運動而變動,所以可任意設定。
r(2) 曲桿 =47藍色的
r(3) 結合(連)桿=52紅色的
r(4) 垂直偏置量=10
theta1 第一桿之水平角
theta2 驅動桿之水平夾角
td2 驅動桿角速度
tdd2 驅動桿角加速度
sigma 組合模數
driver 驅動桿0代表驅動桿為第二桿。1代表驅動桿為第三桿。2代表由滑塊驅動。
1.利用講義的drawsldlinks來畫出靜態圖
驅動桿為第二桿(driver為0):
閉合型
drawsldlinks([0,47,52,10],0,90,1,0) %設th1=0度,th2=60度
輸入drawsldlimits([0 47 52 10],0,1,0)
注意:當驅動桿為第二及第三桿時,其Qstart與Qstop分別表示驅動桿之最小及最大角度
Qstart =
3.6000e-006
Qstop =
360.0000


上圖很明顯是錯的,因為上圖的最大角度和講義中的工式顯然不符,而且網路上的講義程式討論中並未提到r3≧r4≧0,且 r3+r4 ≧ r2情況所以若直接用網路上程式計算本題極限角會出錯
所以我
在sld_angle_limits 地case 0(曲桿為驅動桿)中加入
elseif
r3+r4>=r2 & r3>=r4 & r4>=0,
Qstart=-asin((r3-r4)/r2);
Qstop=pi+asin((r3-r4)/r2);
如此才能正確計算出極限角度
從新輸入drawsldlimits([0 47 52 10],0,1,0)
Qstart =
-63.3313
Qstop =
243.3313
除此之外我們還可以以動畫來詳細的看他運動的圖形
輸入
i=-63.3313
drawsldlinks([0 47 52 10],0,i,1,0) %叫出此圖形讓我準備拍攝工具
axis([-130 130 -130 130])
pause(3)
for i=-63.3313:10:243.3313%最小角到最大角分10等份
pause(0.3)
clf
drawsldlinks([0 47 52 10],0,i,1,0)
axis([-100 100 -100 100])
end


分支型
drawsldlinks([0,47,52,10],0,90,-1,0) %設th1=0度,th2=60度


輸入drawsldlimits([0 47 52 10],0,-1,0)
Qstart =
3.6000e-006
Qstop =
360.0000

上圖很明顯是錯的,因為上圖的最大角度和講義中的工式顯然不符,而且網路上的講義程式討論中並未提到r3≧r4≧0,且 r3+r4 ≧ r2情況所以若直接用網路上程式計算本題極限角會出錯 所以我在sld_angle_limits 地case 0(曲桿為驅動桿)中加入
elseif
r3+r4>=r2 & r3>=r4 & r4>=0,
Qstart=-asin((r3-r4)/r2);
Qstop=pi+asin((r3-r4)/r2);
如此才能正確計算出極限角度
從新輸入drawsldlimits([0 47 52 10],0,-1,0)
Qstart = -63.3313
Qstop = 243.3313

除此之外我們還可以以連續圖來詳細的看他運動的圖形
輸入
i=-63.3313
drawsldlinks([0 47 52 10],0,i,-1,0) %叫出此圖形讓我準備拍攝工具
axis([-130 130 -130 130])
pause(3)
for i=-63.3313:10:243.3313%最小角到最大角分10等份
pause(0.3)
clf
drawsldlinks([0 47 52 10],0,i,-1,0)
axis([-100 100 -100 100])
end



驅動桿為第二桿(driver為1):
閉合型
drawsldlinks([0,47,52,10],0,90,1,1) %設th1=0度,th2=60度
輸入drawsldlimits([0 47 52 10],0,1,1)
Qstart =
-45.3602
Qstop =
225.3602
除此之外我們還可以以連續圖來詳細的看他運動的圖形
輸入
i=-45.3602
drawsldlinks([0 47 52 10],0,i,1,1) %叫出此圖形讓我準備拍攝工具
axis([-130 130 -130 130])
pause(3)
for i= -45.3602 :10:225.3602 %最小角到最大角分10等份
pause(0.3)
clf
drawsldlinks([0 47 52 10],0,i,1,1)
axis([-100 100 -100 100])
end



分支型
drawsldlinks([0,47,52,10],0,90,-1,1) %設th1=0度,th2=60度
輸入drawsldlimits([0 47 52 10],0,-1,1)
Ostart =
-45.3602
Qstop =
225.3602
除此之外我們還可以以連續圖來詳細的看他運動的圖形
輸入 i=-45.3602
drawsldlinks([0 47 52 10],0,i,-1,1) %叫出此圖形讓我準備拍攝工具
axis([-130 130 -130 130])
pause(3)
for i= -45.3602 :10:225.3602 %最小角到最大角分10等份
pause(0.3)
clf
drawsldlinks([0 47 52 10],0,i,-1,1)
axis([-100 100 -100 100])
end


滑塊驅動部份(driver為2):
閉合型
drawsldlinks([0,47,52,10],0,90,1,2) %設th1=0度,th2=60度
輸入drawsldlimits([0 47 52 10],0,1,2)
注意:當驅動件為滑塊時,其不再是角度,而是其對應之桿一最小及最大長度,亦即r1min與r1max。
Qstart =
-98.4937
Qstop =
98.4937
除此之外我們還可以以連續圖來詳細的看他運動的圖形
輸入
i= -98.4937
drawsldlinks([0 47 52 10],0,i,1,2) %叫出此圖形讓我準備拍攝工具
axis([-130 130 -130 130])
pause(3)
for i= -98.4937 :10:98.4937 %分10等份
pause(0.3)
clf
drawsldlinks([0 47 52 10],0,i,1,2)
axis([-100 100 -100 100])
end



分支型
drawsldlinks([0,47,52,10],0,90,-1,2) %設th1=0度,th2=60度
輸入drawsldlimits([0 47 52 10],0,-1,2)
注意:當驅動件為滑塊時,其不再是角度,而是其對應之桿一最小及最大長度,亦即r1min與r1max。
Qstart =
-98.4937
Qstop =
98.4937
除此之外我們還可以以連續圖來詳細的看他運動的圖形
輸入
i= -98.4937
drawsldlinks([0 47 52 10],0,i,-1,2) %叫出此圖形讓我準備拍攝工具
axis([-130 130 -130 130])
pause(3)
for i= -98.4937 :10:98.4937 %分10等份
pause(0.3)
clf
drawsldlinks([0 47 52 10],0,i,-1,2)
axis([-100 100 -100 100])
end



結論:
1.從上面的初始圖我們可以發現,組合模數之閉合或分枝會導致左右鏡像的結果.
2.由上面六張圖可發現此狀況中分支型和閉合型其極限角之位置是相同的

2007年5月7日 星期一

作業八

蔡智鴻 B94611037
本人4/26曾來上課
部落格
圖片皆在部落中http://kaohsiungman888.blogspot.com/
===================================================================
有一組四連桿,其桿長分別為r=[4 3 3 5],由桿2驅動,設第一固定桿角度theta1=0度; 角速度 td2=10rad/s; 角加速度tdd2=0 rad/s^2。
問題一:設桿2角度theta2=45度時,求各點之位置、速度與加速度為何?
====================================================================
依照題目的需求
輸入程式碼
[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0) %r=[4 3 3 5] (各桿之長度)theta1 =0° theta2 =45° td2 =10 (rad/sec) tdd2 =0 驅動桿(第二桿或第三桿)之角加速度(rad/sec^2)。mode = -1 (閉合型)linkdrive = 0 (驅動桿為第二桿)
abs(val(:,1))
abs(val(:,2))
abs(val(:,3))
abs(val(:,4))


桿的位置   2(deg) 3(rad/s) 4(rad/s2)
桿I 位置( 4 , 0 ) 0(deg)    0 (rad/s)    0(rad/s2)    
桿II 位置( 2.12 , 2.12 ) 45.0000(deg)  10.0000(rad/s)   0(rad/s2)   
桿III 位置 ( 3.17 , 4.93 )69.4856(deg)   16.2681(rad/s)   491.4428(rad/s2)    
桿IV位置 ( 3.17 , 4.93 ) 99.5246(deg)   4.9677(rad/s)    383.6120 (rad/s2)
P點位置( 2.1213 + 2.1213i) ( 0.0212 + 0.0212i)(rad/s)( -0.2121 - 0.2121i) (rad/s2)
Q點位置( 3.1726 + 4.9311i) ( 0.0041 - 0.0245i )(rad/s)(-1.8712 - 0.4391i)(rad/s2)   注意:我一直排好他,但當發佈時就會亂掉好奇怪!!!
================================================================= 
問題二:繪出此四連桿之相關位置及標明各點之速度方向及大小(以程式為之)。
=================================================================
drawlinks([4 3 3 5],0,45,-1,0)

=================================================================
問題三:當桿2迴轉時,求出此組四連桿之限制角度,並繪出其位置(以程式為之)。
=================================================================
把機動學網站的function ab_angle_limits拿來利用
在直接輸入條件
[Ang1, Ang2]=fb_angle_limits([4 3 3 5],0,0)
就可以得到我們要的結果了

得到下面的結果:
Ang1(即驅動桿與x軸之間最小夾角)= 28.9550度
Ang2(即驅動桿與x軸之間最大夾角)= 331.0450度
為了得到最小角度和最大角度的圖
我嘗試輸入了28.9 28.80 28.9549..........等都得不到圖
感覺好奇怪。
當輸入drawlinks([4 3 3 5],0,29,-1,0)時得到此圖



但是當輸入drawlinks([4 3 3 5],0,331.044,-1,0)跟最大角度只差0.001度卻跑的出來耶
在輸入
drawlinks([4 3 3 5],0,29,-1,0)
drawlinks([4 3 3 5],0,331.044,-1,0)

=================================================================
問題四:設theta2=[0:20:360],試繪出此組四連桿之重疊影像,解釋為何有些沒有值。
=================================================================
寫一個for迴圈
將老師給的條件帶入function drawlinks
程式碼如下
for theta2=0:20:360
drawlinks([4 3 3 5],0,theta2,-1,0)
end
所得到的圖有一些真的是沒有圖案因為曲桿為主動桿,θ2為輸入,然後將講義的公式簡化
r3cosθ3= r1cosθ1+r4cosθ4-r2cosθ2
r3sinθ3= r1sinθ1+r4sinθ4-r2sinθ2
帶入
其對應之係數ABC表示如下:
A=2r1r4cosθ1-2r2r4cosθ2
B=2r1r4sinθ1-2r2r4sinθ2
C=r1²+r2²+r4²-r3²-2r1r2(cosθ1cosθ2+sinθ1sinθ2)
可得
θ4 = 2tan-1β
由於-π/2≤tan-1β≤π/2,故 -π≤θ4≤π。
值得注意的是,B²- C²+A²≥0,亦即B²+A²≥ C²才能獲得實數的根,若無法達滿足這個條件,表示所給的桿長無法構成四連桿。因此這一個不等式可作為測試四連桿是否成立的一個準則。
所以沒有值的部份,就是沒有符合上面所推導的,因為四連桿一定要滿足r2ejθ2+r3ejθ3=r1ejθ1+r4ejθ4,所以圖通所顯現的桿就代表四連桿滿足此條件,實際情形中它是真的可以轉到該角度。
其中我們可得到
Combination of links fail at degrees 0.0 20.0 340.0 360.0

==================================================================
問題五:若將問題三考慮在內,只在可迴轉的範圍內迴轉,請問你能讓此組四連桿作成動畫方式迴轉嗎?
=================================================================
pause(3) % 因為要讓我有時間準備拍影片的工具!!
title('b94611037 蔡智鴻')
for
theta=28.9551:(331.0449-28.9551)/40:331.0449%分成40等份
axis equal
axis([-4 5 -5 6]);
drawlinks([4 3 3 5],0,theta,-1,0)
pause(0.35)
clf
end
for
theta2=331.0449:-(331.0449-28.9551)/25:28.9551
title('b94611037 蔡智鴻')
axis equal
axis([-4 5 -5 6]);
drawlinks([4 3 3 5],0,theta2,-1,0)
pause(0.3)
end