2007年6月16日 星期六

作業十三

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

由於每組之轉速比最好維持在10以內,超過此值時則需考慮增加齒輪組數。因此轉速比為125時必須用較多的組數才成達到目標。首先,將125開方,其值為11.1803,仍然比10大,故使用兩組組合仍嫌不足,如將125開立方,其值為5,低於10甚多,且為整數,故使用三組齒輪之組合,只要將這種組合串聯三組即可。設驅動之小齒輪數最小為12齒(N1>=12)*,則依序可以得到對應大齒輪之齒數如下:

N2 = N1 * 5 = 60

N3 = N2 * 5 = 300

所以取12齒,60齒以及300齒的齒輪作為串聯,可得到題目的要求
再配合matlab程式即可得到所設計之動畫。

for wa=0:0.1:2
clf
[coords]=draw_gear(5,25,20,360,0,0,wa)
wb=-5*wa
[coords]=draw_gear(5,5,20,360,3,0,wb)
[coords]=draw_gear(5,25,20,360,3,0,wb)
wc=-5*wb
[coords]=draw_gear(5,5,20,360,6,0,wc)
[coords]=draw_gear(5,25,20,360,6,0,wc)
wd=-5*wc
[coords]=draw_gear(5,5,20,360,9,0,wd)
pause(0.1)
end

2請指出本學期中你自己最感得意的一次作業(請說明其原因,且該作業必須在自己的部落格內)。
我想,在這學期最感得意的應該是就是第五次作業吧。那時剛接觸MATLAB沒多久,對MATLAB還有些害怕。剛開始看到陌生題目的時候,不知所措,那時候覺得只有小畫家可以畫出這樣的東西,之前學的C++都只有運算之類的,沒有畫圖,而AUTOCAD也不用寫程式。於是我再只上先自己畫出一之手臂,然後分析每點之間的關係,在輸入視窗。其實這步驟沒有想像中困難,就只是普通的算數。當我用line把手連起來時,我覺得自己學會了一個很不錯的軟體。
接下來,要寫一個可以輸入角度與每節長度的function。這花了我一些時間思索。後來把期間關係式寫出來後,發現怎麼樣都跑不出來。非常沮喪,好在同學提醒我需檢查”.”,原來要加了才可以被當作數字算。
還要讓這手臂轉動,天啊,那時我想我絕對做不出來。後來利用老師上課講的for迴圈,還有pause,發現沒幾個式子,就可以得到想要的動畫。我發現,只要將所想呈現的動畫,稍作分析,就可以畫出來。讓我實在佩服製造MATLAB軟體的人。之前因為要研究MATLAB,有到書局翻閱相關書籍,我發現,Matlab的運用範圍十分廣,有工程數學、商業、地質分析等等玲瑯滿目,我想這真是一個很好機會讓我們接觸這軟體。

2007年6月7日 星期四

作業十二




1. 本人5/31有來上課

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

•試求其接觸線長度,與接觸比。

在老師的課程網頁中有contact_ratio程式,
輸入參數:
Pd:徑節=8
n2, n3:兩齒輪之齒數=30,48
phi壓力角=20

輸出參數:
cr_ratio接觸比
cr_length:接觸長度
ad:齒冠
pc, pb:周節及基周節
d2, d3:兩齒輪節圓直徑。
ag:兩齒輪之接近角、遠退角及作用角

輸入[c_ratio,c_length,ad,pc,pb,d2,d3,ag]=contact_ratio(8,30,48,20 )
得到
c_ratio =

1.7005


c_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
(注意單位)
也就是
接觸比=1.7005
 接觸長度=0.6275吋
 齒冠=0.1250吋
 周節=0.3927
 基周節pb=0.3690
 齒輪節圓直徑齒輪一=3.75吋
       齒輪二=6吋
 齒輪一之接近角=10.4850度
     遠退角=9.9211度
     作用角=20.4061度
 齒輪二之接近角=6.5532度
     遠退角=6.2007度
     作用角=12.7538度

•兩齒輪之節圓、基圓直徑各為如何?請列式計算其結果。
我們可以由定義知道,
節徑*徑節=齒數
 所以齒輪一之節徑為30/8=3.75吋
   齒輪二之節徑為48/8=6吋

 而基圓直徑=節徑*cos(th)
(其中th為壓力角)
 所以齒輪一之基圓直徑為3.75*cos(20)=3.523吋
   齒輪二之基圓直徑為 6*cos(20)=5.638吋

•此組齒輪是否會產生干涉現象?試列式證明之。
在課本9-39中,有詳細介紹干涉的檢驗並且逐步推導。 
根據公式我們知道,
N2及N3要滿足
 (N2^2+2N2*N3)sin^2(壓力角) >= 4(1+N3)
才不發生干涉

  依照題意N2為30,N3為48,壓力角為20 則
 (20^2+2*20*48)sin^2(20) >= 4*(1+48)
271.1 > 196
  故本組數據將不會發生干涉
可以由
function [x]=isinterf(phi,N1,N2) 來測試

(若輸出為1代表有干涉現象,0則否)
所以我們輸入isinterf(20,30,48)
Ans=0


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

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年5月30日 星期三

作業十一

1.本人5/24有來上課,謝謝老師。

2.某凸輪開始時先在0-100∘區間滯留,然後提升後在200至260∘區間滯留,其高度(衝程)為5公分,其餘l由260∘至360∘則為返程。升程採用等加速度運動,返程之運動型式自定。設刻度區間為10∘,試繪出其高度、速度及加速度與凸輪迴轉角度間之關係。


在老師課程網站上第十章凸輪運動有對凸輪詳細的剖析以及介紹,這題我們使用老師的給的function plot_dwell

程式碼如下
function plot_dwell(ctheta,s,pattern,range)
figure(1);clf;
[y,yy,yyy]=dwell(ctheta,range,pattern)
%[y,yy,yyy]=dwell(ctheta,range,pattern)亦取自老師的課程網頁

h1=plot(ctheta,y*s,'b-',ctheta,yy*s,'k-',ctheta,yyy*s,'r-')
legend('Displacement','Velocity','Acceleration',3)
xlabel('Elapsed Angle, degrees')
grid

而所需輸入的參數如下:
*ctheta = 需要計算之凸輪角度,單位為度數。(可以使用矩陣輸入之型式)
*s=衝程,極為所上升之高度。
*pattern = 運動的型式,二元素之列矩陣,其代碼如下:
1:等速運動uniform
2:抛物線parabolic
3:簡諧simple harmonic
4:擺線cycloidal 
5:多項式polynomial motion
*range =升程及返程之範圍,以矩陣表示

我們分析此程式中[y,yy,yyy]=dwell(ctheta,range,pattern) function中,我們知道所輸出的値表示下列意思:
*y:位移
*yy:對於凸輪角ctheta之第一導數;
* yyy :對於凸輪角ctheta之第二導數。

因此,有了這些function,我們只要在螢幕上輸入

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

*0:10:360 凸輪從0到360度每隔十度來計算
*5 衝程
* [2 5] 2表示升程維等加速度拋物線運動
5表示回程自定的多項式運動
* [100 200 260 360]
標示升程與回程的角度

即可以得到位置速度加速度與角度之關係圖。





3.設凸輪之半徑為15公分,以順時針方向旋轉,其從動件為梢型,垂直接觸,長為10公分,從動件之運動係依照第二項之運動型式。試繪出此凸輪之工作曲線。

