收藏 分销(赏)

汽车设计课程设计-曲柄连杆机构受力分析.doc

上传人:人****来 文档编号:4874311 上传时间:2024-10-16 格式:DOC 页数:17 大小:441.50KB
下载 相关 举报
汽车设计课程设计-曲柄连杆机构受力分析.doc_第1页
第1页 / 共17页
汽车设计课程设计-曲柄连杆机构受力分析.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述
各专业全套优秀毕业设计图纸 汽车设计课程设计说明书 题 目: 曲柄连杆机构受力分析 设计者: 学 号: 指导教师: 吴参 2015 年 1 月 02 日 一、 课程设计要求 根据转速、缸内压力、曲柄连杆机构结构参数,计算发动机运转过程中曲柄连杆机构受力,完成计算报告,绘制曲柄连杆机构零件图。 1.1 计算要求 掌握连杆往复惯性质量与旋转离心质量折算方法; 掌握曲轴旋转离心质量折算方法; 掌握活塞运动速度一阶、二阶分量计算方法; 分析活塞侧向受力与往复惯性力及相应设计方案; 分析连杆力及相应设计方案; 采用C语言编写曲柄连杆机构受力分析计算程序; 完成曲柄连杆机构受力计算说明书。 1.2 画图要求 活塞侧向力随曲轴转角变化 连杆对曲轴推力随曲轴转角变化 连杆轴承受力随曲轴转角变化 主轴承受力随曲轴转角变化 活塞、连杆、曲轴零件图(任选其中一个) 二、 计算参数 2.1 曲轴转角及缸内压力参数 曲轴转速为7000 r/min,缸内压力曲线如图1所示。 图1 缸内压力曲线 2.2发动机参数 本计算过程中,发动机结构及运动参数如表1所示。 参数 指标 发动机类型 汽油机 缸数 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 5.24MPa 表1 发动机主要参数 三、 计算内容和分析图 3.1 运动分析 3.1.1曲轴运动 近似认为曲轴作匀速转动,其转角 3.1.2活塞运动规律 图2 中心曲轴连杆机构简图 1)活塞位移 ,其中 2) 活塞速度 令, 有, 最大活塞速度 平均活塞速度 3) 活塞加速度 令,有 , 由,即或时,得正、负最大加速度: 个负最大加速度,即 3.1.3连杆运动规律 1)连杆摆动角 由,得 2)连杆摆动角速度 3)连杆摆动角加速度 3.2活塞气体力 活塞气体力 N 其中:缸内气体压力 bar (1bar=pa);大气压力 一般取=1bar; cm2 3.3 往复惯性力 往复运动质量 , kg 往复惯性力 3.4 曲轴连杆机构旋转离心力 旋转运动质量 ,—曲轴质量 kg 旋转离心力 N 两个分量: ; 3.5 连杆受力合成 气体压力与往复惯性力作用在气缸中心线上,将往复惯性力用单位活塞面积的力计量,则合成的单位活塞面积的力为: 对曲轴连杆机构的作用如右图所示。 设合成力p作用于活塞销中心A,它可分解为两个力: 垂直气缸中心线将活塞压向缸壁的侧压力 活塞侧向力曲线如图3所示 图3 活塞侧向力曲线 沿连杆轴线作用的连杆力 连杆力曲线如图4所示 图4 连杆力曲线 将沿作用线移至作用点B,可进一步分解为: 对曲轴销切向力 对曲轴销径向力 3.6 曲轴受力合成 根据连杆对曲轴推力和旋转离心力,计算曲轴连杆轴颈力。以单位活塞面积计算。 1)连杆大头的旋转离心力 2)曲轴销负荷 ,其中 为连杆力,将在x,y方向投影 , 在x、y方向的力的曲线如图5(a)(b)所示 图5-(a) 图5-(b) 3) 连杆轴承负荷 连杆轴承负荷是曲轴销对轴承的反作用力。大小相等,方向相反,即 。 的方向角为: 4)主轴颈负荷 的大小为 5) 主轴承负荷 主轴承负荷与主轴颈负荷互为反作用,在任何时刻大小相等,方向相反。即 因参考坐标系互相转动角,所以的方位角 四、 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_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class 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 // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_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_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CCrankShaftDlg dialog CCrankShaftDlg::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 Win32 m_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_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CCrankShaftDlg message handlers BOOL 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 dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here return 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 painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int 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 icon dc.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/min double dOmiga = 733.04; //发动机转速rad/s double dAlpha = 0; //曲轴转角 rad double dSinBeta = 0; //连杆摆角 sin double dCosBeta = 0; //连杆摆角 cos double dLinker = 0.117; //连杆长 m double dStroke = 0.063; //冲程 m double dPistonD = 0.091; //缸径 m double dLambda = 0.27; //连杆比 double dPiston_m = 0.425; //活塞质量 kg double dLinker_m = 0.46; //连杆质量 kg double dCrankShaft_m = 0.231;//曲轴旋转离心质量 //计算结果 double dPiston_F_P = 0; //活塞压力 N double dPiston_X = 0; //活塞位移 m double dPiston_V = 0; //活塞速度 m/s double dPiston_A = 0; //活塞加速度m/s2 double dPiston_F_C = 0; //活塞侧向力 N double dPiston_F_G = 0; //往复惯性力 N double dLinker_F = 0; //连杆力 N double dCrankShaft_F_R = 0; //曲轴旋转离心力 N double dCrankShaft_F_x = 0; //曲轴力x N double 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^2 dCrankShaft_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 here CDialog::OnOK(); } 16
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服