畢業(yè)設(shè)計:在MATLAB環(huán)境下開發(fā)平面連桿機(jī)構(gòu)運(yùn)動分析系統(tǒng)_第1頁
畢業(yè)設(shè)計:在MATLAB環(huán)境下開發(fā)平面連桿機(jī)構(gòu)運(yùn)動分析系統(tǒng)_第2頁
畢業(yè)設(shè)計:在MATLAB環(huán)境下開發(fā)平面連桿機(jī)構(gòu)運(yùn)動分析系統(tǒng)_第3頁
畢業(yè)設(shè)計:在MATLAB環(huán)境下開發(fā)平面連桿機(jī)構(gòu)運(yùn)動分析系統(tǒng)_第4頁
畢業(yè)設(shè)計:在MATLAB環(huán)境下開發(fā)平面連桿機(jī)構(gòu)運(yùn)動分析系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、河南科技學(xué)院2009屆本科畢業(yè)論文(設(shè)計)論文題目:在MATLAB環(huán)境下開發(fā)平面連桿機(jī)構(gòu)運(yùn)動分析系統(tǒng)THE DEVELOPMENT OF SYSTEM FOR ANALYSIS OF MOTION IN PLANE FOUR BAR MECHANISM BASED ON MATLAB SOFTWARE學(xué)生姓名: 樊新乾所在院系: 機(jī)電學(xué)院所學(xué)專業(yè): 機(jī)械設(shè)計制造及其自動化導(dǎo)師姓名: 杜家熙 卞平艷完成時間:2009年05月20日摘 要 建立了鉸鏈四桿機(jī)構(gòu)運(yùn)動分析的數(shù)學(xué)模型 ,以MATLAB程序設(shè)計語言為平臺 ,將參數(shù)化設(shè)計與交互式相結(jié)合 ,設(shè)計了鉸鏈四桿機(jī)構(gòu)分析軟件 ,該軟件具有方便用戶的良好

2、界面 ,并給出界面設(shè)計程序 ,從而使機(jī)構(gòu)分析更加方便、快捷、直觀和形象.設(shè)計者只需輸入?yún)?shù)就可得到分析結(jié)果 ,再將運(yùn)行結(jié)果與設(shè)計要求相比較 ,對怎樣修改設(shè)計做出決策.它為四桿機(jī)構(gòu)設(shè)計提供了一種實(shí)用的軟件與方法.關(guān)鍵詞:平面四桿機(jī)構(gòu),MATLAB軟件,運(yùn)動分析,分析THE DEVELOPMENT OF SYSTEM FOR ANALYSIS OF MOTION IN PLANE FOUR BAR MECHANISM BASED ON MATLAB SOFTWAREAbstractA mathematical model of motion analysis was established in

3、plane four - linkage , and analytical software was developed. The software adopted Matlab as a design language. It combined parametric design with interactive design and had good interface for user. Thus, it was faster and more convenient to analyse linkage. The analytical result was obtained as soo

4、n as input parameters was imported and the devisers can make decision - making of modification by the comparing analytical result with design demand. It provides an applied software and method for linkage.Key words: Plane Four Bar Mechanism, MATLAB, Analysis of Motion, Analyze目 錄 TOC o 1-3 h z u HYP

5、ERLINK l _Toc230850366 1 緒論 PAGEREF _Toc230850366 h 1 HYPERLINK l _Toc230850367 2 平面連桿機(jī)構(gòu)的設(shè)計分析 PAGEREF _Toc230850367 h 3 HYPERLINK l _Toc230850368 2.1 平面四連桿機(jī)構(gòu)的運(yùn)動分析 PAGEREF _Toc230850368 h 3 HYPERLINK l _Toc230850369 機(jī)構(gòu)的數(shù)學(xué)模型的建立 PAGEREF _Toc230850369 h 3 HYPERLINK l _Toc230850370 建立機(jī)構(gòu)的閉環(huán)矢量位置方程 PAGEREF

6、_Toc230850370 h 3 HYPERLINK l _Toc230850371 求解方法 PAGEREF _Toc230850371 h 5 HYPERLINK l _Toc230850372 3 基于MATLAB程序設(shè)計 PAGEREF _Toc230850372 h 6 HYPERLINK l _Toc230850373 程序流程 PAGEREF _Toc230850373 h 6 HYPERLINK l _Toc230850374 M文件編寫 PAGEREF _Toc230850374 h 8 HYPERLINK l _Toc230850375 程序運(yùn)行結(jié)果輸出 PAGEREF