若要描繪凸輪的工作曲線,可以從老師的網頁中參考
function [x,y]=pincam(cth,r0,s,e,L,range,pattern,cw)
其中
*cth:凸輪角度,度數
*r0:凸輪基圓半徑
*e:偏置量
*s:從動件衝程
*L:從動件長度
*cw:凸輪轉動方向(反時鐘為正,順時鐘為負)
*pattern 運動的型式motion
*range 升程及返程之範圍

因此,依照題意,
在螢幕上輸入

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

可得到凸輪之工作曲線。



4. 你能讓此凸輪迴轉嗎?

要讓凸輪旋轉其實不難,只要將for迴圈妥善利用即可。我寫ㄧ個function pincam2,運用第三題老師所給的pincamrotate funtion,再加一些旋轉的程式碼分析其轉動情形。
我的程式碼如下:

function [x,y]=pincamrotate(cth,r0,s,e,L,range,pattern,cw)
%Find the pin type cam with an offsect e
%Inputs:
% cth:angle of cam, degrees
% r0:radius of base circle
% e:offset
% s:stroke
% L:length of pin
% cw:rotation direction of cam(-counterclockwise,+clockwise
%pattern = denote the type of motion used(a 3 element-row matrix)
% 1:uniform 2:parabolic 3:simple harmonic 4: cycloidal
% 5:polynomial motion
% example [4 3]
%range =the degrees the specific motion starts, eg.[90 180 240]
% Example: [x y]=pincam([10 60],5,2,1,10,[90 180 240],[4 3],-1)
clf;
th=cth*pi/180;
s0=sqrt(r0*r0-e*e);
for i=1:length(cth)
t=th(i)*cw;
A=[cos(t) -sin(t);sin(t) cos(t)];
[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

%以下是我多加的,和第三題程式不同的地方

%寫一個for迴圈,從第一次跑到第36次
for n=1:36
%以旋轉公式寫出各點經旋轉後的座標

a=x+r0*cosd(10*n);
b=y+r0*sind(10*n);

%描畫各點,再將它們的軌跡以紅色o表達
plot([0 a],[0 b],'ro',a,b,'k-');

%設定座標範圍
axis ([-50 50 -50 50]);

%每次動作停留0.1秒
pause(0.1);
clf
end

依照題意,在螢幕上輸入

pincam2([0:10:360],15,5,0,10,[100 200 260],[2 1],-1)

可得動畫如下

2007年5月26日 星期六

作業十

1.本人5/17有來上課,謝謝老師。
2.
*請思考速度與加速度的問題,當一桿以某特定點M等角速度迴轉時,其端點P之速度方向如何?
其加速度方向如何?




設角速度為w,桿長r
P點的速度則為 w x r
方向為桿運動之切線方向

其加速度為w x w x r
其方向由P指回M點

*若該特定點M復以等速水平運動,則同一端點P之速度與加速度方向會變為如何?

此時的P點速度為 VM + w x r (其中V代表M以V速度在移動)
而加速度仍是為w x w x r(方向由P指回M點)
注意:這些加減並非純向量加減,必須考慮方向

*若M點同時也有加速度,則點P會有何變化?



M點有加速度,所以P點不再只有法線加速度而已,還有一個切線加速度。和M有水平速度不一樣的地方在於,M有加速度只有影響速度和加速度的大小而已。
AP=AM+ωx(ωxr)


*若以此推理四連桿的運動,則點P與Q之速度與加速度方向會與桿一(固定桿)之兩端點之關係如何?與我們前面的作業分析結果有無共通之處?



固定桿兩端為O點和R點著地,所以其速度與加速度皆為0,
若以第二桿為驅動桿,
則P點速度為
VP=Wop x Rp/o  方向與桿二垂直

AP=[αx Rp/o]+[Wop x (Wop x Rp/o)] 
前項為切線加速度與桿2垂直,後項為法線加速度指向O點


Q點的速度與加速度
由於P點有速度
所以Q點的速度為
Vq = Vp + Wpq x Rq/p
但是由於Vq 是硍R點連接 而R點為接地點
所以Q點的速度也為 Wq r x Rq/r  方向與桿四垂直

同樣加速度也是
Aq = Ap+α x Rq/p + Wpq x (Wpq x Rq/p)
也等於 α x Rq/r + Wqr x (Wqr x Rq/r) 
切線加速度與桿四垂直,法線加速度指向R點



3.設有一運動之曲柄滑塊連桿組合,設滑塊之偏置量為零,且在水平方向移動,試以此機構之曲桿長度及角度,以及連結桿之長度為輸入項,利用matlab寫出一程式計算在不同曲柄角度時,六點瞬心之對應位置。可順便探討六點瞬心與曲柄角間之關係。
關於這題,我想連桿部份就和第九次的作業大致相同,其重點部份在於瞬心的運用。我們知道有4桿,所以依照公式我們能得到有6個瞬心,(N*(N-1)/2),瞬心的定位法在課本5-20都有詳細敘述,為了標示這些點,我寫了個function slider_4,程式碼如下:


function slider_4(R,L,e)
%先假設從水平方向開始
th1=0;
if R>L
%算出th2
th2=asind(L/R);
else
%th2極限值到90度就不能再畫瞬心
th2=90;
end

th=linspace(th1,th2,200 )
%設定角度間隔,角度範圍分成200等份
[d,th3]=slider_solve(th,R,L,e,1)
%呼叫slider_solve 以求出d

x=R*cosd(th),
y=R*sind(th)
%利用th求出B點座標(x,y)

for n=1:200
%建立一個for迴圈

hold on;
%設定座標範圍
line([0,x(n),d(n)],[0,y(n),e]);
%將A B C三點聯成直線
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]);
%畫出滑塊
ground(0,0,2,0)
anchor(-2,0,0,0)
%畫底座

%用plot描繪出運動的各點
plot(0,0,'ro');
plot(x(n),y(n),'ro');
plot(d(n),e,'ro');
plot([0,0],[0,e-d(n)*(y(n)-e)/(x(n)-d(n))],'ro:');
plot([x(n),0],[y(n),e-d(n)*(y(n)-e)/(x(n)-d(n))],'ro:');
plot([x(n),d(n)],[y(n),y(n)*d(n)/x(n)],'ro:');
plot([d(n),d(n)],[0,y(n)*d(n)/x(n)],'ro:');

axis equal;
%設定座標範圍
axis ([-10 30 -10 100]);

pause(0.001);
%每個0.5秒停格一次
clf;
%清除動畫前一次畫面

end
在視窗中輸入slider_4(15,8,0)
其可得到下列動畫
動畫

2007年5月18日 星期五

作業九

A:本人5月3日有來上課,謝謝老師。

B:本人於5月10日下午兩點鐘有參加meeting

C:

請將偏置機構作另類分析,分析過程可採你所知的方式(包括講義中所列的方法)。運動中分以曲桿驅動及滑塊驅動的方式,並說明運動的界限或範圍。設此機構之曲桿長Rcm , 連桿Lcm,滑塊之偏置量為10cm等數據作分析。其中,R=10+(學號末二碼),L=R+5 。

ANS

所謂滑塊偏置機構,即是滑塊滑動方向和水平方向距離e(偏置量)。




我們若要分析此機構,我們首先必須求出偏移量對角度限制的影響。上圖中,我們若要讓此偏置機構動作,必須藉由其中的關係式,求出B點與C點的標。而在課本第四章中,我們參考其function[s,theta21,theta22]=slider_limit(R,L,e)的程式,可求出B點座標。但是我們可以將其函數稍微整理一下,用sind(),cosd()代替多出來角度的轉換,可使程式更為簡易。以下是我的function:

