2007年6月14日 星期四

第十三次作業

1.

要設計一組轉速比為125的複式齒輪

首先決定組合數

複式齒列可用串聯多個組合之方式達到整體轉速比

由於每組之轉速比以維持在10以內為佳,超過此值時則需考慮增加齒輪組數

將125開立方得5

所以用三組齒輪的組合

設驅動之小齒輪數最小為12齒

大齒輪齒數必須為整數

12X5=60 60x5=300

所以選用12齒 60齒 300齒的齒輪組合

便可得到轉速比為125

2.

第七次作業令我印象深刻

ㄧ開始看到題目毫無頭緒

但研究過教學講義和不斷向同學請教

我逐步解出每個問題的答案

雖然最後分數不算高

但過程中我學到不少東西

所以是我最感得意的ㄧ次作業

2007年6月7日 星期四

第十二次作業

b94611039 陳柏成

5/31日曾全程來上課

1.
先將各名稱定義寫下

接觸比為同一時間內有多少對牙齒同時相互嚙合 為接觸路徑長度與基周節之比

節圓為節面之正剖面,代表齒輪之虛擬圓

基圓為虛擬圓,用以產生漸開線以形成齒型

用MATLAB函式contact_ratio()可計算各項資料,此函式之輸入值為徑節、兩齒輪之齒數及壓力角 輸出參數
cr_ratio =接觸比 1.7005
cr_length =接觸線 0.6275
ad =齒冠 0.1250
pc = 0.3927
pb = 0.3690
d2 =齒輪節圓直徑 3.7500
d3 =齒輪節圓直徑 6
ag =兩齒輪之接近角、遠退角及作用角 10.4850 9.9211 20.4061 6.5532 6.2007 12.7538

2.

齒數為30T的齒輪

節圓直徑為 30/8 = 3.75

基圓直徑為3.75 * cos (20) = 3.523

齒數為48T的齒輪

節圓直徑為 48/8= 6

基圓直徑為6 * cos(20) = 5.638吋

3.

測試干涉之條件為: (N2x2+2N2 x N3)sin2>= 4 + 4N3

現在N2=30T,N3=48T,Φ=20度

則 (900+60x48)*sin2(Φ)>=4(1+48)

故不會產生干涉。

4.

利用function [coords]=draw_gear(Dp,N,phi,range,x0,y0)

可得到兩齒輪的接合情況

輸入參數定義如下:

Dp:節矩

N:齒數

phi:壓力角

range:繪出之部份

x0,y0:齒輪中心座標

輸入draw_gear(8,48,20,360,2.5,0)

圖示

利用function move2_gear(Dpitch,nn1,nn2,phi,omega1)

可繪出動畫

輸入參數定義如下:

Dpitch:節矩

nn1,nn2:兩齒輪之齒數

phi:壓力角

omega1: 齒輪1之角速度,rad/s

輸入move2_gear(8,30,48,20,5)

2007年6月2日 星期六

第十一次作業

B94611039 陳柏成

1.本人5/24有去上課

2. 升程的運動形式題目已給定
而我令返程的運動形式為等速度運動 加速度為零

利用教學講義第十章裡的程式
function [y, yy, yyy]=parabol_cam
可以計算出凸輪在各個區間的位移、速度及加速度
最後我們可以用dwell函數歸納

function [y,yy,yyy]=dwell(ctheta,range,pattern)

y為位置 yy為速度 yyy為加速度

pattern為運動的型式
其代碼如下:
1:等速運動uniform 2:抛物線parabolic 3:簡諧simple harmonic
  4:擺線cycloidal 5:多項式polynomial motion

再配合plot_dwell函數可把位置 速度 加速度繪於同一張圖上

plot_dwell(0:10:360,5,[2 1],[100 200 260])

0:10:360 代表從0度到360度 刻度區間為10
5 代表衝程
[2 1]的1 代表返程的運動形式為等速度運動
[100 200 260] 代表升程返程的範圍

圖示


3. 利用pincam函數即可繪出此凸輪之工作曲線

輸入 [x y]=pincam([0:10:360],15,5,0,10,[100 200 260],[2 1],-1)

其中 15為半徑 5為衝程 0為偏置量 10為長度 最後的-1代表順時針
如果要變成逆時針用1即可

圖示

第十次作業

B94611039 陳柏成

1.
由角速度的公式可知,當一桿以某特定點M等角速度w迴轉時,其端點P之速度為rw,方向為垂直桿子。加速度為rw^2,方向為指向迴轉中心。若該特定點M復以等速V水平運動,則同一端點P之速度大小和方向以向量表示,為V+rwsinθi - rwcosθj,θ為逆時鐘旋轉時桿子與水平線的夾角,加速度rwcosθi+rwsinθj。若M點同時也有加速度,則點P速度為v+at+rwsinθi - rwcosθj,加速度為a+rwcosθi+rwsinθj。
 
桿一(固定桿)兩端點速度均為零,因此P與Q之速度與加速度方向會
與桿一之兩端點所產生的旋轉中心有關,其結果類似之前的討論。就是
將兩端點當作先前的M,再分析P、Q的速度、加速度。
 

第九次作業

我參考課本4-35到4-38頁
由於連桿和曲桿的長度差為5cm 小於偏置量e=10cm
所以曲桿不能完成360度的迴轉

利用slider_limit() 可以計算出衝程和界限距離
我的最小極限角為104.7138度 最大極限角為243.8911度

利用slider_solve()
輸入曲桿 連桿 連桿與水平線的夾角 偏置量
可以計算出任意曲桿角度之對應連結桿角度及水平距離

