汽车设计课程设计-曲柄连杆机构受力分析
- 格式:doc
- 大小:441.50 KB
- 文档页数:17
图4-1 活塞组合 1—活塞 2—活塞销 3—挡圈 4—气环 5—油环 4 曲柄连杆机构的受力分析4.1 曲柄连杆机构的组成摩托车发动机的曲柄连杆机构由活塞、活塞环、活塞销、连杆、大小头轴承、曲轴等组成。
4.1.1 活塞组合活塞组合由活塞、活塞环、活塞销、活塞销挡圈等组成,见图4-1。
它的功能是:1)承受气缸中可燃混合气燃烧产生的压力,并将作用力通过活塞销传给连杆,带动曲轴旋转。
2)活塞顶部与气缸盖组成燃烧室。
3)通过安装在其上的活塞环,保证气缸的密封性。
4.1.1.1 四行程发动机活塞四行程发动机活塞的顶面呈平面形,且对应于进、排气门之处加工有凹坑,以避免在运动中与进、排气门相干涉,在顶面有“IN ”标记表示进气侧,保证活塞安装时的方向。
在活塞槽部通常设有两道气环、一道油环。
在油环槽周围,设置有许多回油小孔,安装油环后,能刮去缸壁上多余的润滑油(见图4-2)。
有些活塞在油环槽下再加工一个较浅的环形槽,其上也加工回油小孔。
四行程发动机活塞所有环槽上都无需有定位销孔,原因是四行程发动机的气缸上无气口,活塞环运动时不会产生干涉现象。
为适应活塞在高温、高压、高速条件下工作,活塞通常多采用质量轻、导热性好的高铝合金来制造。
有些活塞表面还进行镀锡处理,以提高其磨合性。
4.1.1.2 活塞环 四行程活塞裙部较短,并无需做有缺口,因四行程发动机的进、排气道没有气缸盖上。
但有时为避免与曲轴相撞,并为增加裙部弹性及减小活塞质量,在受力不图4-2 四行程汽油机的活塞1—气门坑 2—回油孔 3—裙部缺口大的沿销孔方向两侧,从底部各开一个浅而长的圆弧形缺口。
活塞环的功能是:1)密封气缸与活塞间的间隙,防止漏气。
2)刮去气缸壁上多余的机油。
3)把活塞的热量传递给气缸体散发。
活塞环应具有良好的密封性,在高温、高压、和高速的工况下,具有良好的弹度、弹性和耐磨性;此外,并应有良好的磨合性与加工性。
为适应这些要求,活塞环的材料多选用合金铸铁。
发动机曲柄连杆机构组成作用和受力分析发动机的曲柄连杆机构是发动机最重要的机构,它的重要性体现在在三点:缸体和缸盖组成发动机工作的基础部件;实现活塞的往复直线运动和曲轴旋转动行的转变;保证气缸的密封,这是发动机正常工作的重要保证!发动机曲柄连杆机构的机体组是发动机工作的基础很多人将曲柄连杆机构的组成分为三部分:机体组、活塞连杆组和曲轴飞轮组。
机体组包括缸体、缸盖、缸垫、缸套和油底壳等,它们是发动机工作的基础部件,如在缸体和缸盖内设有润滑油道和冷却水道,并在缸体上安装有润滑系统的机油泵,机油滤清器和冷却系统的循环水泵。
发动机配气机构基本全部在缸盖安装。
活塞连杆组包括活塞、连杆、活塞环、活塞销、连杆等。
曲轴飞轮组包括曲轴、连杆轴承、主轴承、止推垫、飞轮等。
活塞连杆组和曲轴飞轮组实现活塞的往复直线运动和曲轴旋转动行的转变:在做功冲程中,活塞带动曲轴做旋转运动,对外输出动力。
而在进气、压缩、排气行程中又把曲轴的旋转运动转变成活塞的往复直线运动,为做功冲程做好准备。
曲柄连杆机构的活塞连杆组和曲轴飞轮组曲柄连杆机构一个非常重要的作用是保证气缸的密封性能,建立足够的气缸压力,它是发动机正常工作的保证。
气缸的密封需要缸套、活塞和活塞环的良好配合实现。
良好的配合间隙保证了气缸内的高压燃汽不会窜入油底壳,油底壳的机油不会窜入气缸参与燃烧。
曲柄连杆机构的活塞,活塞环和缸套磨损后,配合间隙增大,气缸的密封性能下降,气缸内的燃汽窜入油底壳,加速机构的变质,发动机动力下降。
同时油底壳机油进入气缸参与燃烧,发动机冒蓝烟,加速机油的消耗和发动机内部积碳的生成。
曲柄连杆机构主要承受气体作用力、往复惯性力、旋转离心力及机件摩擦力的作用。
并且高温、高速、高压、存在腐蚀和润滑困难。
发动机工作时,曲柄连杆机构直接与高温高压气体接触,曲轴的旋转速度又很高,活塞往复运动的线速度相当大,同时与可燃混合气和燃烧废气接触,曲柄连杆机构还受到化学腐蚀作用,并且润滑困难。
一、课程设计要求根据转速、缸内压力、曲柄连杆机构结构参数,计算发动机运转过程中曲柄连杆机构受力,完成计算报告,绘制曲柄连杆机构零件图。
1.1 计算要求掌握连杆往复惯性质量与旋转离心质量折算方法;掌握曲轴旋转离心质量折算方法;掌握活塞运动速度一阶、二阶分量计算方法;分析活塞侧向受力与往复惯性力及相应设计方案;分析连杆力及相应设计方案;采用C语言编写曲柄连杆机构受力分析计算程序;完成曲柄连杆机构受力计算说明书。
1.2 画图要求活塞侧向力随曲轴转角变化连杆对曲轴推力随曲轴转角变化连杆轴承受力随曲轴转角变化主轴承受力随曲轴转角变化活塞、连杆、曲轴零件图(任选其中两个)二、计算参数2.1 曲轴转角及缸内压力参数曲轴转速为7000 r/min,缸内压力曲线如图1所示。
图1 缸内压力曲线2.2发动机参数本计算过程中,对400汽油机进行运动和受力计算分析,发动机结构及运动参数如表1所示。
表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~6MPa三、计算内容和分析图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αλααλλαλαααλαλββαλαβλ又活塞位移曲线如图3所示图3 活塞位移曲线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=⋅⋅=⋅==活塞速度曲线如图4所示图4 活塞速度曲线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 -≈⎪⎭⎫ ⎝⎛+-=-'+'=λλωαλαω 活塞加速度曲线如图5所示图5 活塞加速度曲线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 受力分析 3.2.1 活塞气体力活塞气体力 ()h g g F p p P ⋅-=010 N其中:g p 缸内气体压力 bar (1bar=5101⨯pa);0p 大气压力 一般取0p =1bar ;04.65104911042222≈⨯⋅=⨯=--ππD F h cm 2活塞气体力曲线如图6所示图6 活塞气体力曲线3.2.2 往复惯性力往复运动质量 '''3.0m m m j ⋅+=,连杆质量—活塞组质量,—m m ''' 563.046.03.0425.0=⨯+= kg 往复惯性力 ()2cos cos2j j P m r ωαλα=-⋅⋅+⋅ 往复惯性力曲线如图7所示图7 往复惯性力曲线3.2.3 活塞侧压力及连杆力气体压力与往复惯性力作用在气缸中心线上,将往复惯性力用单位活塞面积的力计量,则合成的单位活塞面积的力为:()αλαω2cos cos 2+-=+=hj g j g F r m p p p pk t p p l n 、、、对曲轴连杆机构的作用如右图所示。
第三章曲柄机构受力分析3.1曲柄连杆机构运动学曲柄连杆机构的任务是将活塞的往复运动转化为曲柄的旋转运动,在往复活塞式汽车发动机中基本上采用两种曲柄连杆机构;中心曲柄连杆机构;偏心曲柄连杆机构。
(l)、中心曲柄连杆机构:其气缸轴线通过曲轴轴线。
这种机构的运动特性完确定,其中r为曲柄半径,L为连杆长度(连杆大小头孔中心间距全由连杆比λ=rι离)(2)、偏心曲柄连杆机构:其气缸轴线偏离曲柄轴线。
这种机构的特性参数除连杆比λ,还有偏心率ξ=℮,其中ℯ为气缸轴线相对曲轴轴γ线的偏移量。
下面讨论应用最广泛的中心曲柄连杆结构的运动学。
3.1.1中心曲柄连杆机构运动学中心曲柄连杆机构在汽车发动机中应用最广泛。
机构简图如图3一1所示。
它在运动时,活塞A作往复直线运动,曲柄OB作旋转运动,连杆AB作平面复合运动。
研究曲柄连杆机构图运动学的重点是研究活塞的运动规律,因为曲柄的运动状态比较简单,连杆的运动虽然较复杂,但可把它看成一部分随活塞A运动,另一部分随连杆轴径B运动,其运动所引起的其他后果对我们所研究的问题影响较小。
图3一2中,O点表示曲轴中心,A点表示活塞销中心位置、也就是活塞的位置,OB表示曲柄半径:,AB表示连杆长度l。
曲柄转角α是从气缸轴线顺着曲柄转动方向度量。
当α二0º时,对应的Aˊ和Βˊ表示活塞和连杆轴径在上止点位置;当α﹦180º时,对应的Aˊ和Βˊ表示活塞和连杆轴径在下止点位置。
β为连杆轴线偏离气缸轴线的角度,称为连杆摆动角,逆时针为正、顺时针为负。
下面分别研究曲柄、活塞和连杆的运动规律:1、曲柄运动通常近似地认为汽车发动机中曲柄是作匀谏转动,其转角α=360π60t=6nt度。
式中t表示时间,n表示汽车发动机转速(转/分)。
角速度ω=dαdt =πn30弧度/秒≈常数。
因为认为曲柄是作匀速转动,所以ω一个参数确定了曲轴的运动状态。
2、活塞位移从图3一2可知,活塞位移:Χ=ΑΑ=ΑΟ−ΑΟ=ΑΟ−ΑC−CO=r+L−r cosα−L cosβ=r1+1λ−cosα+1λcosβ由上式知,位移x与r有关,不同型号的汽车发动机r是不一样的,为了便于比较分析不同大小汽车发动机活塞位移变化规律,常引用无量纲位移(又称位移系数)χ=χr,即用χ与r的相对值表示变化规律。
各专业全套优秀毕业设计图纸汽车设计课程设计说明书题目:曲柄连杆机构受力分析设计者:学号:指导教师:吴参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();}。