function [s,th1,th2]=slider_limit(R,L,e)
th1=asind(e./(R+L));
th2=180+asind((L-e)/R);
s=(R+L).*cosd(th1)-abs(R-L).*cosd(th2);

(其中s是滑塊的衝量(移動量),th1,th2是AB曲桿和水平夾角度的極限值)

在這裡我們必須注意的是th2的運算,課本所給的是R大於L的時候,所以輸出的値不會出現複數,但是老師給的値是L>R,故我們必須修改一下th2=180+asind((L-e)/R)。

爲了求出滑塊(C點)的座標,我們可以課本上的

function [d,theta3]=slider_solve(theta2,R,L,e,mode)
其程式如下:

function [d,theta3]=slider_solve(theta2,R,L,e,mode)
if nargin<5, mode="0;end" theta="theta2*d2g;" cc="(e-R.*sind(theta))./L;">=0,
theta3=asind(cc);
else
theta3=asind(-cc)+pi;
end
d=L.*cosd(theta3)+R.*cosd(theta);


*驅桿驅動

建立一個function slider_analysis(R,L,e)的函數,其程式碼如下:

function slider_analysis(R,L,e)
[s,th1,th2]=slider_limit(R,L,e)
%先呼叫slider_limit,以求出角度極限值
th=linspace(th1,th2,200 )
%設定角度間隔,角度範圍分成200等份
[d,th3]=slider_solve(th,R,L,e,1)
%呼叫slider_solve 以求出d

x=R*cosd(th),
y=R*sind(th)
%利用th求出B點座標(x,y)

for n=1:200
%建立一個for迴圈
axis ([-40 50 -30 40]);
axis equal;
%設定座標範圍
line([0,x(n),d(n)],[0,y(n),e]);
%將A B C三點聯成直線
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]);
%畫出滑塊
ground(0,0,2,0)
anchor(-2,0,0,0)
%畫底座
pause(0.05);
%每個0.5秒停格一次
clf;
%清除動畫前一次畫面

end


*滑塊驅動

若是滑塊驅動,則會比區柄驅動多一部份程式。
我建立了slider_analysis2,其程式碼如下:
function slider_analysis2(R,L,e)

[s,th1,th2]=slider_limit(R,L,e)
th=linspace( th1, th2,200 )
[d,th3]=slider_solve(th,R,L,e,1)
x=R*cosd(th),
y=R*sind(th)

for n=1:200
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]);
ground(0,0,2,0)
anchor(-2,0,0,0)
pause(0.01);
clf;
axis ([-100 100 -100 100]);
end
%多加的部份
th=linspace( th2,180-th1,200 )
[d,theta3]=slider_solve(th,R,L,e,-1)
%若mode輸入為-1,則輸出角度會和mode值為1時互補,這是滑塊驅動必須考慮的部份。
%這次角度的範圍要從th2到180-th1

x=R*cosd(th),
y=R*sind(th)

for n=1:200


line([0,x(n),d(n)],[0,y(n),e]);
line([d(n)-4,d(n)+4,d(n)+4,d(n)-4,d(n)-4],[e-3,e-3,e+3,e+3,e-3]);
ground(0,0,2,0)
anchor(-2,0,0,0)
pause(0.01);
clf;
axis ([-100 100 -100 100]);
end


在螢幕上輸入
slider_analysis(20,25,10)

slider_analysis2(20,25,10)

即可得到曲桿驅動以及滑塊驅動的圖形

曲桿驅動


滑塊驅動

2007年5月11日 星期五

作業八

A:本人4月26日曾來上課,謝謝老師。
B:
有一組四連桿,其桿長分別為r=[4 3 3 5],由桿2驅動,設第一固定桿角度theta1=0度; 角速度 td2=10rad/s; 角加速度tdd2=0 rad/s^2。

1. 設桿2角度theta2=45度時,求各點之位置、速度與加速度為何?

我們可以參考老師網頁的第六章,使用function f4bar,其中,function的輸入原則為f4bar(r,theta1,theta2,td2,tdd2,mode,linkdrive) r是各桿長度,theta1:第一桿之水平角,theta2:驅動桿之水平夾角,td2:驅動桿之角速度(rad/sec),tdd2:驅動桿之角加速度(rad/sec^2),mode:+1 or -1. 組合模數,負值表示閉合型,正值為分支型,linkdrive :0 (驅動桿為第二桿); 1 (驅動桿為第三桿),所以依照題目的意思,我們輸入
[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0)
得到
val =
1.0e+003 *
0.0040 0 0 0 0.0212 + 0.0212i 0.0021 + 0.0021i
0.0021 + 0.0021i 0.0450 0.0100 0 0.0041 - 0.0245i 0.0032 + 0.0049i
0.0011 + 0.0028i 0.0695 -0.0163 0.4914 -0.2121 - 0.2121i 0
-0.0008 + 0.0049i 0.0995 -0.0050 0.3836 -1.8712 - 0.4391i 0
form =
1
此處form=1表示可連成四連桿

*各點位置:
O(0,0)
P(2.12,2.12)
Q(2.12+1.05,2.12+2.81)=(3.17,4.93)
(即為value中第一欄第三行的向量值加上P點座標)
R(4,0)

*各桿跟水平線的夾角
在螢幕上輸入
>> 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
即為各桿的角加速度

2. 繪出此四連桿之相關位置及標明各點之速度方向及大小(以程式為之)。

首先,我們可以在老師第六張講義中找到function drawlinks,存取後在螢幕上輸入drawlinks([4 3 3 5],0,45,-1,0),及可得到下圖。



3. 當桿2迴轉時,求出此組四連桿之限制角度,並繪出其位置(以程式為之)。

我們可以清楚地從老師第六張講義了解function drawlimits在角度限制上的運用。另外,這程式亦結合了fb_angle_limits,因此我們必須先存取此檔案。
在螢附上輸入:
drawlimits([4 3 3 5],0,1,0)
可得
Qstart =

28.9550


Qstop =

331.0450

此類型角度限制在右邊,如圖所示。



4. 設theta2=[0:20:360],試繪出此組四連桿之重疊影像,解釋為何有些沒有值。
依照題意,我們輸入
clf;
for i=0:20:360
drawlinks([4 3 3 5],0,i,1,0);
end
可以得到一個圖,但是會出現:
Combination of links fail at degrees 0.0
Combination of links fail at degrees 20.0
Combination of links fail at degrees 340.0
Combination of links fail at degrees 360.0

這是因為我們剛剛已經藉由function drawlimits得知此四連桿由第二桿驅動時的角度限制(28.95度~331.04度),故在此範圍外的角度沒有值,也就是說,當旋轉到這些角度時,無法構成四連桿。

5. 若將問題三考慮在內,只在可迴轉的範圍內迴轉,請問你能讓此組四連桿作成動畫方式迴轉嗎?
我們首先必須找出角度的範圍,所以設一個迴圈從29~331每隔五度跑一次,其次是要注意標示pause的時間,為了讓畫面美觀,更可以設定座標範圍。
AXIS([-5 5 -5 5])

for i=29:5:331
drawlinks([4 3 3 5],0,i,1,0);
pause(0.2)
clf;

end
或者使用move_4paths的function,並輸入move_4paths([4 3 3 5 ],2,-30,3,0,10,0,1,0,4,100)及可得到動畫及其軌跡的移動。
動畫