7、_Toc230850375 h 10 HYPERLINK l _Toc230850376 4 基于MATLAB圖形界面設(shè)計 PAGEREF _Toc230850376 h 14 HYPERLINK l _Toc230850377 界面設(shè)計 PAGEREF _Toc230850377 h 14 HYPERLINK l _Toc230850378 代碼設(shè)計 PAGEREF _Toc230850378 h 15 HYPERLINK l _Toc230850379 5 結(jié)論 PAGEREF _Toc230850379 h 21 HYPERLINK l _Toc230850380 致謝 PAGEREF

8、_Toc230850380 h 21 HYPERLINK l _Toc230850381 參考文獻(xiàn) PAGEREF _Toc230850381 h 221 緒論連桿機(jī)構(gòu)的應(yīng)用十分廣泛,它不僅在眾多工農(nóng)業(yè)機(jī)械和工程機(jī)械中得到廣泛應(yīng)用1。鉸鏈四桿機(jī)構(gòu)是由轉(zhuǎn)動副將各構(gòu)件的頭尾聯(lián)接起的封閉四桿系統(tǒng),并使其中一個構(gòu)件固定而組成。被固定件稱為機(jī)架,與機(jī)架直接鉸接的兩個構(gòu)件和稱為連架桿,不直接與機(jī)架鉸接的構(gòu)件稱為連桿。連架桿如果能作整圈運(yùn)動就稱為曲柄,否則就稱為搖桿,連桿機(jī)構(gòu)的最基本形式是平面四桿機(jī)構(gòu),它是其它連桿機(jī)構(gòu)的基礎(chǔ)。所以,對平面四桿機(jī)構(gòu)進(jìn)行研究可以概括連桿機(jī)構(gòu)內(nèi)在的基本原理,從而用以連桿機(jī)構(gòu)的設(shè)計

9、。 機(jī)構(gòu)運(yùn)動學(xué)綜合是按照給定的運(yùn)動特性對機(jī)構(gòu)進(jìn)行系統(tǒng)的設(shè)計的過程,包括型綜合和尺度綜合兩大主要內(nèi)容,主要綜合方法有解析法、作圖法和實(shí)驗法。作圖法和實(shí)驗法 工作量大,設(shè)計精度低,僅適用于對機(jī)構(gòu)精度要求不高的場合。近幾十年來,隨著工業(yè)技術(shù)的高速發(fā)展,人們對機(jī)構(gòu)的復(fù)雜程度和精度要求越來越高,作圖法和實(shí)驗法已不能滿足要求,而基于計算機(jī)輔助設(shè)計(例如MATLAB軟件)的解析法得到了廣泛的應(yīng)用。 此課題的主要內(nèi)容是系統(tǒng)地對平面四桿機(jī)構(gòu)連桿曲線進(jìn)行研究,從而來獲得連桿機(jī)構(gòu)基本的原理和綜合方法,以便在實(shí)際中得到應(yīng)用;主要特色是在各個設(shè)計進(jìn)度中將會大量應(yīng)用計算機(jī)高級語言MATLAB2編程來輔助設(shè)計和仿真平面四桿

10、機(jī)構(gòu)。鉸鏈四桿機(jī)構(gòu)的運(yùn)動學(xué)分析是機(jī)構(gòu)學(xué)中典型的機(jī)構(gòu)運(yùn)動分析之一 ,如果設(shè)計鉸鏈四桿機(jī)構(gòu)時能及時圖示其運(yùn)動軌跡和速度分析 ,從而將圖示結(jié)果與設(shè)計要求相比較 ,可以及時修改設(shè)計中的偏差.目前 ,MALTAB已經(jīng)不再是“矩陣實(shí)驗室” ,而成為國際上最流行的科學(xué)與工程計算的軟件工具 ,以及一種具有廣泛應(yīng)用前景的全新的計算機(jī)高級編程語言 ,它在國內(nèi)外高校和科研部門正扮演著越來越重要的角色 ,功能也越來越大 ,不斷適應(yīng)新的要求提出新的解決辦法.可以預(yù)見 ,在科學(xué)運(yùn)算與科學(xué)繪圖領(lǐng)域 ,MATLAB語言將長期保持其獨(dú)一無二的地位.然而 ,國內(nèi)至今尚未見到采用 MATLAB 開發(fā)的有關(guān)機(jī)構(gòu)學(xué)的軟件 ,以 MAT

