c語言實訓報告
學院: 機械工程學院
班級: 機制1005
學號: 1005040510
姓名: 董浪
一、 設計題目:基於網格法的蝸桿傳動優化設計。
蝸桿與渦輪可用來傳遞空間兩交錯軸間的運動和動力。由於其具有傳動比大且結構緊湊等優點,在各類機械裝置的傳動系統中應用廣泛。
設計一普通圓柱蝸桿,已知引數:輸入功率;蝸桿轉速;傳動比;由電動機驅動,載荷平衡。蝸桿材料,表面硬度,蝸輪材料為,離心鑄造,蝸桿減速器每日8h,全年按300個工作日計,要示工作壽命不低於10年。
根據以上條件進行優化設計,通常在滿足使用要求的前提下,以結構尺寸是否緊湊、傳動效率是否較高作為評判設計優劣的指標,在此以傳動中心別具匠心為目標函式:
式中:——傳動中心距;
——蝸桿軸向和蝸輪端麵模數;
——蝸桿直徑係數;
——蝸桿頭數;
——蝸輪齒數;
——工程傳動比;
分析:由上式可知傳動中心別具匠心與模數、蝸桿直徑係數和蝸桿頭數有關。此三個引數可作為獨立設計變數,即,與此相對應,目標函式可寫為:
在進行蝸桿傳動設計時,各引數應滿足強度和剛度方面的要求,應用網格法可求解這一問題。網格法是約束直接優化方法中較為簡單的一種方法,它的基本思想是將可行域分為許多網格,求出滿足設計約束的網格點上的目標函式值,比較它們的大小,從中選擇函式值最小的網格點。依次迴圈,直到網格之間的距離達到控制精度,即可得滿足精度要求的近似最優解。
網格法的演算法步驟為:
(1)給定目標函式初值(乙個足夠大的正數)、對應各設計變數的等分數和計算精度。
(2)將區間進行等分,間距為,各分點座標為,式中: 共有t個分點:
(3)對t個分點按順序逐一進行可行性檢查,放棄那些不滿足設計約束的網格點,計算滿足設計約束的網格點所對應的目標函式值,並與目標函式初值比較,若,則。否則,判別下乙個網格點。
(4)如果則停止計算,即為所求的最優點和最優值。否則取
轉向步驟(2)繼續計算。
二.流程圖
三 .源程式
#include"預處理命令*/
#include""
#include"" /*主函式*/
main()
; /*定義網格區間上限*/
double b[20]=; /*定義網格區間下限*/
int n=3;
int m[20]=; /*定義網格區間的等分值*/
double eps=0.1;
double x0[20]=;
double xmin[20],fmin;
double f0=10.0e5,f;
double h[20];
double hmax;
int i;
int i0,i1,i2;
int ng=10; /*引數約束條件個數*/
dof0=f; fmin=f;
}}}hmax=0.0網格精度細化*/
for(i=0;iif(h[i]>hmax) hmax=h[i]; /*求最大間距hmax*/
if(hmax>eps)
f0=10.0e4;}}
while(hmax>eps);
printf("the results:\n");
for(i=0;iprintf("x[%d]=%10.5e\n",i,xmin[i]);
printf("f0=%10.5e\n",fmin);
printf("hmax=%10.5e\n",hmax);
return(0);
}int yesorno(int ng, double x[20])
return( yesorno);
}double fun(double x[20])
{double f;
f=0.5*x[0]*(x[1]+18*x[2]);
return(f);
四、結果分析
程式執行結果是:
模數m=5.82289
蝸桿直徑係數q=11.5007
蝸桿頭數=2.22689
中心距a=150.186
=7.803×mm
6.校核
查機械設計手冊,選擇標準尺寸:
a/min: 160
i: 18
m /mm: 6.3
d1 /mm: 80
z1: 2
z2: 36
x2: -0.1
γ: 8°57′06"
①普通圓柱蝸桿傳動的基本引數及其匹配(摘自gb 10085-1988 neq din3976-1980)標準傳動比。
蝸輪齒面接觸強度校核:
根據表面材料查表:
根據接觸係數:
載荷平穩,使用係數: =1.00
傳動比:i=18
轉矩查圖表,傳動效率
轉速不變,轉速係數
壽命係數
接觸疲勞強度的最小安全係數,取
校核合格。
C語言實訓報告
程式清單 include include include int a 錄入的人數 int j 新增的人數 int pxh 按學號排序 int cj 按成績排序 int cxh 按學號查詢 int nam 按姓名查詢 struct student struct student stu 排序時用到的中間...
C語言實訓報告
hunan university 程式設計訓練 報告 學生姓名黃文倩 學生學號201435010117 專業班級計科1402 指導老師尹庚 2015 年 9 月 6 日 目錄題1 字母排列 id 1013 2 一 問題描述 2 二 問題分析 2 三 演算法分析 2 四 詳細設計 從演算法到程式 2 ...
C語言實訓心得
在本學期學習c語言將近乙個學期後,我們進行了c語言實訓,做了乙個比較複雜 功能較全的學籍管理系統。雖然實訓為期不長,但對我c語言水平的提高和對c的認識理解有很大幫助。在這次實訓中,我對c語言有了乙個更深的了解認識,也使我這個學期學的知識得到了鞏固。雖然在實訓中遇到了許多的困難,比方說一開始在檔案方面...