2007年4月29日 星期日

作業六

第一部分
某一平面組合機構如下圖,其中包括兩滑塊元件一與地固定,另一分於固定於兩桿。青色者則為滑槽。試

6.1.1 標出桿號及結數,並計算共計有多少連桿及結數。
如圖所示



6.1.2利用古魯伯公式,計算此機構之可動度,請列出其計算方法。
由公式得知
M=3*(N-J-1)+FN=12 J=15 
F為12個旋轉結+1個滑動結+2個滑槽結F=12*1+1*1+2*2=17 M=-12+17=5 
所以自由度為5

6.1.3請利用function[df]=gruebler()函數計算其對應之可動度。

使用function gruebler我們可以在裡面輸入旋轉結12、滑動結1、滑槽結2可得gruebler(12,[12 1 2])自由度為5

6.1.4討論此機構中滑塊及滑槽對可動度之影響

滑槽的自由度為2,可旋轉並可延滑槽方向移動。
第2桿處的滑塊,自由度為2,可旋轉並可延x方向移動F處滑塊,自由度為2,可旋轉並可延滑塊方向移動








第二部份
下面為一個立體機構,分別由兩個旋轉結,一個筒結及三個球結組成。試說明:
· 利用古魯伯公式如何計算整個機構之自由度,可以動嗎?
· 請利用function[df]=gruebler()函數計算其對應之可動度,並相互印證。
· 這裡有所謂楕性自由度嗎?其對整個機構之影響如何?

6.2.1各結之自由度如何?
如圖


1.4為旋轉結,自由度1,為能滑動的圓柱體。
6為圓柱結,自由度2 ,為不能滑動的圓柱體。
2,3,5為球結,自由度3 。

6.2.2利用古魯伯公式如何計算整個機構之自由度,可以動嗎?

M=6(N-J-1)+f=6(6-6-1)+13
M=7 
可算出其自由度為7在減掉惰性自由度可得
M=7-2=5


6.2.3請利用function[df]=gruebler()函數計算其對應之可動度,並相互印證。

gruebler(6,[2 0 0 3 1])
可得自由度為7
減掉惰性自由度可得M=5

6.2.4這裡有所謂楕性自由度嗎?其對整個機構之影響如何?
M=6(7-7-1)+Σf=8
故機構可動
以gruebler函數算之,
gruebler(7,[3 0 0 3 1])
自由度為8
惰性自由度為4,
所以整體自由度為8-4=4。

第三部份
假設有三組四連桿,設第一桿為固定桿,各桿長度分別如下:
1. 第一組:桿1-桿4分別為7,4,6,5cm
2. 第二組:桿1-桿4分別為8,3.6,5.1,4.1cm
3. 第三組:桿1-桿4分別為5.4,3.1,6.6,4.7cm

6.3.1何謂葛拉索機構及非葛拉索機構?

在一四連桿當中,
令四桿的桿長為g(最長桿的長度)
s(最短桿的長度)
p,q(中間長度之兩桿的長度)
則當s+g<p+q時,為葛拉索第一類型至少有一桿可為旋轉桿。
s+g>p+q,為葛拉索第二類型為三搖桿運動。
s+g=p+q,為葛拉索第三類型連桿有兩種形式可繞一圈旋轉。
(一三型為葛索拉機構,第二行為非葛索拉)
6.3.2試問各組應屬何種機構?其迴轉情況會如何?
一:7+4=6+5,故屬於葛拉索第三類型桿,即中立連桿組二:8+3.6>5.1+4.1,故屬於葛拉索第二類桿,即非葛拉索連桿三:6.6+3.1<5.4+4.7,其屬於葛拉索第一類桿



6.3.3試用grashof()函數檢驗上述三組的連桿組合。


一:grashof(1,[7 4 6 5])
為Neutral Linkage
二:grashof(1,[8 3.6 5.1 4.1])
為Non-Grashof Linkage
三:grashof(1,[5.4 3.1 6.6 4.7])
為Crank-Rocker Linkage

6.3.4上述三組連桿若要成為葛拉索機構,則應如何改善?

從上述的分析,我們知道一跟三是葛拉索機構,第二組則為非葛拉索型,若要將其改成葛拉索型機構,只要將葛拉索機構中最長與最短之和小於另外兩桿之和即可變成一個葛拉索機構。

2007年4月28日 星期六

作業七

本人4/19有上課


題目設有三桿相連結成端桿(dyad)之型式。請利用網路講義中之函數dyad及dyad_draw作分析。
function dyad_draw(rho,theta,td,tdd)
其中:
• 各桿之對應長度rho=[a, a+5, a-5]cm,a=(你的學號末一碼)+10;
• 各桿之對應起始角度theta=[0, 0, 0]度;
• 各桿之對應角速度為td=[0.2, 0.5, 0 .3]rad/s;
• 各桿之對應角加速度為tdd=[0, 0.1, 0.2]rad/s^2;

1. 當t=[1 2 3 4 5]秒時,此端桿之對應方位如何?




運用function ground,anchor,dyad,dyad_draw的結合運用(在老師的課程網頁中都有詳細的敘述),這題中我們需要再建立一個function,但是只要多一個變數,再加上其關係式即可。我的新的function設定為dyad_drawtime,多了一個變數t,而我加在function dyad_draw的程式碼如下:

theta2=theta+td*t+tdd*t^2/2
%設theta2來連接t和theta的關係
td2=td+t*tdd
[vec,data] = dyad(rho,180/pi*theta2,td2,tdd);
%theta2要從弧度換角度
x=[0;cumsum(real(data(:,1)))];y=[0;cumsum(imag(data(:,1)))];
%建立一個for迴圈
for i=1:length(x)-1
linkshape([x(i) y(i)],[x(i+1) y(i+1)],1);
axis equal;
end

因為老師網頁中的function 有畫出加速度與時間的關係,所以我們把下列程式碼刪除
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;grid on

在螢幕上輸入
ground(0,0,5,0)
anchor(-5,0,0,0)
for t=1:5
dyad_drawtime([10 15 5],[0 0 0],[0.2,0.3,0.4],[0,0.1,0.2],t)
%座號的末一位是零
end
axis equal
即可得到端桿一到五秒的變化圖

2. 繪出三桿之結點之速度,加速度與時間t之關係。



把上述刪除的加入,即可得到速度加速度與時間的關係,為了使畫面更清晰,可刪除function中畫linkshape的程式,但是本圖中為了表示使各連桿加速度與速度清楚標示,暫且不刪除

3. 能作出此時間區段之動畫嗎?


b49611010 7.1.3


在視窗中輸入for t=1:0.1:5
%從一秒跑到六秒每格0.1秒停一次
axis offaxis ([-20 30 -10 20])
%設定座標範圍
ground(0,0,5,0)
anchor(-5,0,0,0)
dyad_drawtime([10 15 5],[0 0 0],[0.2,0.3,0.4],[0,0.1,0.2],t)
pause(0.1)
if t<5
end
end



2007年4月12日 星期四

作業五

5.1.1



%設上手臂長30cm
L1=30
%用line將每一點連起來
arm1x=[0 (-4)*sind(30) (-4)*sind(45) (-4)*sind(60) -4 -5 -5*cosd(30) -5*cosd(45) -5*cosd(60) 0 5*cosd(60) 5*cosd(45) 5*cosd(30) 5 4 4*cosd(30) 4*cosd(45) 4*cosd(60) 0]
arm1y=-L1+[ -4 -4*cosd(30) -4*cosd(45) -4*cosd(60) 0 L1 5*sind(30)+L1 5*sind(45)+L1 5*sind(60)+L1 L1+5 5*sind(60)+L1 5*sind(45)+L1 5*sind(30)+L1 L1 0 -4*sind(30) -4*sind(45) -4*sind(60) -4]
line(arm1x,arm1y);
axis equal