11、LAB 的科學(xué)運(yùn)算與繪圖的強(qiáng)大功能開發(fā)了鉸鏈機(jī)構(gòu)運(yùn)動仿真軟件.機(jī)構(gòu)的運(yùn)動分析是機(jī)構(gòu)設(shè)計中必不可少的工作 ,通??墒褂脠D解法和解析法來進(jìn)行 ,圖解法因其作圖、計算工作量大、精度差的缺點(diǎn) ,在實(shí)際工程設(shè)計應(yīng)用中有很大的局限性。解析法的計算工作量很大 ,但隨著計算機(jī)在工程設(shè)計領(lǐng)域的廣泛應(yīng)用 , 優(yōu)化方法和計算機(jī)輔助設(shè)計的應(yīng)用已成為研究連桿機(jī)構(gòu)的重要方法,一些軟件平臺為解決復(fù)雜的工程計算提供了強(qiáng)有力的武器。,并已相應(yīng)地編制出大量的、適用范圍廣、計算機(jī)時少、使用方便的通用軟件。MATLAB 是 Mathworks 公司于 1982 年推出的一套功能強(qiáng)大的工程計算軟件, 廣泛應(yīng)用于自動控制、 機(jī)械設(shè)計、

12、流體力學(xué)和數(shù)理統(tǒng)計等工程領(lǐng)域, 被譽(yù)為巨人肩上的工具。它集數(shù)值分析、 矩陣運(yùn)算、 信號處理和圖形顯示于一體, 構(gòu)成了一個方便的、 界面友好的用戶環(huán)境。所謂圖形用戶界面3, 簡稱為GUI(Graphic User Interface) , 是指包含了各種圖形控制對象, 如圖形窗口、菜單、對話框以及文本等內(nèi)容的用戶界面。利用這些用戶界面, 用戶可以和計算機(jī)之間進(jìn)行信息交流。用戶可以通過某種方式來選擇或者激活這些圖形對象, 來運(yùn)行一些特性的M 文件。最常見的激活方式是利用鼠標(biāo)或者其它設(shè)備來點(diǎn)擊這些對象。對于一個用戶來說, 圖形用戶界面就是他所面對的應(yīng)用程序, 對圖形界面的操作直接影響應(yīng)用程序的應(yīng)用前

13、途。對于以往專門用于科學(xué)計算的語言, 如FORTRAN 語言等, 編寫圖形界面的功能較弱, 因而用其開發(fā)的程序, 其界面往往不夠友好, 用戶使用起來很不方便。而目前流行的可視化語言, 對科學(xué)計算的功能又相對弱一些。MATLAB提供了非常強(qiáng)大的編寫圖形用戶界面的功能。用戶只和前臺界面下的控件發(fā)生交互,而所有運(yùn)算、繪圖等內(nèi)部操作都封裝在內(nèi)部,終端用戶不需要區(qū)追究這些復(fù)雜過程的代碼。圖形用戶界面大大提高用戶使用MATLAB程序的易用性。因此,學(xué)習(xí)MATLAB圖形用戶界面編程,即GUI程序的創(chuàng)建,是MATLAB編程用戶應(yīng)該掌握的重要一環(huán)。對于一個MATLAB 的圖形用戶界面, 它的設(shè)計過程可以分為兩個

14、部分:(1)用戶界面的外觀設(shè)計。在這里, 主要是通過不同的對話框、按鈕、文本框等許多工具的使用, 設(shè)計出一個圖形用戶界面。同時也應(yīng)搞清楚這個圖形界面的功能是什么, 也即在圖形界面上的操作會引發(fā)什么樣的結(jié)果。(2)圖形界面的完成。在這里, 用戶將根據(jù)在外觀設(shè)計階段所確定的圖形界面的功能, 針對各個不同的圖形對象來編寫出能夠?qū)崿F(xiàn)該功能的函數(shù)代碼, 確保這個圖形界面能夠完成所預(yù)定的功能。工程人員通過使用 MATLAB提供的工具箱, 可以高效求解復(fù)雜的工程問題, 并可以對系統(tǒng)進(jìn)行動態(tài)仿真, 用強(qiáng)大的圖形功能對數(shù)值計算結(jié)果進(jìn)行顯示。筆者在MATLAB環(huán)境下開發(fā)了一個平面四桿機(jī)構(gòu)運(yùn)動分析系統(tǒng) ,只要在系統(tǒng)

