摘 要:通過分析機械設計課程設計教學中存在的問題,結合Matlab的功能特點,闡述了Matlab優化設計在改善機械設計課程設計教學中的應用,鍛煉學生的思考能力,使學生加深對機械設計中各項參數之間的聯系的理解,以提高教學質量。
關鍵詞: Matlab;機械設計課程設計;課堂教學
課堂教學是傳道授業的主要陣地和渠道,傳統的教學形式相對單一,就機械設計課程設計而言,其表現形式為:設計題目陳舊,設計方法呆板,設計手段單一,不能激發學生的興趣。很多高校的機械設計課程設計的選題都是幾年甚至十幾年一成不變的老題目,學生可以輕易得到類似題目的設計版本。設計方法無論是圖解法還是解析法都是過于側重理論,偏重知識的積累,這種傳統的人才培養模式已不能適應如今的產業結構對工科人才的要求。設計過程與工程實踐脫節,學生沒有自己擬定設計方案,只不過是按照設計說明書走一個過程,起不到培養學生創新能力的目的。設計過程只是被動地接受,很少去思考設計參數之間的相互聯系,對工程意識建立、工程應用能力的培養都非常不利。很多學生也僅僅是為了設計最終能夠通過而學習,沒有主動參與的熱情,對學習感到枯燥乏味、毫無樂趣,更不用說學生的創新能力培養了。而將Matlab最優化設計理念引入機械設計課程設計教學,無論是對提高學生的綜合素質還是機械設計課程設計的教學改革都是非常有利的。
一、 常規設計理念下機械設計課程設計教學的不足
常規設計方法通常是在調查分析的基礎上,參照同類產品,通過計算、經驗類比或試驗等方法來確定產品的初設計。然后對產品的設計參數進行強度、剛度和穩定性等性能分析計算,檢查各項性能是否滿足設計指標要求。如果不能滿足要求,則根據經驗或直觀判斷對設計參數進行修改。整個常規設計的過程是人工式湊合定性分析比較的過程。實踐證明,按照常規方法得到的設計方案,可能存在較大的改進余地。雖然在常規設計中也存在“優選”的思想,設計人員可以在有限的幾種方案中,按照一定的設計指標進行分析評價,選出較好的合格方案。但是由于常規設計方法受到經驗、計算方法和手段等條件的限制,得到的可能不是最佳的設計方案。而學生也正因為經驗的不足,碰到要對設計參數進行修改時就一籌莫展,只能憑感覺試湊數據來達到設計要求。對于設計最終是否可行毫不考慮,設計過程過于依賴設計手冊或設計指導書,缺乏主動思考和判斷,感覺課程設計枯燥乏味。另外,傳統課程設計題目陳舊也是個問題。當前很多高校機械設計課程設計選題都是幾年前的老題或類似題目,題目的一成不變直接導致學生普遍抄襲或套用,有的學生甚至直接拿上屆學生做的課程設計報告再改一些數據就作為自己的課程設計報告了。
二、 基于Matlab優化設計理念的機械設計課程設計的優點
機械最優化設計,是將具體工程設計問題轉化成優化設計問題,并以數學模型的形式來描述。然后,選擇合適的優化設計方法,應用計算機進行迭代計算、比較、判別和評價的程序運算過程,從滿足各種設計要求的全部可行方案中,自動尋求出最優的設計方案。目前,能從事最優化設計的軟件很多,Matlab以其容易,調試方便,擴展交互性好,特別是附帶優化工具箱(Optimization Toolbox)等特點,優越性明顯。
Matlab優化設計,因其目標函數建立的評價準則和優化設計方法的多樣化,在機械設計課程設計中,即使是同一個設計產品,也可根據設計指標的不同,輕松派生出許多不同設計題目來。例如,在設計齒輪傳動時,可以采用齒輪最小體積、最小齒寬、齒輪副最小中心距等結構指標,或最大傳動效率、最大承載力、使用壽命等性能指標,甚至可以采用成本、利潤、工時等經濟指標來豐富課程設計題目,這樣就避免了題目一成不變的問題。學生在設計過程中為建立合適的數學模型,也更需要開動腦筋、勤于思考。在設計前期調研時,對于學生不懂的方面,可以運用各種手段收集資料,如通過互聯網、圖書館,有的甚至可以討教親朋好友,不僅增長了知識,而且提高了能力。
在培養學生獨立思考能力的同時,Matlab優化設計也因其開放性和更貼近實際,更適合學生積極發揮他們的創新能力,學生在設計過程中通過全面分析設計準則,可以將某一最重要準則作為設計目標,其余準則處理成約束條件。例如以產品成本最低為目標,其余性能指標作為約束條件;或幾個設計準則都同樣重要,如齒輪最小體積和齒輪最小中心距的設計準則都一樣重要,則可構成多目標函數。目標函數越多,設計越趨于完善,但是設計難度也隨之增大。設計中需根據實際情況選取適宜的目標函數數量。
三、 應用實例——螺栓組聯接的優化設計
如圖所示的壓力容器的螺栓聯接,已知被聯接件厚E=H=
20mm,氣缸內徑D1=500mm,螺栓分布圓直徑D=650mm,缸內壓力p=0~1.6Mpa,最大壓力波動偏差±15%,要求聯接可靠度R>0.999,以成本最低為目標設計緊固螺栓尺寸及個數。
因為設計目標是成本最低,所以應該將螺栓組重量作為目標函數,其余性能指標作為約束條件。又因為螺栓組聯接的強度條件和螺栓間距范圍都是非線性函數,所以這屬于約束非線性規劃問題。求解約束非線性規劃問題的Matlab函數是fmincon。
1. 確定設計變量
由于螺栓組的成本取決于螺栓直徑d和個數n,因此設計變量為:
2. 確定目標函數
以螺栓組重量為優化目標,因為螺栓組個數越少直徑越小,成本就越低。
W=nLpπd2/4fkg(2)
式中:p為螺栓材料比重,取p=7800kg/m3,L可認為是常量,因此螺栓組的目標函數為:
min f(X)=6.126×10-6Lnd2(3)
3. 確定約束條件
(1)螺栓間距上限。為了保證螺栓之間的密封壓力均勻,防止局部漏氣,根據經驗,當p≤1.6Mpa時,螺栓間距不能大于7d,于是得約束條件:
(2)螺栓間距下限。為了保證螺栓聯接的裝配工藝性(如扳手空間要求),螺栓之間間隔不能小于3d,于是得約束條件:
(3)螺栓疲勞強度可靠性約束。根據承受變載荷的螺栓組聯接主要失效形式是螺栓桿部的疲勞斷裂,可知應力幅和應力集中是導致螺栓疲勞斷裂的主要原因。
①螺栓極限應力幅均值為:
σal=σ-1lkmkuε/kσ (6)
式中,σal為應力幅均值,Mpa;σ-1l為光滑試件的抗拉疲勞強度均值,Mpa,km為制造工藝系數,ku為螺紋牙受力不均系數,ε為尺寸系數,k為螺紋應力集中系數。
②螺栓極限應力幅的標準離差為:
Sσal =Calσal(7)
式中:Sσal為極限應力幅的標準離差,Mpa;Cal為極限應力幅變異系數。
③螺栓工作應力幅均值的計算:
當螺栓工作載荷在0~F之間變化,螺栓桿部拉力將在F′~F0之間變化,故螺栓拉力的變化幅為:
式中:F0為單個螺栓拉力,N;F′為單個螺栓預緊力,N;F為單個螺栓工作載荷,為螺栓相對剛度。
相應的螺栓工作應力幅均值為:
式中:σa為螺栓工作應力幅均值,Mpa;d1為螺栓小徑,mm。
④螺栓工作應力幅標準離差為:
Sσal =Cσaσa(10)
式中:Cσa為工作應力幅變異系數。
⑤根據文獻,可靠性指數的計算:
若設計要求的可靠度為R,與此相關的可靠性指數為ZR,其值可由正態分布表查得,于是便得約束條件:
4. 應用Matlab編程求解
(1)編寫目標函數M文件,并以文件名lszyh_f保存在Matlab目錄下的work文件夾中。
function f=lszyh_f(x);
f=4.288*10^(-4)*x(1)*x(2)^2;
(2)編寫約束函數M文件,并以文件名lszyh_g保存在Matlab目錄下的work文件夾中。
function [g,ceq]=lszyh_g(x);
g(1)= 650*pi-7*x(1)*x(2);
g(2)= 3*x(1)*x(2)-650*pi;
g(3)=3.091-(58.974-221453/(x(1)*x(2)^2))/
(4.718^2+11072.65^2/(x(1)^2*x(2)^4))^0.5;ceq=[];
(3)編寫優化函數M文件。
x0=[16;24];
lb=[0;0];
[x,fval]=fmincon(@lszyh_f,x0,[],[],[],[],lb,[],@lszyh_g);
disp('******** 螺栓組聯接成本優化設計 ********')
fprintf(1,'螺栓個數n=%3.4fmm\',x(1))
fprintf(1,'螺栓直徑d=%3.4f\',x(2))
g=lszyh_g(x);
disp('======== 最優點的性能約束函數值 ========')
fprintf(1,'螺栓組間距上限約束函數值g1=%3.4f\',g(1))
fprintf(1,'螺栓組間距下限約束函數值g2=%3.4f\',g(2))
fprintf(1,'螺栓組強度條件約束函數值g3=%3.4f\',g(3))
f=lszyh_f(x);
disp('======== 最優點的重量目標函數值 ========')
fprintf(1,'螺栓組重量目標函數值F=%3.4fkg\',f)
運行結果如下:
Optimization terminated: first-order optimality measure less
than options.TolFun and maximum constraint violation is less
than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upperineqlinineqnonlin
******** 螺栓組聯接成本優化設計 ********
螺栓個數n=16.5056
螺栓直徑d=17.6742 mm
======== 最優點的性能約束函數值 ========
螺栓組間距上限約束函數值g1=-0.0224
螺栓組間距下限約束函數值g2=-1166.8677
螺栓組強度條件約束函數值g3=0.0000
======== 最優點的重量目標函數值 ========
螺栓組重量目標函數值F=2.2109kg
經圓整,標準化為n=18,d=18mm,F=2.5008kg。
結束語:通過實例我們發現,與常規設計結果相比較(n=16、d=24,根據目標函數計算得:F=3.9518 kg),基于Matlab優化設計的課程設計優點明顯,不僅可以建立起以往工科教育中缺乏的工程價值觀,激發起學生的學習興趣,還可以培養學生的創新能力,這使得以往理論實踐相脫離的問題得以改善,學生的綜合能力得以加強,進而更加適應當今社會對工科人才的要求。
參考文獻:
[1]濮良貴,紀名剛.機械設計[M]:北京:高等教育出版社,2001.
[2]郭仁生.基于MATLAB和Pro/ENGINEER優化設計實例解析[M].北
京:機械工業出版社,2007.
[3]葉元烈.機械優化理論與設計[M].北京:中國計量出版社,2001.
[4]曹衛華,郭正.最優化技術方法及MATLAB實現[M].北京:化學工
業出版社,2005.
(江西機電職業技術學院)