%設下手臂長25
L2=25
arm2x=[ -4 4*cosd(150) 4*cosd(135) 4*cosd(120) 0 L2 L2+3*cosd(60) L2+3*cosd(45) L2+3*cosd(30) L2+3 L2+3*cosd(30) L2+3*cosd(45) L2+3*cosd(60) L2 0 (-4)*sind(30) (-4)*sind(45) (-4)*sind(60) -4]
arm2y=-L1+[ 0 4*sind(150) 4*sind(135) 4*sind(120) 4 3 3*sind(60) 3*sind(45) 3*sind(30) 0 -3*sind(30) -3*sind(45) -3*sind(60) -3 -4 -4*cosd(30) -4*cosd(45) -4*cosd(60) 0]
line(arm2x,arm2y);
axis equal

%設手掌8cm
L3=8
palmx=L2+[ -3 3*cosd(150) 3*cosd(135) 3*cosd(120) 0 L3 L3+5*cosd(60) L3+5*cosd(45) L3+5*cosd(30) L3+5 L3+5*cosd(30) L3+5*cosd(45) L3+5*cosd(60) L3 0 (-3)*sind(30) (-3)*sind(45) (-3)*sind(60) -3]
palmy=-L1+[ 0 3*sind(150) 3*sind(135) 3*sind(120) 3 5 5*sind(60) 5*sind(45) 5*sind(30) 0 -5*sind(30) -5*sind(45) -5*sind(60) -5 -3 -3*cosd(30) -3*cosd(45) -3*cosd(60) 0]
line(palmx,palmy);
axis equal


5.1.2


%設計一個function輸入L1L2L3 和旋轉角度
function body(L1,L2,L3,theta1,theta2,theta3)
arm1x=[0 (-4)*sind(30) (-4)*sind(45) (-4)*sind(60) -4 -5 -5*cosd(30) -5*cosd(45) -5*cosd(60) 0 5*cosd(60) 5*cosd(45) 5*cosd(30) 5 4 4*cosd(30) 4*cosd(45) 4*cosd(60) 0]
arm1y=-L1+[ -4 -4*cosd(30) -4*cosd(45) -4*cosd(60) 0 L1 5*sind(30)+L1 5*sind(45)+L1 5*sind(60)+L1 L1+5 5*sind(60)+L1 5*sind(45)+L1 5*sind(30)+L1 L1 0 -4*sind(30) -4*sind(45) -4*sind(60) -4]
line(arm1x,arm1y);
axis equal

arm2x=[ -4 4*cosd(150) 4*cosd(135) 4*cosd(120) 0 L2 L2+3*cosd(60) L2+3*cosd(45) L2+3*cosd(30) L2+3 L2+3*cosd(30) L2+3*cosd(45) L2+3*cosd(60) L2 0 (-4)*sind(30) (-4)*sind(45) (-4)*sind(60) -4]
arm2y=[ 0 4*sind(150) 4*sind(135) 4*sind(120) 4 3 3*sind(60) 3*sind(45) 3*sind(30) 0 -3*sind(30) -3*sind(45) -3*sind(60) -3 -4 -4*cosd(30) -4*cosd(45) -4*cosd(60) 0]
line(arm2x,arm2y);
axis equal

palmx=[ -3 3*cosd(150) 3*cosd(135) 3*cosd(120) 0 L3 L3+5*cosd(60) L3+5*cosd(45) L3+5*cosd(30) L3+5 L3+5*cosd(30) L3+5*cosd(45) L3+5*cosd(60) L3 0 (-3)*sind(30) (-3)*sind(45) (-3)*sind(60) -3]
palmy=[ 0 3*sind(150) 3*sind(135) 3*sind(120) 3 5 5*sind(60) 5*sind(45) 5*sind(30) 0 -5*sind(30) -5*sind(45) -5*sind(60) -5 -3 -3*cosd(30) -3*cosd(45) -3*cosd(60) 0]
line(palmx,palmy);
axis equal
clf

axis equal
%將座標調到適當範圍
AXIS([-70 70 -70 40]);
x1=arm1x*cosd(90-theta1)-arm1y*sind(90-theta1);
y1=arm1x*sind(90-theta1)+arm1y*cosd(90-theta1);
line(x1,y1)
theta2=180-(theta2-theta1);
x2=arm2x*cosd(-theta2)-arm2y*sind(-theta2)-L1*sind(theta1-90);
y2=arm2x*sind(-theta2)+arm2y*cosd(-theta2)-L1*cosd(theta1-90);
line(x2,y2)
theta3=theta3-theta2-180
x3=palmx*cosd(theta3)-palmy*sind(theta3) -L1*sind(theta1-90)+L2*cosd(theta2);
y3=palmx*sind(theta3)+palmy*cosd(theta3) -L1*cosd(theta1-90)-L2*sind(theta2);
line(x3,y3)

5.1.3




%在視窗中輸入(30cm,25cm,8cm,120度, 120度, 120度)
body(30,25,8,120,120,120)


5.1.4
http://www.youtube.com/watch?v=8CUKsS9slEQ

L1=30
L2=25
L3=8
arm1x=[0 (-4)*sind(30) (-4)*sind(45) (-4)*sind(60) -4 -5 -5*cosd(30) -5*cosd(45) -5*cosd(60) 0 5*cosd(60) 5*cosd(45) 5*cosd(30) 5 4 4*cosd(30) 4*cosd(45) 4*cosd(60) 0]
arm1y=-L1+[ -4 -4*cosd(30) -4*cosd(45) -4*cosd(60) 0 L1 5*sind(30)+L1 5*sind(45)+L1 5*sind(60)+L1 L1+5 5*sind(60)+L1 5*sind(45)+L1 5*sind(30)+L1 L1 0 -4*sind(30) -4*sind(45) -4*sind(60) -4]
line(arm1x,arm1y);
axis equal

arm2x=[ -4 4*cosd(150) 4*cosd(135) 4*cosd(120) 0 L2 L2+3*cosd(60) L2+3*cosd(45) L2+3*cosd(30) L2+3 L2+3*cosd(30) L2+3*cosd(45) L2+3*cosd(60) L2 0 (-4)*sind(30) (-4)*sind(45) (-4)*sind(60) -4]
arm2y=[ 0 4*sind(150) 4*sind(135) 4*sind(120) 4 3 3*sind(60) 3*sind(45) 3*sind(30) 0 -3*sind(30) -3*sind(45) -3*sind(60) -3 -4 -4*cosd(30) -4*cosd(45) -4*cosd(60) 0]
line(arm2x,arm2y);
axis equal

palmx=[ -3 3*cosd(150) 3*cosd(135) 3*cosd(120) 0 L3 L3+5*cosd(60) L3+5*cosd(45) L3+5*cosd(30) L3+5 L3+5*cosd(30) L3+5*cosd(45) L3+5*cosd(60) L3 0 (-3)*sind(30) (-3)*sind(45) (-3)*sind(60) -3]
palmy=[ 0 3*sind(150) 3*sind(135) 3*sind(120) 3 5 5*sind(60) 5*sind(45) 5*sind(30) 0 -5*sind(30) -5*sind(45) -5*sind(60) -5 -3 -3*cosd(30) -3*cosd(45) -3*cosd(60) 0]
line(palmx,palmy);
axis equal
clf