15、圖形界面的文本編輯框中交互地輸入四桿機(jī)構(gòu)各構(gòu)件的參數(shù)和原動件的角速度 ,就能迅速地輸出當(dāng)原動件轉(zhuǎn)動1周時從動件的位移、速度、加速度的變化規(guī)律曲線 ,具有融計算與繪圖為一體 ,操作簡便、界面友好 ,計算速度快 ,準(zhǔn)確性高的特點(diǎn)。本文以曲柄搖桿機(jī)構(gòu)為分析對象,借助MATLAB軟件進(jìn)行運(yùn)動分析。曲柄搖桿機(jī)構(gòu)是平面四連桿機(jī)構(gòu)中最基本的結(jié)構(gòu),它可以用來實(shí)現(xiàn)轉(zhuǎn)動和擺動之間運(yùn)動形式的轉(zhuǎn)換或傳遞動力。對曲柄搖桿機(jī)構(gòu)進(jìn)行運(yùn)動分析的主要內(nèi)容是:在機(jī)構(gòu)尺寸參數(shù)已知的情況下,假定曲柄做勻速轉(zhuǎn)動,從運(yùn)動幾何關(guān)系上分析連桿和搖桿的角位移、角速度、角加速度等運(yùn)動參數(shù)的變化情況。并根據(jù)機(jī)構(gòu)閉環(huán)矢量方程計算從動件的位移偏差。本

16、課題的主要內(nèi)容是平面四桿機(jī)構(gòu)的連桿曲線及軌跡綜合分析系統(tǒng)的開發(fā),其意義在于:一、深入研究計算機(jī)在設(shè)計和仿真連桿機(jī)構(gòu)曲線方面的應(yīng)用,從而指導(dǎo)實(shí)踐;二、總結(jié)出四桿機(jī)構(gòu)軌跡綜合的理論基礎(chǔ),從而指導(dǎo)多桿或復(fù)雜的低副平面機(jī)構(gòu)的綜合。 三、綜合運(yùn)用MATLAB軟件強(qiáng)大的計算功能與圖形界面開發(fā)系統(tǒng),設(shè)計出可以方便快捷實(shí)現(xiàn)機(jī)構(gòu)分析的應(yīng)用系統(tǒng)2 平面連桿機(jī)構(gòu)的設(shè)計分析 平面四連桿機(jī)構(gòu)的運(yùn)動分析4 在平面四桿機(jī)構(gòu)中,其具有曲柄的條件為:a.各桿的長度應(yīng)滿足桿長條件,即:最短桿長度+最長桿長度其余兩桿長度之和。 b.組成該周轉(zhuǎn)副的兩桿中必有一桿為最短桿,且其最短桿為連架桿或機(jī)架(當(dāng)最短桿為連架桿時,四桿機(jī)構(gòu)為曲柄搖

17、桿機(jī)構(gòu);當(dāng)最短桿為機(jī)架時,則為雙曲柄機(jī)構(gòu))。在如下圖1所示的曲柄搖桿機(jī)構(gòu)中,構(gòu)件AB為曲柄,則B點(diǎn)應(yīng)能通過曲柄與連桿兩次共線的位置。 機(jī)構(gòu)的數(shù)學(xué)模型的建立6 建立機(jī)構(gòu)的閉環(huán)矢量位置方程圖1 四桿機(jī)構(gòu)簡圖8在用矢量法建立機(jī)構(gòu)的位置方程時,需將構(gòu)件用矢量來表示,并作出機(jī)構(gòu)的封閉矢量多邊形。如圖1所示,先建立一直角坐標(biāo)系。設(shè)各構(gòu)件的長度分別為、,其方位角為、。以各桿矢量組成一個封閉矢 量多邊形,即ABCDA。其個矢量之和必等于零。即: 式1式1 為圖1所示四桿機(jī)構(gòu)的封閉矢量位置方程式。對于一個特定的四桿機(jī)構(gòu),其各構(gòu)件的長度和原動件2的運(yùn)動規(guī)律,即為已知,而=0,故由此矢量方程可求得未知方位角、。角位

