2007年6月12日 星期二

作業13

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




  複式齒輪和單式齒輪不同的地方在於,單式齒輪每一軸均只有一齒輪,而複式齒輪中則是至少有一轉軸連結多個齒輪,其優點有:在複式機構下,可得到相當大的減速比,且僅需成對相應,故在同一齒列中,可以變化齒型,以達到不同的需求。此外,也可以減小體積,節省相當的空間




 現在我們要設計一組複式齒輪,轉速比為125




(1) 首先我們必須從最簡單的結構開始考慮,因為每組的轉速比需要盡量維持在
10以內,將125開平方


>> vr=125;



>> sqrt(vr)
ans =
11.1803



其值為11.1803,比10還要大,所以僅用兩個組合還稍微不夠



若是將125開立方


>> vr^(1/3)
ans =
5





其值比10小很多,故使用三個齒輪的組合




(2) 因為5恰巧為整數,所以可以直接任選小齒輪的齒數來做組合



當選用14為最小齒輪齒數(此為壓力角25度時,可以防止內切的最小齒數),

所對應的大齒輪分別為70、70、70(皆為整數)



其齒數序為14:84,14:84,14:70,即為所求。




(3) 若設徑節為8壓力角為25


利用draw_gear.m來繪製齒輪組的外型,結果如下


>> [coords]=draw_gear(8,14,25,0,360,0,0);
>> [coords]=draw_gear(8,70,25,180/70,360,10.5/2,0);
>> [coords]=draw_gear(8,14,25,0,360,10.5/2,0);
>> [coords]=draw_gear(8,70,25,180/70,360,10.5,0);
>> [coords]=draw_gear(8,14,25,0,360,10.5,0);
>> [coords]=draw_gear(8,70,25,180/70,360,10.5*3/2,0);




















註:大齒輪重疊部分是有前後關係,但是我無法把其遮蓋部分以虛線表示,故在此註明





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


  本學期中一共有13個作業,其中我有4個得到了滿分,還頗高興的,因為一開始對matlab真的很不在行,每次都要花很多時間,尤其是第五週作業

,光是那個手就花了我大概大半功夫去畫出形狀來,所以能得到肯定真的很開心



  而其中收穫最大的應該是第九週作業了吧,我還記得當初好像是網路上講義有問題,所以我大概花了一點時間去了解程式的意義,並修正它,然後為了比較各種情況,比如說是分支型還是閉合型以及驅動桿的不同等,對於其運動狀態尤其是極限角的影響,想要更加去了解,所以我特別截了很多的圖,並且製作影像,希望藉由圖及動畫的輔助,讓大家能夠搭配著看,更能了解文字敘述的內容



  雖然花了不少時間去編排整個佈局,但是藉由一次次的作業,除了學會機動學的一些基本知識外,在組織能力方面也能藉此提升,也能研究其中和所學的相關聯性,訓練獨立思考的能力。其中最重要的是要有自己的看法,因為不一定程式跑出來的結果是對的,需要一點時間去修正,提出解決問題的方法,並且藉由相互討論,同學間交換心得,更能發現原本未發現的問題所在,不但對自己或對他人,都能得到很大的收穫

2007年6月11日 星期一

一些進階的應用

B94611028 李儀珊

上了一學期的機動學
學會了大部分基本原理後
我們可以試著去閱讀理解一些目前其在科技上的應用及研究
以增加自己的知識並學以致用

下面這個網址是由虎尾科技大學機械與機電研究所做的研究
凸輪控制系行星齒輪系

http://www.mscsoftware.com.tw/training_support/support/VPD_2005/final-stru3.pdf

這個機構是將凸輪及行星齒輪系兩個機械元件組合起來,
目前最主要的應用在影片的驅動上,
具有產生大範圍的便轉速輸出運動,具長時間的停留,
及較小加速度的間歇運動等特性

在這研究中我們可以看到他們運用最適合的公差合成
本研究中將運用最適當的公差合成和研磨凸輪槽、凸輪槽改良成錐形槽、使用高等級齒輪讓接觸面更平滑,
最後對系統做動平衡以降低因旋轉而造成之動搖力的方法,
使凸輪控制式行星齒輪系有良好的動態特性與傳動精度,降低因加工而產生的振動誤差,
並以 CATIA 繪出實體模型,以 ADAMS 模擬進行動態特性分析,之後做出實體驗證其可行性。