%角度從下列度數範圍每10度增加
theta1=linspace(-90,-75,10)
theta2=linspace(-45,-35,10)
theta3=linspace(-30,-10,10)
axis equal

% n跑十次
for n=1:10;
AXIS([-10 40 -20 40]);
axis equal
x1=arm1x*cosd(90-theta1(n))-arm1y*sind(90-theta1(n));
y1=arm1x*sind(90-theta1(n))+arm1y*cosd(90-theta1(n));
line(x1,y1)
theta2(n)=180-(theta2(n)-theta1(n));
x2=arm2x*cosd(-theta2(n))-arm2y*sind(-theta2(n))-L1*sind(theta1(n)-90);
y2=arm2x*sind(-theta2(n))+arm2y*cosd(-theta2(n))-L1*cosd(theta1(n)-90);
line(x2,y2)
theta3(n)=theta3(n)-theta2(n)-180
x3=palmx*cosd(theta3(n))-palmy*sind(theta3(n)) -L1*sind(theta1(n)-90)+L2*cosd(theta2(n));
y3=palmx*sind(theta3(n))+palmy*cosd(theta3(n)) -L1*cosd(theta1(n)-90)-L2*sind(theta2(n));
line(x3,y3)
axis equal
pause(0.5)
clf
end


5.2.1





%以連桿畫出手指的形狀
L1=10
L2=8
L3=7


linkshape([0,0],[-L1,0])
linkshape([-L1,0],[-L1-L2,0])
linkshape([-L1-L2,0],[-L1-L2-L3,0])


5.2.2

http://www.youtube.com/watch?v=A6O1RhBqZCA
%做一個funtion輸入手掌的尺寸
%假設四隻手指在同一個水平上
%輸入每隻手指的尺寸
function finger(palm)
%食指
%輸入每節和手掌的關係式
L1=palm/3.5
L2=palm/3-1
L3=palm/3-2
linkshape([0,0],[-L1,0])
linkshape([-L1,0],[-L1-L2,0])
linkshape([-L1-L2,0],[-L1-L2-L3,0])
%設每個關節從零度跑到90度每次跑8度
theta1=linspace(0,90,8)
theta2=linspace(0,90,8)
theta3=linspace(0,90,8)
for n=1:8
axis equal
AXIS([-5 30 -10 20]);

x1=-L1*cosd(theta1(n))
y1=L1*sind(theta1(n))
linkshape([0,0],[x1,y1])
theta2(n)=theta1(n)+theta2(n)
x2=x1-L2*cosd(theta2(n))
y2=y1+L2*sind(theta2(n))
linkshape([x1,y1],[x2,y2])
theta3(n)=theta2(n)+theta3(n)
x3=x2-L3*cosd(theta3(n))
y3=y2+L3*sind(theta3(n))
linkshape([x2,y2],[x3,y3])
axis equal
pause(0.3)
clf
end


%中指
L1=palm/3
L2=palm/3-1
L3=palm/3-2
linkshape([0,0],[-L1,0])
linkshape([-L1,0],[-L1-L2,0])
linkshape([-L1-L2,0],[-L1-L2-L3,0])

theta1=linspace(0,90,8)
theta2=linspace(0,90,8)
theta3=linspace(0,90,8)
for n=1:8
axis equal
AXIS([-5 30 -10 20]);

x1=-L1*cosd(theta1(n))
y1=L1*sind(theta1(n))
linkshape([0,0],[x1,y1])
theta2(n)=theta1(n)+theta2(n)
x2=x1-L2*cosd(theta2(n))
y2=y1+L2*sind(theta2(n))

linkshape([x1,y1],[x2,y2])

theta3(n)=theta2(n)+theta3(n)
x3=x2-L3*cosd(theta3(n))
y3=y2+L3*sind(theta3(n))
linkshape([x2,y2],[x3,y3])
axis equal
pause(0.3)
clf
end
%無名指
L1=palm/3.5
L2=palm/3.5
L3=palm/3.5
linkshape([0,0],[-L1,0])
linkshape([-L1,0],[-L1-L2,0])
linkshape([-L1-L2,0],[-L1-L2-L3,0])

theta1=linspace(0,90,8)
theta2=linspace(0,90,8)
theta3=linspace(0,90,8)
for n=1:8
axis equal
AXIS([-5 30 -10 20]);

x1=-L1*cosd(theta1(n))
y1=L1*sind(theta1(n))
linkshape([0,0],[x1,y1])
theta2(n)=theta1(n)+theta2(n)
x2=x1-L2*cosd(theta2(n))
y2=y1+L2*sind(theta2(n))

linkshape([x1,y1],[x2,y2])

theta3(n)=theta2(n)+theta3(n)
x3=x2-L3*cosd(theta3(n))
y3=y2+L3*sind(theta3(n))
linkshape([x2,y2],[x3,y3])
axis equal
pause(0.3)
clf
end
%小指

L1=palm/4
L2=palm/4
L3=palm/4
linkshape([0,0],[-L1,0])
linkshape([-L1,0],[-L1-L2,0])
linkshape([-L1-L2,0],[-L1-L2-L3,0])

theta1=linspace(0,90,8)
theta2=linspace(0,90,8)
theta3=linspace(0,90,8)
for n=1:8
axis equal
AXIS([-5 30 -10 20]);

x1=-L1*cosd(theta1(n))
y1=L1*sind(theta1(n))
linkshape([0,0],[x1,y1])
theta2(n)=theta1(n)+theta2(n)
x2=x1-L2*cosd(theta2(n))
y2=y1+L2*sind(theta2(n))

linkshape([x1,y1],[x2,y2])

theta3(n)=theta2(n)+theta3(n)
x3=x2-L3*cosd(theta3(n))
y3=y2+L3*sind(theta3(n))
linkshape([x2,y2],[x3,y3])
axis equal
pause(0.3)
clf
end

5.2.3
假設我們知道每隊的手指長L1,L2,L3
知道角加速度a1,a2,a3
那麼切線加速度即為a*L
法線加速度為w*w*L
藉由此關係式可以求出來切線法線加速度

2007年3月28日 星期三

作業二

題目一
骨骼是人體的基礎架構。人體之所以能夠活動自如,是因為骨頭之間有關節相連,相連的骨頭末端各包著柔軟的軟骨,中間只有狹窄的縫隙,縫隙中有一層薄薄的潤滑液來保護骨頭不致因摩擦而受損。肌腱、韌帶附著於關節另一端之骨端上,由膠原組織所構成,通常存在於活動大之關節附近,外覆鞘膜內有潤滑液幫助滑動。
http://www.drug-king.com.tw/calcium-su.htm 從圖中我們可以發現,這骨頭和關節的組成,彷彿就是一個機械的機構,由連桿(Links)和接頭(joints)構成的機構,人體藉由關節而能自由活動,就是在機械機構上藉由接點的連接傳遞動力和機械能。
http://www.zjtcm.net/wljx/Basic/jp/image/t1.jpg
全身
上圖是人體的骨骼。以下,是我將人體的骨骼歸納成三種功能,並與機構組合的運用上做比較:
(1)支撐功能:骨骼使我們的身軀能站得隱,保持人的基本形狀。象脊椎骨之稱身體,頸椎骨支撐頭部。這一類的骨頭因為要相當穩固,故較缺乏可動性。
(2)保護功能:全身的重要器官都要骨作出保護,例如:骨盆可以保護膀胱,胸骨可以保護心肺等。因此為了要達保護作用,這類的骨骼大體為一大片的,不可動。在機械上,就像固定型(靜止型)的機械組件,結構要相當堅固,才能承受外力。
(3)運動功能:站、立、坐、臥等動作,都要運動。骨與關節、肌肉同時協調,就可做出各種動作。動關節外常有韌帶,用以固定骨的位置,並且可以伸張活動。這類方便活動的骨骼彷彿活動機構組件,可以依其組成的方式不同而達不同功能。
http://diy.21tx.com/2004/09/09/11537.html 前臂骨
手肘是一個相當特殊的「絞鏈」關節, 由三塊骨頭組成, 分別是遠端肱骨, 近端尺骨以及橈骨; 軟組織包括內, 外側副韌帶以及肌腱。