18、移方程的分量形式為: 式2閉環(huán)矢量方程分量形式對時間求解一階導(dǎo)數(shù),就能夠得到角速度方程,如下所示: 式3其矩陣形式為: 式4聯(lián)立式3兩公式可求得: 式5 式6閉環(huán)矢量方程分量形式對時間求解二階導(dǎo)數(shù),得到角加速度方程矩陣形式11為: 式7由式7可求得加速度: 式8 式9注:式1-式9中,(i=1,2,3,4)分別表示機(jī)架1、曲柄2、連桿3、搖桿4的長度;(i=1,2,3,4)是各桿與x軸的正向夾角,逆時針為正,順時針為負(fù),單位為; 是各桿的角速度,單位為; 為各桿的角加速度,單位為。.2 求解方法應(yīng)用數(shù)學(xué)方法對以上各式進(jìn)行求解,方法如下:(1)求導(dǎo)中應(yīng)用了下列公式: 式10(2)在角位移方程分量

19、形式(式2)中,由于假定機(jī)架為參考系,矢量1與x軸重合,=0,則有非線性方程組: 式11可以借助MATLAB自帶的fsolve函數(shù)求出連桿3的角位移和搖桿4的角位移。(3)求解具有n個未知量(i=1,2,n)的線性方程組: 式12上式可以表示為系列矩陣,是一個階方陣,可表示如下,并運(yùn)用逆矩陣知識: 式13的逆矩陣為;常數(shù)項b是一個n維矢量: 式14因此,線性方程組解的矢量為: 式15式11是求解連桿3和搖桿4角速度和角加速度的依據(jù)。以上各式既為求解平面連桿機(jī)構(gòu)運(yùn)動規(guī)律的數(shù)學(xué)模型。3 基于MATLAB程序設(shè)計12 程序設(shè)計是編程者實(shí)現(xiàn)算法,用編程語言表達(dá)數(shù)學(xué)模型的過程,或者說是現(xiàn)實(shí)問題求解的思維

20、活動代碼化的過程。也就是解決如何組織MATLAB的結(jié)構(gòu). 根據(jù)以上數(shù)學(xué)模型,選擇優(yōu)化算法,創(chuàng)建程序流程圖,運(yùn)用MATLAB語言,編寫MATLAB程序,并在中調(diào)試運(yùn)行,將這個實(shí)際問題轉(zhuǎn)化為編程語言。3.1 程序流程 按照現(xiàn)代程序設(shè)計的觀點(diǎn),算法(Algorithm)是一系列解決問題的清晰指令. 算法是一個程序的靈魂,一個準(zhǔn)確無誤的算法是程序設(shè)計成功的關(guān)鍵。任何算法功能都能夠通過三種基本結(jié)構(gòu):順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)的組合來實(shí)現(xiàn)。為了更加方便清楚準(zhǔn)確的編寫程序,我們首先把算法用流程圖的方式來表示出來。程序流程圖是人們對解決問題的方法、思路或算法的一種描述。采用簡單規(guī)范的符號,畫法簡單, 結(jié)構(gòu)清

