2007年6月13日 星期三

動畫已上傳

之前因為未搞清楚動畫如何上傳

所以各作業的動畫皆未附上

現已補上

在各作業處

歡迎指教

2007年6月12日 星期二

第十三次作業

第一題

試設計一組複式齒輪,使其轉速比為125(請說明思考步驟及結果)。

ans:

因為轉速比最好是在10以下,所以我先將125開根號

(125)^1/2=11.18 → 超過10,所以我將125取其平方根

(125)^1/3=5 → 在十以內,因此我取其為轉速比

若最小齒輪取齒數=10;

所以我可以取齒數序分別為10:50; 10:50; 10:50

構成一組複式齒輪組

因為開立方出來的值為整數,所以理論上沒有誤差值




第二題

請指出本學期中你自己最感得意的一次作業(請說明其原因,且該作業必須在自己的部落格內)

ans:
這一學期下來,最令我滿意的ㄧ次作業是第十二次

並不是因為所花的時間最多(第五次作業花的時間最多,從早上八點到晚上十二點,扣掉吃飯與休息時間,約花了十二小時)

主要是因為這次作業的最後一題

製作此題的動畫,雖然可運用老師已做好的move2_gear.m 直接輸入參數即得動畫

不過若是運用draw_gear.m的程式來修改的話,

則必須花上ㄧ些工夫

而我就是採用後者

晚上在總圖地下自習室花了不少時間

尤其是要將兩個齒輪對上的部分

更是讓我傷透腦筋

雖然最後發現其實很簡單

有點惱自己為什麼這麼不聰明

不過最後看到齒輪在自己眼前順暢的轉動還是很有成就感

2007年6月6日 星期三

第十二次作業

我是劉昶志

我5/31有來上課

第一題

一組標準全齒輪齒輪之徑節為8(亦可使用自設值),齒數分別為30T與48T,其工作壓力角為20度(可為14.5或25度,自選)。
試求其接觸線長度,與接觸比。

由老師所製作的程式contact_ratio

代入

徑節=8

齒輪齒數為30及48

工作壓力角為20度

由matlab執行程式後可得以下資料
[c_ratio, c_length,ad,pc,pb,r2,r3,ag]=contact_ratio(8,30,48,20)

c_ratio =

1.7005


c_length =

0.6275


ad =

0.1250


pc =

0.3927


pb =

0.3690


r2 =

3.7500


r3 =

6


ag =

10.4850 9.9211 20.4061
6.5532 6.2007 12.7538

其中

接觸比=1.7005
接觸長度= 0.6275 吋

又改代入

徑節=8

齒輪齒數為30及48

工作壓力角為25度

由matlab執行程式後可得以下資料
>> [c_ratio, c_length,ad,pc,pb,r2,r3,ag]=contact_ratio(4,30,48,25)

c_ratio =

1.5028


c_length =

1.0697


ad =

0.2500


pc =

0.7854


pb =

0.7118


r2 =

7.5000


r3 =

12


ag =

9.1921 8.8419 18.0340
5.7450 5.5262 11.2712


其中

接觸比= 1.5028
接觸長度=1.0697吋

第二題

兩齒輪之節圓、基圓直徑各為如何?請列式計算其結果。

第一齒輪節圓直徑為 30/8 = 3.75

第二齒輪節圓直徑為 48/8= 6

第一齒輪基圓直徑為3.75 * cos (20) = 3.523

第二齒輪基圓直徑為6 * cos(20) = 5.638吋



第三題

此組齒輪是否會產生干涉現象?試列式證明之。


(N2^2+2*N2*N3)sin^2(壓力角) > = 4

(N3^2+2*N3*N2)sin^2(壓力角) > = 4(1+N2)

代入數值

442.18 > 176

606.41 > 124

所以整個接合的過程皆不會有干涉發生


第四題

可否利用draw_gear.m繪出其接合情形,並繪出其動畫效果。

將draw_gear.m的程式稍作修改

加入第二齒輪的齒數參數 N2 ,以及旋轉角度參數 n

function [coords]=draw_gear(Dp,N,N2,phi,range,x0,y0,n)
% [coords]=draw_gear(Dp,N,phi,range,x0,y0)
% To draw a whole gear
% Inputs:
% Dp: Diametrical pitch
% N: no of teeth in a gear
% N2: no of teeth in second gear
% phi: pressure angle, degrees
% range: the section range to be drawn
% x0,y0: the location of the gear center
% Example [coords]=draw_gear(10,15,20,360,0,0)
% rotate direction

[coord,theta,rp,rb]=tooth(Dp,N,phi);
coords=[];i=0;
while i < range
coord1=rotate2D(coord,-i-n*theta/3,x0,y0);
coords=[coords;coord1];
i=i+theta;
end
plot(coords(:,1),coords(:,2));hold on;
[coord]=bushing(rp/8,x0,y0);
plot(coord(:,1),coord(:,2),'b-');
[coord]=bushing(-rp,x0,y0);
plot(coord(:,1),coord(:,2),'r:');
[coord]=bushing(-rb,x0,y0);
plot(coord(:,1),coord(:,2),'b:');

%下面為第二齒輪的部份

[coord,theta,rp2,rb]=tooth(Dp,N2,phi);
coords=[];i=0;
while i < range
coord1=rotate2D(coord,-i+n*theta/3+180+theta/2,x0+rp+rp2,y0);

%“-i+n*theta/3+180+theta/2”是為了使齒輪卡緊

coords=[coords;coord1];
i=i+theta;
end
plot(coords(:,1),coords(:,2));hold on;
[coord]=bushing(rp2/8,x0+rp+rp2,y0);
plot(coord(:,1),coord(:,2),'b-');
[coord]=bushing(-rp2,x0+rp+rp2,y0);
plot(coord(:,1),coord(:,2),'r:');
[coord]=bushing(-rb,x0+rp+rp2,y0);
plot(coord(:,1),coord(:,2),'b:');

再寫出主程式

for m=1:360;

clf

[coords1]=draw_gear2(8,30,48,20,360,1,0,m)

pause(0.02)

end

可做出以下動畫