http://www.ivsky.com/Photo/MicroImages/716/61295.jpg\http://catalog.nucleusinc.com/imagescooked/4199W.jpg

腳踝
其中Fibula=腓骨;Tibia=脛骨;Talus=距骨。當腳底板要往外翻時,因為受到腓骨的阻擋,因此角度有限;而往內時,由於並沒有像外側空間受限制。這也是由三個骨頭組合成,其性質很像3D空間中的球對,自由度為三,(減去平移的三個自由度)
http://www2s.biglobe.ne.jp/~wellness/wel_home_kneejoint.htm 膝蓋
這跟手肘的骨骼類似,像機構中的平面旋轉對,自由度僅為一,故很容易受到外力而受傷。造成韌帶破裂等等,使關節無法完整連接。
http://www.a-hospital.com/ahpic02/2006-6/2006623173352547.jpg

骨骼打釘
上圖就是因為骨骼受到傷害導致關節的鬆脫,誠如接頭掉了般,所以需要釘子,當作接頭來固定。

從上述的分析探討,我們發現關節和接點誠如機械中的LINK 和JOINT,是運作的一體,而且必須要兩個以上的連趕且每端至少要有一個接點才能組成。

題目二
創造和發明是相輔相成的。而在我們工程領域,所需考慮的大致上有資訊、成本、材料、能源、時間、創意、設備這幾項。以下,我藉由汽車的發展史來說明發明創造與設計的合理步驟。
汽車並不是一個人發明的,而是由許多人經過長久年代不段的研究改進,及世界各地的科學家.工程師精心的傑作才有今日的汽車,重要的發展簡介如下:
(1)西元1769年,法國人庫格納特(Nicoias Joseph Cugnot)利用蒸汽機創造出第一輛以蒸氣機推動的車子,約2馬力,時速每小時4公里.
(2)西元1885年,德國人賓士(Karl Friedrich Benz)將自己創製之1/2馬力的內燃機,裝於三輪車(tricycle)上.
(3)西元1886年,德國人賓士及戴姆勒(Gottlied Daimler)二是分別將內燃機安裝於車輛上,此為內燃機汽車之開始,賓士並把自己發明的點火裝置於車上,時速可達每小時18公里.
(4)西元1893年,美國人杜瑞兒兩位兄弟(Charles E Duryes & Frank E Duryea)於麻州成功的製造了第一部美國汽車.
(5)西元1896年,美國第一家汽車製造公司奧次摩比爾(Oldsmobile Motor Works)成立於密西根州,令賓士汽車率先採用全封閉式車身(fully enclosed body).
(6)西元1900年,近代汽車使用之基本構造及裝置皆大部發展完成,木製的車架開始由鋼製的鐵架所取代.
(7)西元1900年,法國多家汽車公司採用鋁合金齒輪箱引擎零件後軸殼等.
(8)西元1904年,避震器已大量使用於車上.
(9)西元1906年,雷梅(Remy)兄弟將發電機裝於車上.
(10)西元1907年,法爾斯東(Firestone)正式創用橡膠輪胎.
(11)西元1908年,福特(Henry Ford),提出他的T型(Model T)汽車,使用無聲時規齒輪,採取大量生產方式,廉價供應顧客,使美國汽車工業呈現蓬勃發展.
(12)西元1910年,義大利人依索塔(Isotta)首次應用四輪同時煞車系統,美國及歐洲盛行用鋁板製造車身.
(13)西元1911年,凱迪拉克(Cadillac)車首次使用電動馬達.
(14)西元1913年,雅樂(Pierce Arrow)將車頭燈裝於前擋泥板上.
(15)西元1920年,已使用滑動齒輪變速箱,引擎並用水冷卻及I型汽門裝置等,當年汽車年產量已突破兩百輛大關.
(16)西元1923年,汽車外型已採用噴漆了,且車上首次裝用空氣輪胎.
(17)西元1924年,用柴油引擎推動之汽車問世,皮洛雷特(Purolator)首創用潤滑油濾清器.
(18)西元1926年,派克(Packard)車開始使用內擺線市齒輪作為最後傳動,次年美國車開始出現X型車架.
(19)西元1928年,法國工校校長迪格爾(Onesime Degueur)發明差速器,同年各式齒輪變速箱亦首次使用凱迪拉克車上.
(20)西元1929年,羅柯斯頓(Card Ruxton)氏,首創前輪傳動.
(21)西元1931年,史特倫堡(Stromberg)採用自動阻風門裝置.
(22)西元1933年,利歐(Reo)車首次裝用半自動變速箱.
(23)西元1934年,前輪開始使用獨立式懸吊系統.
(24)西元1937年,奧次摩比爾車首先採用自動變速節.
(25)西元1938年,克雷斯勒(Chrysler)車裝用液壓傳動飛輪.
(26)西元1940年,採用封閉式頭燈.
(27)西元1946年,自動調整煞車機構開始使用.
(28)西元1948年,別克(Buick)車採用液體扭矩轉換器.
(29)西元1950年,汽油引擎開始採用噴射式燃料系,同年英國路華(Rover)廠使用汽渦輪引擎推動之實驗性汽車製作成功,汽車開始裝配真空管式收音機.
(30)西元1951年,動力轉向機構開始使用,1955年電晶體收音機急速成長.
(31)西元1959年,德國太子(NSU)汽車工廠開始使用迴轉活塞式引擎於車上.
(32)西元1966年,美國立法規定汽車安全標準,加州空氣污染法規定引擎製造嚴格限制有害廢氣之排出量,不得超過一定標準.
(33)西元1967年,德國波細(Bosch)開發完成電晶體控制之汽油噴射裝置(D-Jetronic),IC調整器逐漸取代電譯調整器.
(34)西元1973年,發生能源危機,石油高漲,促使以後之汽車趨向省油輕量化之發展,因此輕合金及塑膠材料廣泛使用於車上.
(35)西元1974年,美國通用(GM)汽車公司發表數位電腦控制車,隨後美國福特.克雷斯勒.日本日產(Nissan).豐田(Toyota.)三菱(Mitsubishi).德國賓士.寶馬(BMW)..等公司亦推出電腦控制進入電腦時代.
(36)西元1978年,福特與通用汽車公司發表回饋(feed back)電子控制化化油器.
我想,發明與創造的目的,無非是改善現況,使生活更便利。然而發明或創造若沒有達到此功效,會因為成本的考量而失敗。其實,從汽車的發展史上,我們可以看到,發明和創造是永無止盡的,需要不斷地改善,而並非一個人可以完成全部。就汽車而言,我歸納出一套發明的過程。
1. 強烈的動機及充足的興趣
2. 收集充足知識及資訊
3. 對發明物做分析
4. 試驗
5. 對市場做分析以符合市場需求
6. 改良