再利用slider_draw() 可做出動畫
影片

function slider_draw(R,L,e)
theta1=slider_limit(R,L,e)
theta2=asind((L-e)/R)+180
angel=linspace(theta1,theta2,100);
d=slider_solve(angel,R,L,e,1)

x=R*cosd(angel)
y=R*sind(angel)
for n=1:100
line([0,x(n),d(n)],[0,y(n),e])
line([d(n)-3,d(n)+3,d(n)+3,d(n)-3,d(n)-3],[e-2,e-2,e+2,e+2,e-2])
axis equal
axis ([-120 120 -120 120])
pause(0.01)
clf
end
ang=linspace(theta2,180-theta1,100);
d=slider_solve(angel,R,L,e,-1)
x=R*cosd(angel)
y=R*sind(angel)
for n=1:100
line([0,x(n),d(n)],[0,y(n),e])
line([d(n)-3,d(n)+3,d(n)+3,d(n)-3,d(n)-3],[e-2,e-2,e+2,e+2,e-2])
axis equal
axis ([-120 120 -120 120])
pause(0.01)
clf
end

第八次作業

B94611039 陳柏成
本人4/26有上課

1.

利用function f4bar
條件輸進function f4bar中
  [data,form] = f4bar(r,theta1,theta2,td2,tdd2,mode,linkdrive)
[4 3 3 5]為第1,2,3,4桿的長度,第一桿為0度,第二桿為45度,
速度為10,第二個0代表加速度。驅動桿為第二桿,故linkdrive為0。

程式碼:
[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0)
abs(val(:,1))
abs(val(:,2))
abs(val(:,3))
abs(val(:,4))

跑出的結果

點 位置(m) 速度(rad/s) 加速度(rad/s^2)
a ( 4 , 0 ) 0 0
b ( 2.12 , 2.12 ) 10 0
c ( 3.17 , 4.93 ) 16.2681 491.4428
d ( 3.17 , 4.93 ) 4.9677 383.6120


2.

我先用drawlinks把圖畫出來
再用小畫家把位置 速度 加速度的值標上去

程式碼
drawlinks([4 3 3 5],0,45,-1,0)

圖示



3.

先用此程式碼
[Ang1, Ang2]=fb_angle_limits([4 3 3 5],0,0)
得到最小角Ang1為28.9550度
最大角Ang2為331.0450度
再將角度代入drawlinks
drawlinks([4 3 3 5],0,Ang1,-1,0)
得到最小角的圖 圖示

drawlinks([4 3 3 5],0,Ang2,-1,0)
得到最大角的圖 圖示




4.

用function drawlinks寫for迴圈:
for theta2=0:20:360
drawlinks([4 3 3 5],0,theta2,-1,0)
end

圖示

由Grashof Inequality知道
2,3桿的向量和要等於1,4桿的向量和
此時才會有圖形
現在給的角度有些不符合Grashof Inequality
所以跑不出圖形

5.

我用for迴圈 最大最小角為上下限 分為60等分
for theta=28.9551:(331.0449-28.9551)/60:331.0449
clf
drawlinks([4 3 3 5],0,theta,-1,0)
pause(0.05)
end

影片

第七次作業

1.1

圖示

我把function dyad_draw加入一個輸入參數t,此時可算出t秒時的角度,角速度.再帶入
[vec,data] = dyad(rho, theta+td*t+tdd*t^2/2, td+t*tdd,tdd);

程式碼

for t=1:1:5
ground(0,0,6,0)
anchor(-6,0,0,0)
dyad_draw([19 24 14],[0 0 0],[0.2,0.3,0.4],[0,0.1,0.2],t)
end

function dyad_draw(rho,theta,td,tdd,t)
[vec,data] = dyad(rho, theta+td*t+tdd*t^2/2, td+t*tdd,tdd);
x=[0;cumsum(real(data(:,1)))];y=[0;cumsum(imag(data(:,1)))];
for i=1:length(x)-1
linkshape([x(i) y(i)],[x(i+1) y(i+1)],1);
axis equal;
end
for i=1:length(x)-1
linkshape([x(i) y(i)],[x(i+1) y(i+1)],1);
end
for i=1:length(x)-1
linkshape([x(i) y(i)],[x(i+1) y(i+1)],1);
axis equal;
end
for k=1:length(rho)
x0=x(k+1);y0=y(k+1);
vx=x0+real(data(k,2));vy=y0+imag(data(k,2));
ax=x0+real(data(k,3));ay=y0+imag(data(k,3));
line([x0 vx],[y0 vy],'marker','s','linewidth',2);
line([x0 ax],[y0 ay],'marker','s','color','r','linewidth',3)
end
sdata=sum(data);
ss=[real(sdata(1)) imag(sdata(1))];
vv=[real(sdata(2)) imag(sdata(2))];
aa=[real(sdata(3)) imag(sdata(3))];
line([0 ss(1)],[0 ss(2)],'linestyle',':','linewidth',2)
line([ss(1) ss(1)+vv(1)],[ss(2) ss(2)+vv(2)],...
'marker','d','color','g','linewidth',3)
line([ss(1) ss(1)+aa(1)],[ss(2) ss(2)+aa(2)],...
'marker','d','color','m','linewidth',3)
axis equal;


1.3

動畫

程式碼

for t=1:0.3:5
axis equal
ground(0,0,6,0)
anchor(-6,0,0,0)
dyad_draw([19 24 14],[0 0 0],[0.2,0.3,0.4],[0,0.1,0.2],t)
pause(0.1)
if t<4.8
clf
end