另外下面這篇文章是
SIEMENSS7-200在小型半自動車床上模擬電子凸輪的應用(簡)

http://www.cechinamag.com/Article/html/2007-05/2007531020735.htm
我們可以看到將傳統機械凸輪利用現今最先進的電子技術改進後
可以改善許多舊有機械所有的缺點,如噪音、易磨損等等
如此一來機械儀器的使用壽命能得以延長,使用起來也比之前更方便!


提供給大家做參考,希望對大家有幫助

2007年6月10日 星期日

減少齒隙的方法

B94611028 李儀珊


減少齒隙的方法可分為靜態與動態兩種

靜態方法是指在調整齒輪組的齒隙後,齒輪位置固定的方法

動態方法是指為消除齒隙而對齒輪施加作用力,使齒輪保持在無齒隙狀態下運轉



(1) 靜態方法

根據對齒輪做調整固定和對中心距做調整固定兩種方法的有無可以有四種組合



I對齒輪和中心距離不做調整,在中心距離固定的條件下製造出可以達到最小程度齒隙的齒輪



II在固定中心距離下讓齒輪咬合後,在將齒輪的齒隙條小然後再將齒輪固定

 調整齒輪齒隙的方法有下列三種

1將兩片相同的齒輪重疊後,讓其中的一片沿迴轉方向錯開,將齒隙填滿後固定此兩片齒輪

2將兩片相同代有螺旋角的齒輪,如螺旋齒輪等相互重疊後,將其中的一個沿軸向移動,

將齒隙填滿後固定兩片齒輪



(圖一)












III不調整齒輪,而在中心距離可以調整的構造中,將齒隙調整到需要的程度後,

再將中心距離固定的方法

調整中心距離的方法有下列兩種

1平行移動方式

將齒輪研中心距離減少的方向平行移動,調整到需要的齒隙後,再將中心距離固定

2旋轉移動方式

利用與齒輪不同心之偏心懸臂機構,以偏心的懸臂為中心旋轉齒輪,調整到需要的齒隙後,

再將懸臂位置固定



受偏心量大小的影響,旋轉移動的方式的構造會有不同



(圖二)














IV這是調整齒輪與調整中心距離同時並用的方法,由於單項調整就足以因應,

所以同時並用的方法幾乎不被採用



(2) 動態方法

這種強制去除齒隙的方法,基本上與(1)中所述的調整.固定方式相同。

強制實施(1)方式的調整,即是所謂(2)動態方式,這種方式,分為調整齒輪強制去除齒隙和

調整中心距離去除齒隙的兩種方法



I調整齒輪強制去除齒隙的方法

這種方法是在圖一所示方法II情況下,利用彈簧等的力量,將齒隙強制去除的方法



II調整中心距離強制去除齒隙的方法

這種方法是在圖二所示方法III的情況下,利用彈簧等的力量,強制去除齒隙的方法

這種彈簧等強制力F的大小,需要大於加諸齒的力F1和摩擦力F2的和



F>F1+F2



強制力F太小的話,無法達到除去齒隙的目的,相反地,如果太大的話,齒輪的預壓會過大,

對於齒輪 的磨耗及壽命會有不良的影響,在使用強制方法除去齒隙時,必須連同預壓一併列入

齒輪的設計計算中





(3) 雙導程蝸桿副

使用雙導程蝸桿是減少齒隙的方法之一,例如滾齒機的Master worm等,用在精度要求高的地方



下圖為雙導程蝸輪組的示意圖
















雙導程蝸輪蝸桿的左面節距PL和右齒面節距PR不相等



上圖之例為PR>PL



與之咬合的蝸輪,是用與雙導程蝸桿同樣,左右齒面的節距分別為PL、PR之滾齒刀切削出來的



在上圖的情況下,由於蝸桿的齒厚由左到右逐漸變厚,所以將蝸桿沿軸方向左右移動調整,

即可得到所要求的齒隙

幾個連桿組的應用模擬圖

B94611028 李儀珊

這些是我逛網頁偶然發現的
主要是一些連桿組的運用的動畫模擬
希望對大家會有幫助


卡片,紙張等薄物之供給裝置
















從圖中可以看到藉由左邊綠色圓圈的上下運動來帶動其他的連桿運作
可將左上方的紙張或卡片等一張張的取下


在2處近似停留的連桿機構動畫


