題目三

作業一

Mechanism(機動,機構)在我們這課程中的意思為The arrangement or relation of the parts of a machine; the parts of a machine或者是Mechanical operation or action。而凡能使我們省力或得到方便的工具,都可稱為「機械」。因此我們不難發現機械的運用無處不有。目前流行的機器人即為最佳的例子,雖然之前在玩具反斗城看到的那隻”機器狗”好像不怎麼樣,但是從網路上的影片等等我們不難發現如今機器人的發展已經超乎以往想像。機器人是高級整合控制論機械電子電腦材料仿生學的產物。目前在工業醫學甚至軍事等領域中均有重要用途。
http://www.erobot.com.tw/index.htm
機器人學苑
在這網站裡,除了可以得知有關機器人大賽的新知,還可以欣賞其他人的作品,更可以從線上教學網頁中學習有關機動學的原理。經過圖示的配合,使更深入明瞭機器人的製作方法以及遠裡運用。其中最讓我感興趣的是樂高列車,假如能自己做一台應該很不錯。其他的網站如:
http://www.robotdiy.com/
中國最大的機器人網站,也提供了些機器人的訊息。
當然,在實際運用之前我們要奠定好機動學的基礎,沒有深刻地明瞭機動學的原理,是無法在此領域有所發揮的。
http://www.me.ccu.edu.tw/mech/hyw/gegoweb/index.htm
中正大學機動學教學網站
有黃以文教授清楚的教學投影片,可供學習時做參考。
http://www.myoops.org/twocw/mit/Mechanical-Engineering/index.htm
麻省理工的開放式網頁
介紹更為完整,有系統的將機械的性質、原理、運用等等陳述給讀者,實為一個再深造的好地方。
http://www.hoyu.edu.hk/~dt/machanism.htm
設計與科學網站
給予的機動學指導,並有動畫作為輔助增加學習效果。
只要在日常生活中,隨時留心,將發現許多機動學應用的例子。如剪刀、開罐器、鉗子、指甲刀、自動鎖、電燈開關,螺絲起子、火車鐵軌交換控制桿,運用的是耳熟能詳的槓桿原理。我們每天騎的腳踏車鏈輪的原理等等。
http://content.edu.tw/junior/phy_chem/ty_lk/std/content/enage/cph17/cphh4.htm 有著簡單機械的原理以及發展的簡史,雖然是很簡易的概念,但是那些發展的歷史值得我們參考,作為以後發明的靈感。其實機動學的利用俯拾即是,未來的我們,要針對人類的需求對症下藥,才能將所學造服人群。

2007年3月27日 星期二

作業四

第一題


程式碼
triangle=[10 0;0 10*sqrt(3);-10 0;10 0]
a=line(triangle(:,1),triangle(:,2))
axis equal
AXIS([-40 40 -40 40])
for n=1:180
rotate(a,[0 0 1],2,[-10 0 0])
pause(0.0001)
end
for n=1:180
rotate(a,[0 0 1],2,[10 0 0])
pause(0.0001)
end
for n=1:180
rotate(a,[0 0 1],2,[0 10*sqrt(3) 0])
pause(0.0001)
end


第二題


程式碼
linkshape([0,0],[10,0],4)
for t=0:20:360
x=10*cosd(t)
y=10*sind(t)
linkshape([0,0],[x,y],4)
line([15,x],[0,y])
pause(0.1)
end


第三題



程式碼
linkshape([10 0],[0 0],2)

for n = 1:12
t = atand(4/3);
b1 = 5*cosd(t + 30*n)
b2 = 5*sind(t + 30*n)
c1 = 10 + 5*cosd(t+30*n)
c2 = 5*sind(t+30*n)
linkshape([0 0],[b1 b2],3)
linkshape([b1 b2],[c1 c2],1.5)
linkshape([c1 c2],[10 0],2)
pause(0.5)
end


axis equal

2007年3月21日 星期三

作業三

題目一
1.




2. 利用直角三角角型攻勢可求出最大範圍,即拳頭最高可伸至頭頂上方(53.3760-25)公分
max=sqrt(57*57-400)
max =
53.3760
3. 使用餘弦定理算出角度,再變換成座標
th=180-(atand(s./20)+acosd((400+s.^2+27*27-900)./(2*sqrt(s.^2+400)*27)))
x=20+27*cosd(th)
y=27*sind(th)
linkshape ([29.9998,25.0799],[20,0])
linkshape ([29.9998,25.0799],[0,25])
linkshape ([29.6181,25.2287],[20,0])
linkshape ([29.6181,25.2287],[0,30])
linkshape ([28.4983,25.6276],[20,0])
linkshape ([28.4983,25.6276],[0,35])
linkshape ([28.4983,25.6276],[20,0])
linkshape ([28.4983,25.6276],[0,40])
linkshape ([23.7952,26.9319],[20,0])
linkshape ([23.7952,26.9319],[0,45])
linkshape ([19.9721,26.9895],[20,0])
linkshape ([19.9721,26.9895],[0,50])
linkshape ([10.5263,25.2833],[20,0])
linkshape ([10.5263,25.2833],[0,53.3760])
xlabel('(cm)');
ylabel('(cm)');
grid on
title('b94611010HW3.1')

題目二
*旋轉對
旋轉對分為平面旋轉對和三度空間旋轉對,其兩者皆屬於低對,即其接觸面積為旋轉平面,雖有良好穩定性,卻也減低了自由度(Degree of freedom)。
鼓的踏板
上圖為鼓的踏板,環形的圓柱藉由踏板的底座和銅線的中心軸,形成一個旋轉對運動節,因為其只能旋轉,不能平移,故自由度為三度空間中六個自由度減去五個自由度。(DOF=1)。踏板向下的力可以帶動連接於環型圓柱上的鏈子,因而控制此圓柱的旋轉。而圓柱上接固定的鼓槌,藉由旋轉帶動鼓槌的前進。可利用此旋轉機構有限的自由度控制鼓槌於最佳的位置,以增加敲擊鼓面時的穩定度,能使力量平均有力。

*高對與低對
高對與低對兩者分類乃其接觸的情形。若接觸為線或點,則為高對。若接觸為面,則為低對。以下將兩者的區別做探討。
魔術方塊
低對中接觸的皆為面,每一個小方塊皆依者其接觸面作旋轉,因為其應力分配於平面上,固穩定性較高,形成堅固的魔術方塊,其缺點是摩擦力造成的阻力較大。
高對與低對各有長處,若將兩者有效地結合,可得一石二鳥之效。
YOYO

小時候風行的溜溜球即結合了高對與低對的長處,具滾珠軸承的溜溜球,其貫穿軸比其他設計更能降低繩子的摩擦力,使懸停時間達到最長。
滾珠軸承



*外型閉合與外力閉合(使運動結接觸之方法)
外型閉合(Form-closed): 利用運動結來限制運動範圍

題目三

message=('Please input the height:')
clf
h=input(message);
r=h/2;
a=0:0.5:360;
c=72:72:432;
for b=0:12;
x0=b*r*pi/6;
x=r*sind(a)+x0;
y=r*cosd(a);

for c=72:72:360;
x1=r*sind(c+b*30)+x0;
y1=r*cosd(c+b*30);
line([x0 x1'],[0 y1']);
end

line(x,y);
hold on
end
axis equal