各专业全套优秀毕业设计图纸汽车设计课程设计说明书题目:曲柄连杆机构受力分析设计者:学号:指导教师:吴参2015 年 1 月02 日一、课程设计要求根据转速、缸内压力、曲柄连杆机构结构参数,计算发动机运转过程中曲柄连杆机构受力,完成计算报告,绘制曲柄连杆机构零件图。
1.1 计算要求掌握连杆往复惯性质量与旋转离心质量折算方法; 掌握曲轴旋转离心质量折算方法;掌握活塞运动速度一阶、二阶分量计算方法; 分析活塞侧向受力与往复惯性力及相应设计方案; 分析连杆力及相应设计方案;采用C 语言编写曲柄连杆机构受力分析计算程序; 完成曲柄连杆机构受力计算说明书。
1.2 画图要求活塞侧向力随曲轴转角变化 连杆对曲轴推力随曲轴转角变化 连杆轴承受力随曲轴转角变化 主轴承受力随曲轴转角变化活塞、连杆、曲轴零件图(任选其中一个)二、计算参数2.1 曲轴转角及缸内压力参数曲轴转速为7000 r/min ,缸内压力曲线如图1所示。
01234567-200-100100200300400500600700曲轴转角 CA缸内压力 M P a7500700065006000550050004500400035003000图1 缸内压力曲线2.2发动机参数本计算过程中,发动机结构及运动参数如表1所示。
参数指标 发动机类型 汽油机 缸数 1 缸径D mm 91 冲程S mm 63 曲柄半径r mm 31.5 连杆长l mm 117 偏心距e mm 0 排量 mL 400 活塞组质量'm kg 0.425 连杆质量''m kg 0.46 曲轴旋转离心质量k m kg 0.231 标定功率及相应转速 kw/(r/min )17/7500 最高爆发压力 MPa5.24MPa表1 发动机主要参数三、计算内容和分析图3.1 运动分析 3.1.1曲轴运动近似认为曲轴作匀速转动,其转角,t t t n 37006070002602πππα=⋅==s rad s rad dt d /04.733/3700≈==παω3.1.2活塞运动规律图2 中心曲轴连杆机构简图1)活塞位移 111cos cos x r αβλλ⎡⎤⎛⎫⎛⎫=+-+ ⎪ ⎪⎢⎥⎝⎭⎝⎭⎣⎦,其中()()⎥⎦⎤⎢⎣⎡-+-⋅=⎥⎦⎤⎢⎣⎡-+-≈⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-+-⎪⎭⎫ ⎝⎛+≈-=-≈-=-==⋅=≈==t t r r x l r l r 04.733cos 14685.3104.733cos 15.31)2cos 1(4)cos 1(sin 2111cos 11)2cos 1(21sin sin 211)sin 1(sin 1cos sin sin /sin 27.01175.31/2222221222αλααλλαλαααλαλββαλαβλ又2)活塞速度 ⎪⎭⎫ ⎝⎛+==αλαω2sin 2sin r dt dx v()αλαωα2cos cos +=r d dv令0=αd dv , 有()01cos 2cos 2cos cos 2=-+=+αλααλα,︒≈⎥⎥⎦⎤⎢⎢⎣⎡-+⎪⎭⎫ ⎝⎛==-+84.6412141arccos 021cos 21cos 2max2λλααλα曲轴转角解得最大活塞速度时的即最大活塞速度 ⎪⎭⎫⎝⎛+=max max max 2sin 2sin αλαωr vsm s rad mm /86.2326.169sin 11725.3163.84sin /37005.31≈⎪⎭⎫ ⎝⎛︒⨯+︒⋅⨯=π平均活塞速度 s m r mm n r Sn v m /7.1430min/70005.31230230=⋅⋅=⋅==3)活塞加速度 ()αλαωαα2cos cos 2+=⋅==r dtd d dv dt dv j()αλαωα2sin 2sin 2+-=r d dj令0=αd dj ,有 ()0cos 41sin cos sin 4sin 2sin 2sin =+=+=+αλαααλααλα,由0sin =α,即︒=0α或︒=180α时,得正、负最大加速度:),得第二>时(仅当,得当由418.175)41arccos(0cos 41/3.12356)1(,/6.21496)1(22180220λλααλλωλωαα ≈-='=+-≈--=≈+===s m r j s m r j 个负最大加速度,即()αλαωα'+'='2cos cos 2r j()[]2222/4.12418811cos 2cos sm r r -≈⎪⎭⎫ ⎝⎛+-=-'+'=λλωαλαω3.1.3连杆运动规律 1)连杆摆动角由αλβsin sin =,得()αλβsin arcsin =()λβλβ-==arcsin arcsin min max2)连杆摆动角速度dtd βω=1 αλαλωβαλωβωαλωββαλβ221sin 1cos cos cos cos cos sin sin -===⇒=⋅⇒=dt d dt d 3)连杆摆动角加速度 ⎪⎪⎭⎫⎝⎛-==αλαλωωε2211sin 1cos dt d dt d ()()232222sin 1sin 1αλαλλω---=3.2活塞气体力活塞气体力 ()h g g F p p P ⋅-=010 N其中:g p 缸内气体压力 bar (1bar=5101⨯pa);0p 大气压力 一般取0p =1bar ;04.65104911042222≈⨯⋅=⨯=--ππD F h cm23.3 往复惯性力往复运动质量 '''3.0m m m j ⋅+=,连杆质量—活塞组质量,—m m ''' 563.046.03.0425.0=⨯+= kg 往复惯性力 ()2cos cos2j j P m r ωαλα=-⋅⋅+⋅3.4 曲轴连杆机构旋转离心力旋转运动质量 ''7.0m m m k r +=,k m —曲轴质量 553.046.07.0231.0=⨯+= kg旋转离心力 3.936004.733105.31553.0232≈⨯⨯⨯=⋅⋅=-ωr m P r r N 两个分量: αcos ⋅=r rx P P ;αsin ⋅=r ry P P3.5 连杆受力合成气体压力与往复惯性力作用在气缸中心线上,将往复惯性力用单位活塞面积的力计量,则合成的单位活塞面积的力为:()αλαω2cos cos 2+-=+=hj g j g F r m p p p pk t p p l n 、、、对曲轴连杆机构的作用如右图所示。
设合成力p 作用于活塞销中心A ,它可分解为两个力: 垂直气缸中心线将活塞压向缸壁的侧压力()ββtg p p tg p p j g n ⋅+=⋅=活塞侧向力曲线如图3所示图3 活塞侧向力曲线沿连杆轴线作用的连杆力βcos 1pp l = 连杆力曲线如图4所示图4 连杆力曲线将l p 沿作用线移至作用点B ,可进一步分解为:对曲轴销切向力 ()()ββαβαcos sin sin +=+=p p t l对曲轴销径向力 ()()ββαβαcos cos cos +=+=p p k l3.6 曲轴受力合成根据连杆对曲轴推力和旋转离心力,计算曲轴连杆轴颈力。
以单位活塞面积计算。
1)连杆大头的旋转离心力N F r m k h rl 5221038.8006504.004.7330315.046.07.07.0⨯≈⨯⋅⨯=''⋅=ω2)曲轴销负荷 rl l q k p p+=,其中 l p 为连杆力,将q p 在x ,y 方向投影t p k k p qy rl qx =-=;,径向力—切向力,—k tq p 在x 、y 方向的力的曲线如图5(a)(b)所示图5-(a)图5-(b)()2222t k k p p p p rl qy qx q q +-=+=的大小为:()xx signx p p signp signp signp p qx qyq qqy qx qx q ==''⋅⋅+︒-=并引用符号函数称为投影比的反正切;式中,的方向角,tg 9011-q ααα3)连杆轴承负荷连杆轴承负荷p p 是曲轴销对轴承的反作用力。
大小相等,方向相反,即 q p p p -=。
p p 的方向角为: ︒+++=180βαααq p4)主轴颈负荷tp p p p zy r qx zx =+=z p 的大小为 22zy zx z p p p +=()xx signx p p signp signp signp p zx zyzzzy zx zx z ==''⋅⋅+︒-=并引用符号函数称为投影比的反正切;式中,的方向角,tg 9011-z ααα5)主轴承负荷主轴承负荷c p 与主轴颈负荷z p 互为反作用,在任何时刻大小相等,方向相反。
即 z c p p -=因参考坐标系互相转动α角,所以c p 的方位角 ︒++=180αααz c四、 C++程序:(见附录1)五、总结通过本次汽车设计的课程设计,在老师的指导下,我对曲柄连杆机构的结构设计有了进一步的理解。
1)活塞结构:为了减轻活塞质量,减少其往复惯性力,其选用材料为铝;在裙部设计方面,削掉不承受侧向力部分,而在受力部位则延长加厚;活塞销与活塞装配方面,在冷态下,为间隙配合,在工作状态,由于铝的膨胀系数较大,它们的装配为过盈配合。
2)连杆结构:采用工字型设计,既减轻连杆的质量,减小往复惯性力和离心力,同时也增强了抗弯性能。
3)螺栓预紧力:应选择适当值。
若预紧力过小,连杆大头盖与轴承会出现缝隙,影响发动机稳定工作;若预紧力过大,则会造成连杆被拉断。
学习汽车设计,进一步加深了我对汽车的了解和印象。
在毕业设计中我选择了曲柄连杆机构受力分析设计,是理论与实际相结合,使我能够更好的掌握专业知识。
六、参考资料内燃机设计杨连生中国农业机械出版社,1981汽车发动机现代设计徐兀人民交通出版社,1995附录1:C++程序:// CrankShaftDlg.cpp : implementation file//#include "stdafx.h"#include "CrankShaft.h"#include "CrankShaftDlg.h"#include "math.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog{public:CAboutDlg();// Dialog Data//{{AFX_DATA(CAboutDlg)enum { IDD = IDD_ABOUTBOX };//}}AFX_DATA// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL// Implementationprotected://{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT}void CAboutDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)//{{AFX_MSG_MAP(CAboutDlg)// No message handlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CCrankShaftDlg dialogCCrankShaftDlg::CCrankShaftDlg(CWnd* pParent /*=NULL*/): CDialog(CCrankShaftDlg::IDD, pParent){//{{AFX_DATA_INIT(CCrankShaftDlg)// NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CCrankShaftDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CCrankShaftDlg)// NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CCrankShaftDlg, CDialog)//{{AFX_MSG_MAP(CCrankShaftDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_COMPUT, OnComput)ON_BN_CLICKED(IDEXIT, OnExit)//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CCrankShaftDlg message handlersBOOL CCrankShaftDlg::OnInitDialog(){CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// Set the icon for this dialog. The framework does this automatically// when the application's main window is not a dialogSetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small icon// TODO: Add extra initialization herereturn TRUE; // return TRUE unless you set the focus to a control}void CCrankShaftDlg::OnSysCommand(UINT nID, LPARAM lParam){if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}}// If you add a minimize button to your dialog, you will need the code below// to draw the icon. For MFC applications using the document/view model,// this is automatically done for you by the framework.void CCrankShaftDlg::OnPaint(){if (IsIconic()){CPaintDC dc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// Draw the icondc.DrawIcon(x, y, m_hIcon);}else{CDialog::OnPaint();}}// The system calls this to obtain the cursor to display while the user drags // the minimized window.HCURSOR CCrankShaftDlg::OnQueryDragIcon(){return (HCURSOR) m_hIcon;}void CCrankShaftDlg::OnComput(){// TODO: Add your control notification handler code here/****************************************400汽油机曲轴连杆活塞组运动学计算程序作者:学号:////////////////////////////////////////////发动机主要参数参数指标发动机类型汽油机缸数 1缸径D mm 91冲程S mm 63曲柄半径r mm 31.5连杆长l mm 117偏心距e mm 0排量mL 400活塞组质量kg 0.425连杆质量kg 0.46曲轴旋转离心质量kg 0.231标定功率及相应转速kw/(r/min)17/7500最高爆发压力MPa MPa缸内气体压力CylinderPressure.txt/////////////////////////////////////////////*****************************************/int iDataNum = 0; //数据点数//结构参数double dEngineSpeed = 7000; //发动机转速r/mindouble dOmiga = 733.04; //发动机转速rad/sdouble dAlpha = 0; //曲轴转角raddouble dSinBeta = 0; //连杆摆角sindouble dCosBeta = 0; //连杆摆角cosdouble dLinker = 0.117; //连杆长mdouble dStroke = 0.063; //冲程mdouble dPistonD = 0.091; //缸径mdouble dLambda = 0.27; //连杆比double dPiston_m = 0.425; //活塞质量kgdouble dLinker_m = 0.46; //连杆质量kgdouble dCrankShaft_m = 0.231;//曲轴旋转离心质量//计算结果double dPiston_F_P = 0; //活塞压力Ndouble dPiston_X = 0; //活塞位移mdouble dPiston_V = 0; //活塞速度m/sdouble dPiston_A = 0; //活塞加速度m/s2double dPiston_F_C = 0; //活塞侧向力Ndouble dPiston_F_G = 0; //往复惯性力Ndouble dLinker_F = 0; //连杆力Ndouble dCrankShaft_F_R = 0; //曲轴旋转离心力Ndouble dCrankShaft_F_x = 0; //曲轴力x Ndouble dCrankShaft_F_y = 0; //曲轴力y N//FILE* pFileRead = NULL; //源数据文件指针FILE* pFileWrite = NULL; //结果数据文件指针double dPAI = 3.14159;float fTmp[10] = {0}; //临时数据///////////////////////dEngineSpeed = 7000.0;dOmiga = dEngineSpeed * 2.0 * dPAI / 60.0;dLambda = dStroke / (dLinker * 2);//if ((pFileRead = fopen("CylinderPressure.txt" , "r")) == NULL){AfxMessageBox("源数据文件错误");return;}if ((pFileWrite = fopen("Result.txt" , "w")) == NULL){AfxMessageBox("结果数据文件错误");return;}fprintf(pFileWrite ,"序号曲轴转角rad 活塞位移m 活塞速度m/s 活塞加速度m/s2 活塞气压力N 往复惯性力N 活塞侧向力N 连杆力N 旋转离心力N 曲轴连杆轴颈力x/N 曲轴连杆轴颈力y/N\n");//计算while (fscanf(pFileRead , "%f %f" , &fTmp[0] , &fTmp[1]) != EOF){dAlpha = fTmp[0] * dPAI / 180.0;dSinBeta = dLambda * sin(dAlpha);dCosBeta = sqrt(1.0 - dSinBeta * dSinBeta);//dPiston_X = 0.5 * dStroke * (1.0 - cos(dAlpha) + (1.0 / dLambda) * (1 - dCosBeta));//dPiston_V = 0.5 * dStroke * dOmiga * (sin(dAlpha) + cos(dAlpha) * dSinBeta / dCosBeta);//dPiston_A = 0.5 * dStroke * dOmiga * dOmiga * ( cos(dAlpha) - sin(dAlpha) * dSinBeta / dCosBeta +dLambda * cos(dAlpha) * cos(dAlpha) / pow(dCosBeta , 3));//dPiston_F_P = fTmp[1] * 1000000.0 * dPAI * dPistonD * dPistonD / 4.0;//根据以上结果计算往复惯性力、活塞侧向力、连杆力、旋转离心力、曲轴连杆轴颈力//往复惯性力= (活塞+ 1/3连杆质量)×活塞加速度dPiston_F_G = (dPiston_m + dLinker_m / 3.0) * dPiston_A;//活塞侧向力= (活塞气体力+ 往复惯性力)/ tg(beta)dPiston_F_C = (dPiston_F_P + dPiston_F_G) * dSinBeta / dCosBeta;//连杆力= (活塞气体力+ 往复惯性力)/ cos(beta)dLinker_F = (dPiston_F_P + dPiston_F_G) / dCosBeta;//旋转离心力= (2/3连杆质量+ 曲轴质量)×r×omiga^2dCrankShaft_F_R = (dCrankShaft_m + 2.0 * dLinker_m / 3.0) * (0.5 * dStroke) * dOmiga * dOmiga;//曲轴连杆轴颈力x = 曲轴旋转离心力*sin(alpha)+连杆力*sin(beta)dCrankShaft_F_x = dCrankShaft_F_R * cos(dAlpha) + dLinker_F * dSinBeta;//曲轴连杆轴颈力y = 曲轴旋转离心力*cos(alpha)+连杆力*cos(beta)dCrankShaft_F_y = dCrankShaft_F_R * sin(dAlpha) + dLinker_F * dCosBeta;////////////////////////////////////fprintf(pFileWrite , "%d %f %f %f %f %f %f %f %f %f %f %f\n" ,iDataNum ,dAlpha ,dPiston_X ,dPiston_V ,dPiston_A,dPiston_F_P,dPiston_F_G,dPiston_F_C,dLinker_F,dCrankShaft_F_R ,dCrankShaft_F_x,dCrankShaft_F_y);iDataNum++;}//结束fclose(pFileRead);fclose(pFileWrite);AfxMessageBox("400汽油机曲轴连杆活塞组运动学计算完成"); }void CCrankShaftDlg::OnExit(){// TODO: Add your control notification handler code hereCDialog::OnOK();}。