由圖片可以明顯的看到,左側的桿為驅動桿以逆時針方向運轉帶動,
藉由中間支撐的桿傳動,可使右邊之連桿轉動時在其中2處呈現停留狀態


直線運輸


藉由下方驅動軸的帶動運轉牽動平台的運動,注意到平台皆是作平移運動並不會產生旋轉傾斜
如此可以能規律地推動物體前進















機器腳
















上圖的機器腳是由下面的六連桿裝置所運作
http://www.mes.musashi-tech.ac.jp/edu/kikogaku/6setu.html

此圖是以成人男性的腿部的長度做為參考,進行人的腿部的大腿部,小腿部及踝的運動模擬的平面6連桿機構.
圖中的紅桿是驅動桿以順時針迴轉帶動,由白色的原點可清楚的看出膝部與足部的運動軌跡

齒輪的運作模擬及製程影片

B94611028 李儀珊

最近這幾次的上課主要是介紹齒輪
齒輪的種類眾多,且其功用大不相同,應用廣泛
之前在上課的時候,僅看課本上的平面圖,較難去想像齒輪其運轉的詳細情況,
所以這幾天上網搜尋是否有模擬動畫圖可以作為了解的輔助工具

以下是日本一家齒輪製造公司KHK所製作的Flash動畫
以汽車為例,說明內部各種齒輪的運轉情況,希望能對大家有所幫助
http://www.khkgears.co.jp/gear_technology/sample_gears/gear_sample.html




















此外這是同一家公司所製作的標準齒輪的製作過程影片


裡面介紹各類齒輪的生產線製程
從之中可以看到各種精密的加工及檢測儀器以及各種切削技術
我覺得拍的非常棒,提供給大家參考
http://www.khkgears.co.jp/tw/gear_technology/virtual_tours/make_gears.wmv

2007年6月5日 星期二

作業12


5/31日曾全程來上課。


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


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

利用contact_ratio.m計算