21、晰,邏輯性強(qiáng), 便于描述,容易理解綜合運(yùn)用三種邏輯結(jié)構(gòu),并且仔細(xì)推算,以保證算法精確,節(jié)省空間和時間,以及達(dá)到高效率。程序流程圖如圖2所示。新步長輸入給定已知參數(shù):L1,L2,L3,L4,W2設(shè)置th2的范圍及步長調(diào)用fsolve函數(shù)求解th3,th4求解連桿3兩端點(diǎn)坐標(biāo)值繪制從動件角位移線圖繪制連桿3的幾個位置點(diǎn)利用矩陣公式求W3,W4輸出一個周期內(nèi)角位移,角速度,角加速度數(shù)據(jù)繪制從動件角加速度線圖利用矩陣公式求a3,a4繪制從動件角速度線圖程序開始程序結(jié)束重新設(shè)置步長圖2 程序流程圖3.2 M文件編寫16首先創(chuàng)建函數(shù)aa,函數(shù)fsolve通過他確定。function t=aa(th1,th

22、2,L2,L3,L4,L1)t=L2*cos(th2)+L3*cos(th(1)-L4*cos(th(2)-L1;L2*sin(th2)+L3*sin(th(1)-L4*sin(th(2);主程序如下:disp * * * * * * 平面四桿機(jī)構(gòu)的運(yùn)動分析 * * * * * *L1=input(輸入機(jī)架長度 L1=);L2=input(輸入曲柄長度(主動件) L2=);L3=input(輸入連桿長度 L3=);L4=input(輸入輸入從動桿長度 L4=);rs=L1 L2 L3 L4;minimum=min(rs);maximum=max(rs);if (minimum+maximum)

23、(sum(rs)-minimum-maximum)disp 此機(jī)構(gòu)不滿足桿長條件,程序終止,break; endif L1=L2&L1=L3&L1=L4 disp 此機(jī)構(gòu)為雙曲柄機(jī)構(gòu) elseif L2=L1&L2=L3&L2=L4 disp 此機(jī)構(gòu)為曲柄搖桿機(jī)構(gòu) else disp 此機(jī)構(gòu)為雙搖桿機(jī)構(gòu),本例不予考慮,break;endw2=input(輸入主動件角速度 w2=);th2=0:1/6:2*pi;th34=zeros(length(th2),2);options=optimset(display,off);for m=1:length(th2)th34(m,:)=fsolve(a

24、a,1 1,options,th2(m),L2,L3,L4,L1);endy=L2*sin(th2)+L3*sin(th34(:,1);x=L2*cos(th2)+L3*cos(th34(:,1);xx=L2*cos(th2);yy=L2*sin(th2);figure(1)plot(x;xx,y;yy,k,0 L1,0 0,k-,x,y,ko,xx,yy,ks)title(連桿3的幾個位置點(diǎn))xlabel(水平方向)ylabel(垂直方向)axis equalth2=0:2/72:2*pi;for m=1:length(th2)th34(m,:)=fsolve(aa,1 1,options,

25、th2(m),L2,L3,L4,L1);endfigure(2)plot(th2*180/pi,th34(:,1),th2*180/pi,th34(:,2)plot(th2*180/pi,th34(:,1)*180/pi,th2*180/pi,th34(:,2)*180/pi)gridxlabel(主動件轉(zhuǎn)角theta_2(度)ylabel(從動件角位移(度)title(角位移線圖)w3=(L2*w2*sin(th34(:,2)-th2)./(L3*sin(th34(:,1)-th34(:,2);w4=(L2*w2*sin(th2-th34(:,1)./(L4*sin(th34(:,2)-th

26、34(:,1);figure(3)plot(th2*180/pi,w3,th2*180/pi,w4);gridxlabel(主動件轉(zhuǎn)角theta_2(度)ylabel(從動件角速度(radcdot s-1)title(角速度線圖)s32=th34(:,1)-th2;s43=th34(:,2)-th34(:,1);s24=th2-th34(:,2);a3=(L2*w22*cos(s24)+L3*w3.2.*cos(s43)-L4*w4.2)./(L4*sin(s43);a4=(L2*w22*cos(s32)-L4*w4.2.*cos(s43)+L3*w3.2)./(L4*sin(s43);fig

27、ure(4)plot(th2*180/pi,a3,th2*180/pi,a4);gridxlabel(從動件角加速度)ylabel(從動件角加速度(radcdot s-2)title(角加速度線圖)disp 曲柄轉(zhuǎn)角 連桿轉(zhuǎn)角-從動桿4轉(zhuǎn)角-連桿角速度-從動桿4角速度-連桿加速度-從動桿4加速度ydcs=th2*180/pi,th34(:,1)*180/pi,th34(:,2)*180/pi,w3,w4,a3,a4;disp(ydcs)ex=L2*cos(th2)+L3*cos(th34(:,1)-L4*cos(th34(:,2)-L1;ey=L2*sin(th2)+L3*sin(th34(:

28、,1)-L4*sin(th34(:,2);ee=norm(ex ey);disp 曲柄轉(zhuǎn)角 X向偏差 Y向偏差wc=th2*180/pi,ex,eydisp(wc)fprintf(1, 偏差矢量矩陣的模ee=%n,ee)figure(5)plot(th2*180/pi,ex,th2*180/pi,ey)gridtitle(均方根偏差曲線)xlabel(主動件轉(zhuǎn)角theta_2(度)ylabel(均方根偏差)3.3 程序運(yùn)行結(jié)果輸出* * * * * * 平面四桿機(jī)構(gòu)的運(yùn)動分析 * * * * * *輸入機(jī)架長度 L1=90輸入曲柄長度(主動件) L2=30輸入連桿長度 L3=60輸入輸入從動桿

29、長度 L4=70此機(jī)構(gòu)為曲柄搖桿機(jī)構(gòu)輸入主動件角速度 w2=20曲柄轉(zhuǎn)角 連桿轉(zhuǎn)角-從動桿4轉(zhuǎn)角-連桿角速度-從動桿4角速度-連桿加速度-從動桿4加速度 Columns 1 through 6 10.0000 65.9802 120.9809 -11.3983 -8.6728 -88.7805程序運(yùn)行圖形輸出:圖3 運(yùn)行界面圖4 連桿3的幾個位置點(diǎn) 圖5 角位移線圖圖6 角速度線圖 圖7 角加速度線圖4 基于MATLAB圖形界面設(shè)計4.1 界面設(shè)計圖8 新建GUI文件首先我們新建一個GUI文件,如上圖所示,選擇Blank GUI(Default):進(jìn)入GUI開發(fā)環(huán)境以后添加5個編輯文本框,9個

30、靜態(tài)文本框,和1個下拉菜單。利用菜單編輯器,創(chuàng)建Open、Print、Close三個菜單。創(chuàng)建好GUI界面需要的各交互控件并調(diào)整好位置后,設(shè)置這些控件的屬性。最后的界面如圖示:圖9 界面效果4.2 代碼設(shè)計(1)打開M文件編輯器(M-file Edit),點(diǎn)擊向下的三角圖標(biāo),可以看到各個對象的回調(diào)函數(shù)(Callback),某些對象的創(chuàng)建函數(shù)或打開函數(shù)等。通過選中相應(yīng)項就可以跳動對應(yīng)函數(shù)位置進(jìn)行程序編輯。 選中edit_callback選項,光標(biāo)跳到 function edit1_Callback(hObject, eventdata, handles)下面空白處,添加以下代碼:user_ent

31、ry=str2double(get(hObject,String);if isnan(user_entry) errordlg(請輸入數(shù)值!,Bad Input)end該語句嚴(yán)格限制編輯框內(nèi)必須輸入數(shù)值,否則出現(xiàn)錯誤對話框(如下圖所示)。同理在其他四個編輯框的回調(diào)函數(shù)下輸入相同的代碼。 圖10 錯誤對話框(2)打開M文件編輯器(M-file Edit),點(diǎn)擊向下的三角圖標(biāo),設(shè)置下拉菜單返回函數(shù),光標(biāo)跳到 function popupmenu1_Callback(hObject, eventdata, handles)下面空白處。由于下拉菜單是本界面設(shè)計關(guān)鍵控件,與本設(shè)計相關(guān)的程序都放在這個返回

32、函數(shù)下。添加代碼如下:L1=str2double(get(handles.edit1,String);L2=str2double(get(handles.edit2,String);L3=str2double(get(handles.edit3,String);L4=str2double(get(handles.edit4,String);w2=str2double(get(handles.edit5,String);th2=0:2/72:2*pi; th34=zeros(length(th2),2);options=optimset(display,off);for m=1:length(t

33、h2)th34(m,:)=fsolve(aa,1 1,options,th2(m),L2,L3,L4,L1);endw2=250;for i=1:length(th2)A=-L3*sin(th34(i,1) L4*sin(th34(i,2); L3*cos(th34(i,1) -L4*cos(th34(i,2);B=w2*L2*sin(th2(i); -w2*L2*cos(th2(i);w=inv(A)*B; w3(i)=w(1);w4(i)=w(2);endfor i=1:length(th2)C=-L3*sin(th34(i,1) L4*sin(th34(i,2);L3*cos(th34(

34、i,1) -L4*cos(th34(i,2);D=w22*L2*cos(th2(i)+w3(i)2*L3*cos(th34(i,1)-w4(i)2*L4*cos(th34(i,2);. w22*L2*sin(th2(i)+w3(i)2*L3*sin(th34(i,1)-w4(i)2*L4*sin(th34(i,2);a=inv(C)*D;a3(i)=a(1);a4(i)=a(2);endval=get(hObject,Value);str=get(hObject,String);switch strvalcase 連桿3的幾個位置點(diǎn)th2=0:1/6:2*pi; th34=zeros(leng

35、th(th2),2); options=optimset(display,off); for m=1:length(th2) th34(m,:)=fsolve(aa,1、1,options,th2(m),L2,L3,L4,L1); end y=L2*sin(th2)+L3*sin(th34(:,1); x=L2*cos(th2)+L3*cos(th34(:,1); xx=L2*cos(th2); yy=L2*sin(th2); plot(x;xx,y;yy,k,0 L1,0 0,k-,x,y,ko,xx,yy,ks) title(連桿3的幾個位置點(diǎn)) xlabel(水平方向) ylabel(垂

36、直方向) axis equal grid oncase 角位移線圖 plot(th2*180/pi,th34(:,1)*180/pi,th2*180/pi,th34(:,2)*180/pi) axis(0 360 0 170) grid on xlabel(主動件轉(zhuǎn)角theta_2(度) ylabel(從動件角位移(度) title(角位移線圖) text(120,120,搖桿4角位移) text(150,40,連桿3角位移)case 角速度線圖 plot(th2*180/pi,w3,th2*180/pi,w4); axis(0 360 -175 200) text(50,160,搖桿4角速度

37、(omega_4) text(220,130,連桿3角速度(omega_3) grid on xlabel(主動件轉(zhuǎn)角theta_2(度) ylabel(從動件角速度(radcdot s-1) title(角速度線圖)case 角加速度線圖plot(th2*180/pi,a3,th2*180/pi,a4); axis(0 360 -50000 65000) text(50,50000,搖桿4角加速度(alpha_4) text(220,12000,連桿3角加速度(alpha_3) grid on xlabel(主動件轉(zhuǎn)角theta_2(度) ylabel(從動件角加速度(radcdot s-2

38、) title(角加速度線圖)endguidata(hObject,handles)%其中,guidata(hObject,handles)命令用于更新句柄,當(dāng)輸入不同參數(shù)是,程序能夠做出相應(yīng)的相應(yīng)。(3)打開M文件編輯器(M-file Edit),點(diǎn)擊向下的三角圖標(biāo),在Open菜單回調(diào)函數(shù)下添加以下代碼:file = uigetfile(*.fig);if isequal(file, 0) open(file);end此菜單用以打開fig文件。其相應(yīng)界面如圖11所示:圖11 運(yùn)行界面(4)打開M文件編輯器(M-file Edit),點(diǎn)擊向下的三角圖標(biāo),在Print菜單回調(diào)函數(shù)下添加以下代碼:

39、printdlg(handles.figure1) %用于圖形輸出。(5)打開M文件編輯器(M-file Edit),點(diǎn)擊向下的三角圖標(biāo),在Close菜單回調(diào)函數(shù)下添加以下代碼:selection = questdlg(Close get(handles.figure1,Name) ?,. Close get(handles.figure1,Name) .,Yes,No,Yes);if strcmp(selection, No) return;enddelete(handles.figure1)此菜單用于關(guān)閉界面,其響應(yīng)界面如圖12所示:圖12(6)完成M文件編寫后,運(yùn)行程序進(jìn)行檢驗,單擊圖標(biāo)

40、或M文件工具欄的圖標(biāo),在編輯欄輸入個構(gòu)件參數(shù),單擊右側(cè)下拉框,運(yùn)行結(jié)果如以下圖所示:圖13 連桿幾個位置點(diǎn)圖14 角加速度線圖圖15 角速度線圖 圖16 角位移圖5 結(jié)論在本次基于MATLAB平面四桿機(jī)構(gòu)機(jī)構(gòu)的運(yùn)動分析畢業(yè)論文設(shè)計中,不僅用到了MATLAB的m語言編程,還有GUI圖形用戶界面設(shè)計。對于課程的設(shè)計來說,m語言本身來說,功能相當(dāng)強(qiáng)大,但是由于其復(fù)雜的編程方法,讓大多數(shù)初學(xué)者望而卻步;而GUI圖形界面則正好彌補(bǔ)了它的不足,它采用的是所見即所得的編程方式,用它來做軟件的界面就如圖制作網(wǎng)頁一樣簡單明了,用它制作出來的軟件不需要太多的編程知識都可以輕松搞定;在此次畢業(yè)論文設(shè)計中,本人盡量揚(yáng)長避短,把這些工具的優(yōu)點(diǎn)結(jié)合到一起,發(fā)揮其最大的作用。本文的程序在 MATLAB 6 . 5版中調(diào)試通過。通過此次設(shè)計,不僅使我們對使我們對四桿機(jī)構(gòu)有了進(jìn)一步認(rèn)識,并且使我們認(rèn)識到計算機(jī)技術(shù)對工程應(yīng)用的重要性。本論文的主要成果有(1)本系統(tǒng)可以自動演示不同的四桿機(jī)構(gòu)的運(yùn)動,模擬仿真運(yùn)動軌跡與從動件的速度分析

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論