>>[c_ratio, c_length,ad,pc,pb,d2,d3,ag]=contact_ratio(8,30,48,[20 14.5 25]')

c_ratio =

1.7005
2.0308
1.5028
c_length =

0.6275
0.7721
0.5349


ad =

0.1250

pc =

0.3927

pb =

0.3690
0.3802
0.3559

d2 =

  3.7500

d3 =

6

ag =

10.4850 9.9211 20.4061
12.6898 11.6797 24.3695
9.1921 8.8419 18.0340
6.5532 6.2007 12.7538
7.9311 7.2998 15.2309
5.7450 5.5262 11.2712


結果如下:
壓力角 / 接觸線長度 / 接觸比
20度 / 0.6275 / 1.7005
14.5度 / 0.7721 / 2.0308
25度 / 0.5349 / 1.5028


其接觸比皆大於1.2,其接觸比愈大,表示各對齒牙所承受的負荷較輕,力量之傳遞也愈為均勻



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

節圓直徑d=n/pd
(Pd為齒輪的徑節,本題為8)
d2=30/8=3.75
d3=48/8=6


基圓直徑Db=d*cosθ
(θ為工作壓力角)
故Db2分別為
d2*cos20°=3.5238
d2*cos14.5°=3.6306
d2*cos25°=3.3987


Db3分別為
d3*cos20°=5.6381
d3*cos14.5°=5.8089
d3*cos25°=5.4378



contact_ratio之程式比較,其結果相同



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

根據公式9.47,測試干涉之條件為:

(N2²+2N2 x N3)sin²θ>= 4 + 4N3

代入其值,並與isinterf .m 做比較


壓力角=20°

30(30+2*48) sin²20°=442.176>4+4*48=196

>> isinterf(30,48,20)

ans =
0


壓力角=14.5°

30(30+2*48) sin²14.5°=236.969>4+4*48=196

>> isinterf(30,48,14.5)

ans =
0


壓力角=25°

30(30+2*48) sin²25°=675.13>4+4*48=196

>> isinterf(30,48,25)

ans =
0


故上述三種壓力工作角情況皆不會產生干涉



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

若要利用draw_gear.m,需注意兩齒輪的嚙合情況,其中一個齒輪需轉一個角度才能正確接合,
本題角度為180/48

因此可以程式碼中稍作修改

coord1=rotate2D(coord,-i+st,x0,y0);

其中st為改變的角度由參數丟入,本題st=180/48

壓力角=20°

>> [coords]=draw_gear(8,30,20,0,360,0,0);
  [coords]=draw_gear(8,48,20,180/48,360,9.75/2,0);






















壓力角=14.5°

>>[coords]=draw_gear(8,30,14.5,0,360,0,0);
[coords]=draw_gear(8,48,14.5,180/48,360,9.75/2,0);






















壓力角=25°

>>[coords]=draw_gear(8,30,25,0,360,0,0);
[coords]=draw_gear(8,48,25,180/48,360,9.75/2,0);























我們可以看到在不同的壓力角輸入下會有不同的齒型產生

接著與move2_gear.m之起始情況做比較,結果相符

並且利用move2_gear.m製作動畫



壓力角=20°

>>move2_gear(8,30,48,20,10)


















壓力角=14.5°

>>move2_gear(8,30,48,14.5,10)



















壓力角=25°

>>move2_gear(8,30,48,14.5,10)















註:仔細觀察本題之動畫中48T之齒輪,會發現似乎缺了一角,但比對起始圖會發現圖是完整的,
所以我想應該是與跑動畫時的所使用的擦拭模式有關,不知道是否正確

2007年5月29日 星期二

作業 11



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


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

3你能讓此凸輪迴轉嗎?


本週(5/24)有來上課。



若偏置量為0

一、利用plot_dwell函式分別計算並繪出各種運動情形的加速度及速度以及位移的關係曲線,
其中位移曲線及相當於工作曲線,由於間隔為10度時圖形曲線並不是那麼連續,
如起始以及結束區與理論不太合,故我又繪置了間隔為1度的圖形曲線做比較

二、利用pincam函式繪出凸輪外型以及梢形從動件在凸輪工作時與凸輪相對之位置

三、利用pincam_rotate函式做出凸輪運動時的動畫

四、重複二、三,以反時針旋轉做比較


A 升程-等加速度運動,返程-等速度運動


位移(工作)曲線及速度、加速度之關係圖



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


























1度
>> plot_dwell (0:1:360,5,[2 1],[100 200 260]);

























凸輪外型與從動件工作圖及動畫



順時針旋轉

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






















>>[x y]=pincam_rotate([0:10:360],15,5,0,10,[100 200 260],[2 1],1);







反時針旋轉

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





















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






B 升程-等加速度運動,返程-等加速度運動

位移(工作)曲線及速度、加速度之關係圖


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





















1度
>> plot_dwell (0:1:360,5,[2 2],[100 200 260]);


















凸輪外型與從動件工作圖及動畫


順時針旋轉

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


















>>[x y]=pincam_rotate([0:10:360],15,5,0,10,[100 200 260],[2 2],1);





反時針旋轉

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

















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





C升程-等加速度運動,返程-簡諧運動


位移(工作)曲線及速度、加速度之關係圖

10度
>> plot_dwell (0:10:360,5,[2 3],[100 200 260]);


















1度
>> plot_dwell (0:1:360,5,[2 3],[100 200 260]);



















凸輪外型與從動件工作圖及動畫



順時針旋轉

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



















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





反時針旋轉

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



















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





D升程-等加速度運動,返程-擺線運動


位移(工作)曲線及速度、加速度之關係圖

10度

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


















1度

>> plot_dwell (0:1:360,5,[2 4],[100 200 260]);





















凸輪外型與從動件工作圖及動畫


順時針旋轉


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






















>>[x y]=pincam_rotate([0:10:360],15,5,0,10,[100 200 260],[2 4],1);




反時針旋轉

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






















>>[x y]=pincam_rotate([0:10:360],15,5,0,10,[100 200 260],[2 4],-1);





E升程-等加速度運動,返程-多項式曲線

位移(工作)曲線及速度、加速度之關係圖

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


















1度
>> plot_dwell (0:1:360,5,[2 5],[100 200 260]);



















凸輪外型與從動件工作圖及動畫


順時針旋轉


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



















>>[x y]=pincam_rotate([0:10:360],15,5,0,10,[100 200 260],[2 5],1);




反時針旋轉

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





















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




跑凸輪動畫之程式如下,其餘dwell及pincam皆為網路講義之程式






function [x,y]=pincam_rotate(cth,r0,s,e,L,range,pattern,cw)
%繪製凸輪轉動動畫
%Inputs:
% cth:凸輪的角度
% r0:基圓半徑
% e:偏置量
% s:衝程
% L:梢長
% cw:順時或逆時
%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 運動範圍

figure(1);
th=cth*pi/180;
th2=10*pi/180;
s0=sqrt(r0*r0-e*e);   

%利用迴圈來跑動畫
for i=1:length(cth)
clf;
t=th(i)*cw;

[ym1,yy,yyy]=dwell(cth,range,pattern);
nn=length(ym1);
d2r=pi/180;
if cw==1,
theta=linspace(0,360,nn)'*d2r;
else
theta=linspace(360,0,nn)'*d2r;
end

xx3=0;yy3=0;
rp=[(s0+ym1'*s).*cos(pi/2+theta-cw*th2*(i-1)) (s0+ym1'*s).*sin(pi/2+theta-cw*th2*(i-1))];
xx3=rp(:,1);yy3=rp(:,2);
axis([-30 30 -30 30]);
axis equal
line(xx3,yy3,'linewidth',2,'color','m');
%繪出凸輪外型

t2=linspace(pi/2,2.5*pi,361);
C1=r0/8*exp(j*t2');
x1=real(C1);
y1=imag(C1);
line(x1,y1,'LineWidth',2); hold on;
C2=r0/4*exp(j*t2');
x2=real(C2);
y2=imag(C2);
line(x2,y2,'LineWidth',2);
line([x2(91) x2(91)],[y2(91) y2(91)-r0/4],'LineWidth',2);
line([x2(271) x2(271)],[y2(271) y2(271)-r0/4],'LineWidth',2);
line([x2(91)-r0/4 x2(271)+r0/4],[y2(271)-r0/4 y2(271)-r0/4],'LineWidth',2,'linestyle',':'); hold on;
%繪出凸輪的基座

theta=linspace(0,360,361)'*pi/180;
rb=[s0*cos(theta) s0*sin(theta)];
line(rb(:,1),rb(:,2),'color','k');
%繪出基圓

[ym2,yy,yyy]=dwell(cth(i),range,pattern);
x02=s0+ym2*s;
Sx=[0 x02 x02+L;e e e];
B=[cosd(90) -sind(90);sind(90) cosd(90)];
X2=B*Sx;
xx1=X2(1,1:2);
yy1=X2(2,1:2);
xx2=X2(1,2:3);
yy2=X2(2,2:3);
line(xx1,yy1);
line(xx2,yy2,'linewidth',3,'color','red');
%繪出梢的位置
pause(0.1);
hold on;
end;


2007年5月22日 星期二

作業10


1本週(5/17)有來上課


2
請思考速度與加速度的問題,當一桿以某特定點M等角速度迴轉時,其端點P之速度方向如何?

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

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

若以此推理四連桿的運動,則點P與Q之速度與加速度方向會與桿一(固定桿)之兩端點之關係如何?

與我們前面的作業分析結果有無共通之處?(參看第六章之四連桿機構之運動分析)




當一桿以M點作等角速度ω迴轉時,其速度大小為ωr(r為桿長),
方向為切線方向,即為與連桿垂直方向,如圖






















  加速度方向分為切線方向及法線方向,因為其角加速度為0,故其切線方向加速度為0,
因此僅剩法線加速度,方向指向軸心M,大小(ω^2)r























  若M為等速水平運動,則必須再加上VM,所以VP=VM+ωxr,方向則為其向量合,
加速度方面則不受影響,AP= ωx(ωxr)



  若M點同時也有加速度,則計算P點加速度時則必須考慮M點之加速度,AP=AM+ωx(ωxr)



  固定桿兩端分別為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點本身速度及加速度



















  之前的作業我們是先計算出P點及Q點之向量之後,再利用對t微分分別求出速度與加速度,進而求出各點的角速度與角加速度,雖然和上述方法略有不同,但是仔細推敲後可以發現,
在計算P點和Q點向量時,例如Rq=Rop+Rpq
就已經將相對速度和相對加速度的概念加進去了,
故這兩種方式其實是相似的




3
設有一運動之曲柄滑塊連桿組合,設滑塊之偏置量為零,且在水平方向移動,
試以此機構之曲桿長度及角度,以及連結桿之長度為輸入項,
利用matlab寫出一程式計算在不同曲柄角度時,六點瞬心之對應位置。
可順便探討六點瞬心與曲柄角間之關係。


以之前繪製滑塊之程式
function [values]=drawsldlinks(r,th1,th2,sigma,driver)修改如下:

function [values]=drawsldlinkscentros(R1,R2,th2,sigma,driver)
%function drawsldlinkscentros(R1,R2,th2,sigma,driver)
%畫出滑塊連桿的位置以及瞬心之位置
%呼叫 sldlink funcion
%R1:曲桿長度
%R2:連結桿長度
%th2:驅動桿與地面之夾角
%sigma:結合形式
%driver: 0 第二桿驅動, 1 連結桿驅動


clf;

r=[10,R1,R2,0]
%接地桿因為經計算後會改變,故先隨便設一個數字
%曲桿長=R1 連結桿=R2
%偏置量為0


th1=0;
%地面水平角設為0

[values b]=sldlink(r,th1,th2,10,0,sigma,driver);
rr=values(:,1);rr(3)=rr(3)+rr(2);
rx=real(rr);rx(4)=0;
ry=imag(rr);ry(4)=0;
%呼叫sldlink並儲存其計算後之值

t=linspace(pi/2,2.5*pi,361);

C1=0.2*exp(j*t');
x1=real(C1);
y1=imag(C1);
line(x1,y1,'LineWidth',2);

C2=0.4*exp(j*t');
x2=real(C2);
y2=imag(C2);
line(x2,y2,'LineWidth',2);
line([x2(91) x2(91)],[y2(91) y2(91)-0.5],'LineWidth',2);
line([x2(271) x2(271)],[y2(271) y2(271)-0.5],'LineWidth',2);
line([x2(91)-1.5 x2(271)+1.5],[y2(271)-0.5 y2(271)-0.5],'LineWidth',2,'linestyle',':');

hold on;
%計算並繪出驅動桿基座之圖型

if rx(1)>0,
the2=th2;
else
the2=180-th2;
end;
the3=-values(3,2)
cen13x=rx(1);
cen13y=rx(1)*tand(the2);
cen24x=0;
cen24y=rx(1)*tand(the3);
%計算瞬心位置,參考課本5-22圖5.18

if b==1
plot([0 rx(1)],[0 0],'k-','LineWidth',4);
%繪出地面
hold on;

plot([0 rx(1)],[0 ry(1)],'g-','LineWidth',1.5);
%繪出第一桿

plot([rx(1) cen13x],[ry(1) cen13y],'k:','LineWidth',3);
%繪出滑塊與地面垂直延伸線,用來表示瞬心13在其上


plot([rx(2) cen13x],[ry(2) cen13y],'k:','LineWidth',3);
%繪出瞬心23與基座延伸線,用來表示瞬心13在其上


plot([rx(1)+1 rx(1)+1],[ry(1)+cen13y/3 cen13y*2/3],'b-','LineWidth',3);

if cen13y>0,
plot(rx(1)+1 ,cen13y*2/3,'b^','LineWidth',3);
else
plot(rx(1)+1 ,cen13y/3,'b^','LineWidth',3);
end;
%此部分主要是為了標示出瞬心14位置是在無窮遠處所畫的箭頭


plot([0 cen24x],[0 cen24y],'k:','LineWidth',3);
%繪出基座與地面垂直延伸線,用來表示瞬心24在其上
plot([rx(2) cen24x],[ry(2) cen24y],'k:','LineWidth',3);
%繪出瞬心23與滑塊延伸線,用來表示瞬心24在其上
plot([-1 -1],[0+cen24y/3 cen24y*2/3],'b-','LineWidth',3);

if cen24y>0,
plot(-1 ,cen24y*2/3,'b^','LineWidth',3);

else

plot(-1 ,cen24y/3,'b^','LineWidth',3);

end;
%此部分主要是為了標示出瞬心14位置是在無窮遠處所畫的箭頭
if driver==0
plot([0 rx(2)],[0 ry(2)],'b-','LineWidth',1.5);
plot([rx(2) rx(3)],[ry(2) ry(3)],'r-','LineWidth',2);

else
plot([0 rx(2)],[0 ry(2)],'r-','LineWidth',2);
plot([rx(2) rx(3)],[ry(2) ry(3)],'b-','LineWidth',1.5);
end
%繪出曲桿和連結桿
  plot([rx(1) rx(3)],[ry(1) ry(3)],'k-');
plot(rx,ry,'bo');
plot(cen13x,cen13y,'mo');
plot(cen24x,cen24y,'mo');
%標示各點

text(0,0,' O 12');text(rx(1),ry(1),' R');
text(rx(2),ry(2),' P 23');
text(rx(3),ry(3),' Q 34');
text(cen13x,cen13y,'13');
text(cen24x,cen24y,'24');
text(rx(1)+1 ,cen13y/3-0.5,'14')
text(-1 ,cen24y/3-0.5,'14')
%標示各點名稱


length=max(abs(values(2:3,1)));

len=.20*length;ww=.15*length;

[coords] = sldbox(len,ww,rx(3),ry(3),th1);
plot(coords(:,1),coords(:,2),'r-','LineWidth',2);

[coords] = sldbox(len*3,0,rx(3),ry(3)-ww/2,th1);
plot(coords(:,1),coords(:,2),'r:','LineWidth',1.5);
%此部份是用來繪製滑塊

else
fprintf('Combination of links fails at degrees %6.1f\n',th2);
%若不能連桿連結時之情形
end

axis equal;
grid on;


瞬心為連桿組中兩連桿所存在共同點之位置,該點具有相同速度,若某一物體為固定,
則兩物體在該瞬心速度應為零


四連桿組的瞬心數目為N=4(4-1)/2=6



根據甘迺迪定理,任何三個平面連桿的運動,其間應存在三個瞬心,且三瞬心因共線
故可利用此定理來繪出瞬心的位置圖


以下分別是th2=60,120,240,300度時的圖


th2=60























th2=120


























th2=240


























th2=300



























其中四個瞬心為基本瞬心,即為各連桿之連結點,其中由於第一桿為接地桿固定不動,
所以瞬心12恆不動。另外,由於第四桿為滑塊,所以瞬心14在無限遠處
所以利用過該點作平行於此線的線,來與其它點配合


 而點P及點Q為移動連桿的相接點,亦為瞬心23及瞬心34,
其位置會隨著連桿運動軌跡改變,但依然是在桿的相接點上


 其他瞬心以甘迺迪定理可定出,瞬心13可由12及23的連線14及34的連線交點獲得;
24則為23及34連線與12及14連線之交點獲得



上述兩點位置會隨驅動桿角度而改變,由上面四圖可看出:


0<th2<90→瞬心24及13皆在接地面上
90<th2<180→瞬心24於接地面上,13在接地面下
180<th2<270→瞬心24於接地面下,13在接地面上
270<th2<360→瞬心24及13皆在接地面下

2007年5月15日 星期二

作業9


本週(5/3)有來上課



此機構之曲桿長Rcm , 連桿Lcm,滑塊之偏置量為10cm等數據作分析。其中,R=10+(學號末二碼),L=R+5



計算曲桿和連桿的長度



學號b94611028
>> R=10+28
R =
38

>> L=R+5
L =
43


首先

利用講義的drawsldlinks來畫出靜態圖(設th1=0度,th2=60度)

第二桿為驅動桿

閉合型

>>drawsldlinks([10,R,L,10],0,60,1,0)




















分支型
>>drawsldlinks([10,R,L,10],0,60,-1,0)



















滑塊為驅動桿


閉合型
>>drawsldlinks([10,R,L,10],0,60,1,2)


















分支型
>>drawsldlinks([10,R,L,10],0,60,-1,2)





















以曲桿為驅動之連桿速度位置分析(閉合)
>>[val,form]=sldlink([10,R,L,10],0,60,10,0,1,0)


求得

第一桿之軸向速度448.7 加速度1213.4

P點

位置 0.0190 + 0.0329i 速度380 (150度) 加速度3800 (120度).

Q點

位置 0.0554 + 0.0100i 速度448.7 (180度) 加速度1213.4(180度)
括號內為與水平之夾角



以滑塊為驅動之連桿速度位置分析(閉合)
>>[val,form]=sldlink([10,R,L,10],0,60,10,0,1,2)

求得

第一桿之軸向速度10 加速度0

P點

位置 -0.3150 + 0.2125i 速度29.8950 (55.9955度) 加速度0 (0度).


Q點

位置 0.1000 + 0.1000i 速度10 (76.3742度) 加速度31.8332 (0度)
括號內為與水平之夾角


接著我利用drawsldlimits來計算出機構運動之極限角

因為網路上的講義程式討論中並未提到r3≧r4≧0,且 r3+r4 ≧ r2情況

所以若直接用網路上程式計算本題極限角會出錯


因為程式將會直接執行下式

else

Qstart=0;Qstop=2*pi;



導致極限角圖出錯

更會連帶動畫圖執行不連續




故我修改了sld_angle_limits(r,theta1,linkdrive)

依照本題情況


case 0(曲桿為驅動桿)中加入

elseif r3+r4>=r2 & r3>=r4 & r4>=0,

Qstart=-asin((r3-r4)/r2);

Qstop=pi+asin((r3-r4)/r2);

如此才能正確計算出極限角度


第二桿為驅動桿

閉合

>>drawsldlimits([10,R,L,10],0,1,0)

Qstart =

-60.2757

Qstop =

240.2757



















分支

>> drawsldlimits([10,R,L,10],0,-1,0)

Qstart =

-60.2757

Qstop =

240.2757



















滑塊為驅動桿

閉合

>>drawsldlimits([10,R,L,10],0,1,2)

Qstart =

-80.3803

Qstop =

80.3803


















分支

>> drawsldlimits([10,R,L,10],0,-1,2)

Qstart =

-80.3803

Qstop =

80.3803



















由上面四張圖可發現此狀況中分支型和閉合型其極限角之位置是相同的


接著試著以迴圈模式呼叫函數繪製每隔20度顯現的軌跡圖

分支

>> for th2=0:20:360;

drawsldlinks([10,R,L,10],0,th2,-1,0);

end;


















閉合

>>for th2=0:20:360;

drawsldlinks([10,R,L,10],0,th2,1,0);

end


















試驗的結果似乎只能適用在曲桿為驅動桿情況上

若以滑塊為驅動桿則並不能產生正確的軌跡,僅出現單一的位置圖(推測是程式輸入項和程式執行之變數不相符,故不能正確運作)



若使用網路講義之drawsldpaths

則不但2種情形之運動狀態皆可顯現,端點的運動軌跡也可以順利產生



第二桿為驅動桿

閉合

>>drawsldpaths(0,0,[10,R,L,10],0,10,0,1,100,0,0)

Qstart =

-60.2757

Qstop =

240.2757


















分支

>>drawsldpaths(0,0,[10,R,L,10],0,10,0,-1,100,0,0)

Qstart =

-60.2757

Qstop =

240.2757


















上兩圖更可直接看出分支和閉合的運動狀況

極限位置角相同,但是兩圖成對稱

滑塊為驅動桿

分支


>>drawsldpaths(0,0,[10,R,L,10],0,10,0,-1,100,2,0)

Qstart =

-80.3803

Qstop =

80.3803



















閉合

>>drawsldpaths(0,0,[10,R,L,10],0,10,0,1,100,2,0)

Qstart =

-80.3803

Qstop =

80.3803




















從上兩圖可以看到連桿的位置是由滑塊決定,當滑塊、曲桿、連桿為一條線時為其極限位置,此外分支與閉合兩種之運動主要在第三桿的位置,且明顯看出兩者綠色之軌跡並不相同




動態圖

使用網路講義之程式,因為以滑塊為驅動桿運動之程式不能執行

所以僅以曲桿為驅動桿製作動畫


閉合

>>move_sldpaths([10,R,L,10],0,0,3,0,10,0,1,0,4,100)








分支

>>move_sldpaths([10,R,L,10],0,0,3,0,10,0,-1,0,4,100)









接著設th1=10,以閉合型為例,觀察當r1與水平面傾斜,也就是若滑塊是在一個斜面上運動時的狀態



靜態圖(th2=60)



第二桿為驅動桿

>>drawsldlinks([10,R,L,10],10,60,1,0)





















滑塊為驅動桿

>>drawsldlinks([10,R,L,10],10,60,1,2)



















極限角

第二桿為驅動桿


>>drawsldlimits([10,R,L,10],10,1,0)

Qstart =

-50.2757

Qstop =

250.2757




















滑塊為驅動桿

>>drawsldlimits([10,R,L,10],10,1,2)

Qstart =

-80.3803

Qstop =

80.3803




















軌跡圖

第二桿為驅動桿


>>drawsldpaths(0,0,[10,R,L,10],10,10,0,1,100,0,0)



















滑塊為驅動桿

>>drawsldpaths(0,0,[10,R,L,10],10,10,0,1,100,0,0)



















動態圖

第二桿為驅動桿


>>move_sldpaths([10,R,L,10],0,0,3,10,10,0,1,0,4,100)