曲柄(导杆)滑块机构设计分析正文.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
1 引言
1.1 选题的依据及意义·························································································(1)1.2 国内外研究概况及发展趋势··········································································(2)1.3 论文主要工作·······························································································(3)
2 曲柄(导杆)滑块机构简介····································································(4)
3 曲柄(导杆)滑块机构的运动学分析
3.1 曲柄导杆滑块机构的运动分析······································································(5)3.1.1 机构装配的条件····················································································(6)3.1.2 建立数学模型·························································································(6)3.1.3 计算机辅助分析及其程序设计······························································(9)3. 2曲柄滑块机构的运动分析
3.2.1 机构装配的条件·····················································································(25)3.2.2 建立数学模型·······················································································(25)3.2.3 计算机辅助分析及其程序设计·····························································(27)4 曲柄(导杆)滑块机构实验台装置设计
4. 1 实验台结构·································································································(40)4.2 实验台硬件操作说明···················································································(41)4.3 用SolidWorks 2006实现实验台的立体图形················································(42)总结·········································································································(46)参考文献·········································································································(47)致谢·········································································································(48)
1 引言
1.1 选题的依据及意义
1.曲柄(导杆)滑块机构定义
曲柄滑块机构是铰链四杆机构的演化形式,由若干刚性构件用低副(回转副、移动副)联接而成的一种机构。

是由曲柄(或曲轴、偏心轮)、连杆、滑块通过移动副和转动副组成的机构。

2.曲柄(导杆)滑块机构的特性及应用
常用于将曲柄的回转运动变换为滑块的往复直线运动;或者将滑块的往复直线运动转换为曲柄的回转运动。

对曲柄滑块机构进行运动特性分析是当已知各构件尺寸参数、位置参数和原动件运动规律时,研究机构其余构件上各点的轨迹、位移、速度、加速度等,从而评价机构是否满足工作性能要求,机构是否发生运动干涉等。

曲柄滑块机构具有运动副为低副,各元件间为面接触,构成低副两元件的几何形状比较简单,加工方便,易于得到较高的制造精度等优点,因而在包括煤矿机械在内的各类机械中得
到了广泛的应用,如自动送料机构、冲床、内燃机空气压缩机等。

3.传动特点
曲柄(导杆)滑块机构具有以下一些传动特点:
(1)曲柄(导杆)滑块机构中的运动副一般均为低副。

低副两运动副元素为面接触,压强较小,故可承受较大的载荷;且有利于润滑,磨损较小;此外,运动副元素的几何形状较简单,便于加工制造。

(2)在曲柄(导杆)滑块机构中,当原动件的运动规律不变,可用改变各构件的相对长度来使从动件得到不同的运动规律。

(3)在曲柄(导杆)滑块机构中,连杆上各点的轨迹是各种不同形状的曲线,其形状还随着各构件相对长度的改变而改变,从而可以得到形式多的连杆曲线,我们可以利用这些曲线来满足不同轨迹的设计要求。

(4)此外,曲柄(导杆)滑块机构还可以很方便地用来达到增力、扩大行程和实现远距离传动等目的。

(5)另外,虽然可以利用连杆来满足一些运动规律和运动轨迹的设计要求,但其设计却是十分困难的,且一般只能近似地得以满足。

正因为如此,所以如何根据最优化方法来设计连杆机构,使其能最佳地满足设计要求,一直是连杆机构研究的一个重要课题。

4.曲柄(导杆)滑块机构的研究意义
平面曲柄(导杆)滑块机构是一种常用的机构,有着广泛的应用。

对这个问题做出深入的研究是有意义的。

对于给定对应位移的平面曲柄──滑块机构进行综合,通常采用位置矩阵法和图解法。

利用位移矩阵法求解,需要求解非线性方程组。

不仅要给出迭代初值,而且只能求出一个解。

利用几何法作图法对于给定曲柄和滑块两对、三对对应位置关系设计曲柄──滑块机构的问题,可以十分简单地加以解决。

而对于复杂的问题,如要求曲柄和滑块实现四对五对对应位置,这时用作图法是难以实现的。

在研究用曲柄──滑块机构的相对极与曲柄转角及滑块位移的基础上,采用计算机符号推导,能导出了平面曲柄──滑块机构综合问题的一元三次方程。

从而不给初值就可以求出问题的全部解。

连续法则通过构造初始方程,采用二次齐化技术求出了全部解。

研究该机构的方法众多,不同的方法其侧重点不一样但是都具有很大的研究意义。

1.2国内外研究概况及发展趋势
1.曲柄(导杆)滑块机构设计的基本问题
曲柄(导杆)滑块机构设计的基本问题是根据给定的要求选定机构的型式,确定各构件的尺寸,同时还要满足结构设计(如要求存在曲柄、杆长比恰当等),动力条件(如适当的传动角等)和运动连续条件等。

根据机械的用途和性能要求的不同,对曲柄滑块机构设计的要求是多种多样的,但这些设计要求可归纳为以下三类问题:
(1)满足预定的运动规律要求如要求连架杆的转角能够满足预定的对应位置关系;或要求在原动件运动规律一定的条件下,从动件能够准确地或近似地满足预定的运动规律要求。

(2)满足预定的滑块位置要求即要求连杆能占据一系列的预定位置。

因这类设计问题要求机构能引导连杆按一定方位通过预定位置,故又成为刚体引导问题。

(3)满足预定的轨迹要求即要求在机构运动过程中,连杆上某些点的轨迹能符合预定的轨迹要求。

曲柄(导杆)滑块机构的设计方法有解析法、作图法、和实验法。

2.研究概况
近年来对平面曲柄(导杆)滑块机构的研究,不论从研究范上还是方法上豆油很大进展。

已不再局限于单自由度机构的研究,也已经注意到对多自由度平面机构的研究,并已提出了一些有关这类机构的分析及综合的方法。

在设计要求上已不再局限于运动学要求,而是同时兼顾机构的动力学特性,特别是对于高速机械,考虑构件弹性变形的运动弹性动力学也得到很快的发展。

在研究方法上,优化方法和计算机辅助设计的应用已成为研究曲柄滑块机构的重要方法,并已相应地编制出大量的,适用范围广、计算机时少、使用方便的通用软件。

随着计算机技术的发展和现代数学工具的日益完善,以前不容易解决的复杂平面曲柄滑块机构的设计问题,正在逐步得到解决。

曲柄(导杆)滑块机构是各种机器装置中一种常用的传动机构.然而,机构的运动学性能分析比较困难,难以在机构设计完成之后准确判定其性能.借助于功能强大的分析仿真软件MATLAB,可以方便的实现机构性能分析和动态仿真,降低分析的难度,有效提高设计工作效率、产品开发质量,降低开发成本.
3. 发展趋势
为适应生产发展的需要,当前在自控机构、机器人机构、仿生机构、柔性及弹性机构和机电光液综合机构等的研制声有很大进展。

在机械的分析与综合中,也由只考虑其运动性能过渡到同时考虑其动力性能;考虑到机械在运转时,构件的振动和弹性变形,运动副中的间隙和构件的误差对机械运动及动力性能的影响;以及如何对构件和机械进一步作好动力平衡的问题等等。

在连杆机构方面重视了对空间连杆机构、多杆多自由度机构、连杆机构的弹性动力学和连杆机构的动力平衡的研究,而其中就非常重视对曲柄滑块机构的研究。

为了获得传动性能好的曲柄滑块机构,在曲柄(导杆)滑块机构运动规律的开发、选择和组合上作了很多工作。

此外,为了适应现代机械高速度、快节拍、优性能的需要,还发展了高速高定位精度的分度机构,具有优良的综合性能的组合机构,以及各种机构的变异和组合等等。

1.3 论文主要工作
1.研究内容
本课题是通过使用VB软件对曲柄(导杆)滑块机构进行软件设计,该软件可对曲柄滑块机构进行参数化设计,并进行运动分析,而且实验设备能满足不同运动参数的要求。

机构的运动参数直接反映了机器的工作性能。

机构的运动参数是指:位移、速度、加速度三个参数。

通过位移分析,可以确定机构的外廓、某些构件运动所需的空间,考察某构件位置的变化;通过速度分析,可以确定机构中从动件的速度变化规律;通过加速度分析,可以确定机构各构件及构件上某些点的加速度,了解机构加速度的变化规律,是计算惯性力进行动力分析、考察机构动力平衡、防止振动和噪声的基础。

另外,本课题要求用Solidworks软件对曲柄(导杆)滑块机构的实验台进行设计。

2.实验方案
(1)曲柄导杆滑块机构
1)画出曲柄导杆滑块机构的运动简图。

2)分析曲柄导杆滑块机构在本课题中机构进行装配的条件。

3)根据已知参数对曲柄导杆滑块机构进行运动分析,解出各杆件的运动参数。

4)结合机构运动简图设计出VB界面。

5)结合机构装配条件和各运动参数之间的关系对机构进行主程序设计。

(2)曲柄滑块机构
1)画出曲柄滑块机构的运动简图。

2)分析曲柄滑块机构在本课题中机构进行装配的条件。

3)根据已知参数对曲柄滑块机构进行运动分析,解出各杆件的运动参数。

4)结合机构运动简图设计出VB界面。

5)结合机构装配条件和各运动参数之间的关系对机构进行主程序设计。

(3)实验台设计
1)测量实验台各零件的尺寸并记录下来。

2)根据所测的数据用Solidworks画出零件图。

3)组装各零件,画出装配图。

2 曲柄(导杆)滑块机构简介
曲柄导杆滑块机构是由曲柄导杆机构和曲柄滑块机构合成的组合机构,其模型如图2.1所示。

在曲柄导杆滑块机构中,曲柄是原动件,滑块是从动件,通过导杆、摇杆,曲柄的连续转动转变成滑块的往复移动,该组合机构仍具有曲柄导杆的急回特性。

曲柄导杆滑块机构是一种常用的组合机构,如用于平面切削加工的牛头刨床、搓削螺钉的螺钉搓床、回转式液压拨泵、插床等机器中都采用了这种机构。

图2.1 曲柄导杆滑块机构模型图2.2 曲柄滑块机构模型
曲柄导杆滑块机构还可以拆装成曲柄滑块机构,曲柄滑块机构可以认为是由曲柄摇杆机构演化而来的,其模型如图2.2所示。

当四杆机构中有一连架杆为曲柄,另一连架杆相对机架作往复移动而成为滑块时,此四杆机构称为曲柄滑块机构。

若滑块上的转动副中心轨迹线通过曲柄转动中心,则称为对心曲柄滑块机构。

若滑块上的转动中心轨迹线偏离曲柄转动中心,则称为偏置曲柄滑块机构。

在曲柄滑块机构中,曲柄是原动件,滑块是从动件,通过连杆,曲柄的连续转动转变成滑块的往复移动。

曲柄滑块机构在工程中应用广泛,内燃机、往复式抽水机、空气压缩机及冲床等机器中都应用了曲柄滑块机构。

其他机械上也常常应用曲柄滑块机构如小型收割及格中的切割机构即可简化为曲柄滑块机构。

3 曲柄(导杆)滑块机构的运动学分析
机构运动分析的任务是在已知机构尺寸及原动件运动规律的情况下,确定机构中其他构件上某些点的轨迹、位移、速度及加速度和构件的角位移、角速度及角加速度。

上述这些内容,无论是设计新的机械,还是为了了解现有机械的运动性能,都是十分必要的,而且它还是研究机械动力性能的必要前提。

通过对机构的位移和轨迹分析,可以考察某构件能否实现预定的位置、构件上的某点能否实现预定的轨迹要求,可以确定从动件的行程或所需的运动空间,据此判断运动中是否发生碰撞干涉或确定机构的外廓尺寸。

通过速度和加速度分析可以了解机构从动件的速度、加速度变化规律能否满足工作要求。

如在设计牛头刨床的导杆机构时,为了保证加工质量和延长刀具寿命,要求刨刀在切削过程中接近于等速运动;而为了提高生产率,又要求刀具的空回行程具有急回特性,为此就必须进行速度和加速度分析。

机械运动分析的方法很多,主要有图解法和解析法。

当需要简捷直观地了解机构的某个或某几个位置的运动特性时,采用图解比较方便,而且精度也能满足实际问题的要求。

而当需要精确地知道或要了解机构在整个运动循环过程中的运动特性时,采用解析法并借助计算机,不仅可获得很高的计算精度及一系列位置的分析结果,并能绘出机构相应的运动线图,同时还可以把机构分析和机构综合问题联系起来,以便于机构的优化设计。

随着计算机技术和数值方法的发展,不仅解析法运算冗繁的困难得以解决,而且采用电算应用。

本毕业设计课题中,需要绘出机构从动件的运动线图,所以选用解析法分析为宜。

3.1曲柄导杆滑块机构的运动分析
曲柄导杆滑块机构运动学分析如图3.1所示,已知各杆的长度1l 、3l 、4l 支架高度差h 滑块5导杆的偏心距e 及原动件AB 的角位移1φ和等角速度1ω,分析构件2、5的位移2s 、5s 速度2v 、5v 加速度2a 、5a 和构件3、4的角位移3φ、4φ角速度3ω、4ω角加速度3ε、4ε。

图3.1 曲柄导杆滑块机构运动简图
3.1.1机构装配的条件
a 曲柄导杆部分要求AB 能在整个圆周内运动,必须使13l h l +<
b 曲柄导杆部分要求CD 只在一定范围内摆动,必须使 1l h <
c 曲柄滑块部分要求CD 摆动时,滑块至少能通过Y 轴,必须使 34l e h l +-<
3.1.2 建立数学模型
如图3所示,为方便起见,取以A 为原点,X 轴与机架AC 垂直的直角坐标系。

各杆指定一个矢量指向,且以X 轴正向为基准,按逆时针方向为正取各杆的角位移。

在规定各杆矢量指向时,建议与固定铰链相联结的连架杆矢量由固定铰链向外,其余杆件矢量指向任取。

则该导杆机构构成了两个封闭矢量多边形ABCA 和CDEFC 。

(1) 求2s 、2v 、2a 和3φ、3ω、3ε
由封闭形ABCA 可得:
(a)
分别用i 和
j 点积上式两端:
联立以上两式:
要求曲柄导杆部分为摆动曲柄导杆机构1h l >所以式
中分子为正,分母可正可负,由图可知3φ在第一或第二象限:
时,
时,
11231123cos cos sin sin l s h l s φφφφ=⎧⎨+=
⎩113112sin arctan cos h l l s φφφ+⎧=⎪⎨⎪=⎩1111sin arctan cos h l l φφ+1111sin arctan 0cos h l l φφ+<11311sin arctan cos h l l φφ
πφ+=+ 1111sin arctan 0cos h l l φφ+>11311sin arctan cos h l l φφφ+=12h l s +=
式(a )对时间t 取导:
323231
11e v e s e l t t +=ωω (b) 用3e 点积上式两端消去3ω:
用3t e 点积上式(b )两端消去23B B v ,注意 1313
t t
e e e e ⋅=⋅
(c)
在将式(b )对时间t 取导:
分别用3e 和3t e 点积上式两端,消去3ε或23r B B a 注意 1313n t t e e e e ⋅=-⋅
解得:
(2) 求4φ、4ω、4ε和5s 、5v 、5a
由封闭形CDEFC 可得:
(d)
111332cos()l s ωφφω-=
1221113322321313232
cos()sin()2r B B l s a l s v ωφφωωφφεω⎧--=-+⎪⎨-=+⎪⎩22223321113211313232cos()sin()2r B B a a s l l v s ωωφφωφφωε⎧==--⎪⎨--=⎪⎩2231113sin()B B v v l ωφφ==--221113233233232332n t n t r B B l e s e s e v e a e ωεωω=+++345l l h e s +=-+
分别用i 和j 点积上式两端:
联立以上两式,解得:
由图可知4φ在第四象限, 40φ< 所以
式(d )对时间t 取导:
(e)
分别用j 、4e 点积上式:
式(e )对时间t 求导,可得:
分别用j 、4e 点积上式:
33445
3344cos cos sin sin l l s l l h e
φφφφ+=⎧⎨+=-
⎩453344
sin arctan cos cos l h e
s l l φφφφ-+-
⎧=⎪⎨⎪=+
⎩4arctan
2φπ=+3334445t t
l e l e v i ωω+=333
444
333454
cos cos sin()
cos l l l v ωφωφωφφφ-⎧
=
⎪⎪⎨--⎪=⎪⎩223333334444445t n t n
l e l e l e l e a i
εωεω+++=
(3)ABCDE 各点坐标
已知各杆长度、角位移、滑块位移和他们的相对位置,可以求出各点坐标如下: A 点:0A x =,0A y = B 点:11cos B
x l φ=,11sin B y l φ=
C 点:0C x =,C y h =-
D 点:33cos D x l φ=,33sin D y l h φ=-
E 点:5E x s =,E y e =- 3.1.3 计算机辅助分析及其程序设计
曲柄导杆滑块机构的运动分析要求有在不同参数下的结构模型,运动线图,动态仿真效果,以及输出在某个角度的各个杆件的参数。

根据这一要求,需采用VB 程序设计软件。

(1)VB 界面设计
图3.2为曲柄导杆滑块机构的运动分析界面。

界面中含有“结构模型”、“运动线图”、“动态仿真”三个选项卡。

用户在输入已知参数(已知数据有默认数据),点击“运行”按扭,程序即进行有关运算。

在输出数据这一栏将显示各杆件的位移(角位移)、速度(角速度)、加速度(角加速度)。

点击“结构模型”选项卡,则在“Picture ”控件中显示机构在该运动参数下的结构,如图3.3所示;点击“运动线图”选项卡,则在“Picture ”控件中显示机构从动件滑块的位移、速度和加速度曲线,如图3.4所示;点击“动态仿真”选项卡,并单击“演示”按扭,则在“Picture ”控件中显示仿真机构运动情况,如图3.5所示,若改变曲柄转向,机构运动仿真也随之改变。

单击“退出”按扭,系统输出数据为空白。

从新输入数据,继续下一组实验。

界面中主要控件名称及相关说明如表3.1所示。

2233344433344422443334333454sin sin cos cos sin()cos()cos l l l l l l l a ωφωφεφεφωεφφωφφφ⎧+-=⎪⎪⎨----⎪=⎪⎩
图3.2 曲柄导杆滑块机构运动分析的VB界面
图3.3 结构模型
图3.4 从动件位移、速度、加速度曲线
图3.5 动态仿真
(2)主程序设计
变量声明
Dim m1 As Integer
Private jdu As Integer
Const pi = 3.141592653
Const rh = pi / 180
Const rj = 180 / pi
Dim jw1(0 To 360), w2(0 To 360), jw3(0 To 360), jw4(0 To 360), w5(0 To 360) Dim js1(0 To 360), s2(0 To 360), js3(0 To 360), js4(0 To 360), s5(0 To 360) Dim jj1(0 To 360), j2(0 To 360), jj3(0 To 360), jj4(0 To 360), j5(0 To 360) Dim bzhi As Integer
窗体加载主程序
Private Sub Form_Load()
Combo1.AddItem "逆时针"
Combo1.AddItem "顺时针"
Timer1.Enabled = False
End Sub
运行按扭主程序
Private Sub Command1_Click()
Dim l1, l3, l4, h, e, n1, jw11 As Integer
Dim i As Integer
bzhi = 1
l1 = Val(Txt1.Text)
l3 = Val(Txt2.Text)
l4 = Val(Txt3.Text)
h = Val(Txt4.Text)
e = Val(Txt5.Text)
n1 = Val(Txt6.Text)
jw11 = Val(Txt7.Text)
Timer1.Interval = 1000 / n1
If Txt1.Text = "" Or Txt2.Text = "" Or Txt3.Text = "" Or Txt4.Text = "" Or Txt5.Text = "" Or Txt6.Text = "" Or Txt7.Text = "" Then
MsgBox "请全部输入数据!", 48, "提示"
bzhi = 0
Exit Sub
End If
If Combo1.Text = "" Then
MsgBox "请选择转向!", 48, "提示"
bzhi = 0
Exit Sub
End If
If Combo1.Text = "逆时针" Then m1 = 1
If Combo1.Text = "顺时针" Then m1 = 0
Rem 机构装配条件
If l1 >= h Or l1 + l3 < h Or l4 < l3 - (h - e) + 1 Or l3 + l4 < h - e Or l1 + h > l3 Or e > h Then
MsgBox "机构无法装配", 48, "错误"
bzhi = 0
Exit Sub
End If
Dim mm As Integer
mm = 360
For i = 0 To 360
Call ydzcx(i, mm, l1, l3, l4, h, e, n1, w2(), jw3(), jw4(), w5(), s2(), js3(), js4(), s5(), j2(), jj3(), jj4(), j5())
Next i
jdu = jw11
Rem 减小数值的有效位数由文本框显示
Text1.Text = Mid$(Str$(w2(jdu)), 1, 5)
Text2.Text = Mid$(Str$(jw3(jdu) * rj), 1, 5)
Text3.Text = Mid$(Str$(jw4(jdu) * rj), 1, 5)
Text4.Text = Mid$(Str$(w5(jdu)), 1, 5)
Text5.Text = Mid$(Str$(s2(jdu)), 1, 8)
Text6.Text = Mid$(Str$(js3(jdu)), 1, 8)
Text7.Text = Mid$(Str$(js4(jdu)), 1, 8)
Text8.Text = Mid$(Str$(s5(jdu)), 1, 8)
Text9.Text = Mid$(Str$(j2(jdu)), 1, 10)
Text10.Text = Mid$(Str$(jj3(jdu)), 1, 10)
Text11.Text = Mid$(Str$(jj4(jdu)), 1, 10)
Text12.Text = Mid$(Str$(j5(jdu)), 1, 10)
Rem 调用模块绘制运动曲线及静态图
Call ddraw3(l1, l3, l4, h, e, jdu, jw3(), w5(), Picture3)
Call ddraw2(jdu, n1, w5(), s5(), j5(), Picture2)
jdu = jw11
End Sub
演示按扭主程序
Private Sub Command2_Click()
If bzhi = 1 Then
If Txt1.Text = "" Or Txt2.Text = "" Or Txt3.Text = "" Or Txt4.Text = "" Or Txt5.Text = "" Or Txt6.Text = "" Or Txt7.Text = "" Or Combo1.Text = "" Then
MsgBox "请输入数据", 48, "输入数据"
ElseIf Command2.Caption = "演示" Then
Timer1.Enabled = True
Command2.Caption = "暂停"
Else
Timer1.Enabled = False
Command2.Caption = "演示"
End If
If Text1.Text = "" Then
MsgBox "请先单击运行", 48, "提示"
Timer1.Enabled = False
Command2.Caption = "演示"
End If
Else
MsgBox "请先单击运行", 48, "警告"
Timer1.Enabled = False
Command2.Caption = "演示"
Exit Sub
End If
End Sub
退出按扭主程序
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text12.Text = ""
Picture1.Picture = Nothing
Picture2.Picture = Nothing
Picture3.Picture = Nothing
Timer1.Enabled = False
Command2.Caption = "演示"
Combo1.Text = "逆时针"
End Sub
时间控件主程序
Private Sub timer1_timer()
Dim l1, l3, l4, h, e
l1 = Val(Txt1.Text): l3 = Val(Txt2.Text) l4 = Val(Txt3.Text)
h = Val(Txt4.Text)
e = Val(Txt5.Text)
If Combo1.Text = "逆时针" Then jdu = jdu + 1
If jdu >= 360 Then
jdu = 0
End If
End If
If Combo1.Text = "顺时针" Then jdu = jdu - 1
If jdu <= 0 Then
jdu = 360
End If
End If
Call ddraw3(l1, l3, l4, h, e, jdu, jw3(), w5(), Picture1)
End Sub
选项卡按扭主程序
Private Sub Tabstrip1_Click()
l1 = Val(Txt1.Text): l3 = Val(Txt2.Text): l4 = Val(Txt3.Text)
h = Val(Txt4.Text): e = Val(Txt5.Text): jdu = jw11: n1 = Val(Txt6.Text) Select Case TabStrip1.SelectedItem.Key
Case "结构模型"
If Text1.Text = "" Then
Picture3.Picture = Nothing
Else
Picture3.ZOrder 0
jdu = Val(Txt5.Text)
Call ddraw3(l1, l3, l4, h, e, jdu, jw3(), w5(), Picture3)
End If
Case "运动线图"
If Text1.Text = "" Then
Picture2.Picture = Nothing
Else
Picture2.ZOrder 0
jdu = Val(Txt5.Text)
Call ddraw2(jdu, n1, w5(), s5(), j5(), Picture2)
End If
Case "动态仿真"
Picture1.ZOrder 0
End Select
End Sub
(3)子程序设计
计算从动件的运动参数子程序
Public Sub ydzcx(i, max, l1, l3, l4, h, e, n1, w2(), jw3(), jw4(), w5(), s2(), js3(), js4(), s5(), j2(), jj3(), jj4(), j5())
Dim jw1(0 To 360)
Dim j1
Dim js1(0 To 360)
If i > max Then Exit Sub
jw1(i) = i * rh: j1 = jw1(i)
w2(i) = Sqr(h ^ 2 + l1 ^ 2 + 2 * h * l1 * Sin(j1))
jw3(i) = Atn((h + l1 * Sin(j1)) / (l1 * Cos(j1)))
If jw3(i) < 0 Then
jw3(i) = jw3(i) + pi
End If
jw4(i) = Atn((-1 * l3 * Sin(jw3(i)) + h - e) / Sqr(l4 ^ 2 - (l3 * Sin(jw3(i)) + e - h) ^ 2))
If jw4(i) < 0 Then
jw4(i) = jw4(i) + 2 * pi
End If
w5(i) = l3 * Cos(jw3(i)) + l4 * Cos(jw4(i))
Rem 求位移
Dim c1, c3, c4, s1, s3, s4 As Single
Dim j3, j4, w1
j1 = jw1(i)
j3 = jw3(i)
j4 = jw4(i)
w1 = (pi * n1) / 30
s2(i) = -l1 * w1 * Sin(jw1(i) - jw3(i))
js3(i) = (l1 * w1 * Cos(jw1(i) - jw3(i))) / w2(i)
js4(i) = -1 * l3 * Cos(jw3(i)) * js3(i) / (l4 * Cos(jw4(i)))
s5(i) = -1 * l3 * js3(i) * Sin(jw3(i)) - l4 * js4(i) * Sin(jw4(i))
j2(i) = w2(i) * w1 ^ 2 - l1 * w1 ^ 2 * Cos(jw1(i) - jw3(i))
jj3(i) = (-2 * s2(i) * js3(i) - l1 * w1 ^ 2 * Sin(jw1(i) - jw3(i))) / w2(i)
jj4(i) = (l3 * js3(i) ^ 2 * Sin(jw3(i)) - l3 * jj3(i) * Cos(jw3(i)) + l4 * js4(i) ^ 2 *
Sin(jw4(i))) / (l4 * Cos(jw4(i)))
j5(i) = (l4 * (js4(i)) ^ 2 - jj3(i) * l3 * Sin(jw3(i) - jw4(i)) - l3 * (js3(i)) ^ 2 * Cos(jw3(i) - jw4(i))) / Cos(jw4(i))
End Sub
绘制从动件运动线图子程序
Public Sub ddraw2(ii, n1, w5(), s5(), j5(), Picture2)
Rem 建立加速度坐标系
Picture2.Cls
Picture2.DrawWidth = 2
Picture2.Scale (-29, 32)-(44, -25)
Picture2.Line (-28, 0)-(43, 0)
Picture2.Line (0, 28)-(0, -22), vbBlue
Picture2.CurrentX = 34: Picture2.C urrentY = 3: Picture2.Print "Φ(°)"
Picture2.CurrentX = 2: Picture2.CurrentY = 30: Picture2.Print "a(mm/s^2)"
Picture2.Line (40, 1)-(43, 0)
Picture2.Line (40, -1)-(43, 0)
Picture2.Line (-1, 25)-(0, 28), vbBlue
Picture2.Line (1, 25)-(0, 28), vbBlue
For i = 0 To 40 Step 40 / 6
Picture2.Line (i, 1)-(i, 0)
Picture2.CurrentX = i - 4: CurrentY = -2: Picture2.Print 360 * i / 40
Next i
Picture2.CurrentX = -22: Picture2.CurrentY = -22
Picture2.Print "绿线--位移红线--速度蓝线--加速度"
Rem 建立速度坐标系
Picture2.Line (-13, 28)-(-13, -22), vbRed
Picture2.CurrentX = -13: Picture2.CurrentY = 30: Picture2.Print "v(mm/s)"
Picture2.Line (-12, 25)-(-13, 28), vbRed
Picture2.Line (-14, 25)-(-13, 28), vbRed
Rem 建立位移坐标系
Picture2.Line (-26, 28)-(-26, -22), vbGreen
Picture2.CurrentX = -26: Picture2.CurrentY = 30: Picture2.Print "s(mm)" Picture2.Line (-25, 25)-(-26, 28), vbGreen
Picture2.Line (-27, 25)-(-26, 28), vbGreen
For i = -20 To 20 Step 5
Picture2.Line (1, i)-(0, i), vbBlue
Picture2.Line (-12, i)-(-13, i), vbRed
Picture2.Line (-25, i)-(-26, i), vbGreen
Next i
Dim rx, rms, rmv, rma
rx = 40 / 360
Dim ms, ma, mv
For ii = 0 To 360
If Abs(w5(ii)) > Abs(ms) Then
ms = Abs(w5(ii))
End If
If Abs(s5(ii)) > Abs(mv) Then
mv = Abs(s5(ii))
End If
If Abs(j5(ii)) > Abs(ma) Then
ma = Abs(j5(ii))
End If
Next ii
rms = 20 / ms: rmv = 20 / mv: rma = 20 / ma
Rem 绘图
For ii = 1 To 359
Picture2.Line (ii * rx, w5(ii) * rms)-((ii + 1) * rx, w5(ii + 1) * rms), vbGreen Picture2.Line (ii * rx, s5(ii) * rmv)-((ii + 1) * rx, s5(ii + 1) * rmv), vbRed Picture2.Line (ii * rx, j5(ii) * rma)-((ii + 1) * rx, j5(ii + 1) * rma), vbBlue Next ii
For i = 5 To 20 Step 5
Picture2.CurrentX = 1: Picture2.CurrentY = i + 2
Picture2.Print Mid$(Str$(CCur((((ma * i / 20) * 100) \ 1) / 100)), 1, 10) Picture2.CurrentX = -12.5: Picture2.CurrentY = i + 2
Picture2.Print Mid$(Str$(CCur((((mv * i / 20) * 100) \ 1) / 100)), 1, 10) Picture2.CurrentX = -25.5: Picture2.CurrentY = i + 2
Picture2.Print Mid$(Str$(CCur((((ms * i / 20) * 100) \ 1) / 100)), 1, 10) Next i
For i = -5 To -20 Step -5
Picture2.CurrentX = 1: Picture2.CurrentY = i + 2
Picture2.Print Mid$(Str$(CCur((((ma * i / 20) * 100) \ 1) / 100)), 1, 10) Picture2.CurrentX = -12.5: Picture2.CurrentY = i + 2
Picture2.Print Mid$(Str$(CCur((((mv * i / 20) * 100) \ 1) / 100)), 1, 10) Picture2.CurrentX = -25.5: Picture2.CurrentY = i + 2
Picture2.Print Mid$(Str$(CCur((((ms * i / 20) * 100) \ 1) / 100)), 1, 10) Next i
End Sub
绘制机构静态及动态图子程序
Public Sub ddraw3(l1, l3, l4, h, e, i, jw3(), w5(), Picture1)
Dim j As Integer
Dim a1, a3 As Single
Dim xb, yb, xc, yc, xd, yd, xe, ye As Single
Dim rr As Single
rr = 40 / (l4 * 1.2)
Rem 建立坐标系
Picture1.Cls
Picture1.DrawWidth = 2
Picture1.Scale (-23, 29)-(60, -28)
Picture1.Line (0, 0)-(55, 0)
Picture1.Line (0, 28)-(0, -20)
Picture1.CurrentX = 55: Picture1.CurrentY = 2: Picture1.Print "X"
Picture1.CurrentX = 3: Picture1.CurrentY = 28: Picture1.Print "Y" Picture1.Line (52, 1)-(55, 0)
Picture1.Line (52, -1)-(55, 0)
Picture1.Line (-1, 25)-(0, 28)
Picture1.Line (1, 25)-(0, 28)
Picture1.CurrentX = 0: Picture1.CurrentY = 0
Picture1.Line -(-2, -3)
Picture1.Line (-5, -3)-(5, -3)
Picture1.Line (0, 0)-(2, -3)
For j = -3 To 5 Step 3
Picture1.CurrentX = j: Picture1.CurrentY = -3
Picture1.Line -(j - 3, -4)
Next j
Picture1.CurrentX = 0: Picture1.CurrentY = -1 * h * rr
Picture1.Line -(-2, -1 * h * rr - 3)
Picture1.Line (-5, -1 * h * rr - 3)-(5, -1 * h * rr - 3)
Picture1.Line (0, -1 * h * rr)-(2, -1 * h * rr - 3)
For j = -3 To 5 Step 3
Picture1.CurrentX = j: Picture1.CurrentY = -1 * h * rr - 3
Picture1.Line -(j - 3, -1 * h * rr - 4)
Next j
Picture1.Line (8, -1 * e * rr)-(55, -1 * e * rr)
For j = 0 To 6 Step 3
Picture1.CurrentX = 15 + j: Picture1.CurrentY = -1 * e * rr
Picture1.Line -(12 + j, -1 * e * rr - 1)
Next j
Rem 建立模型
Picture1.DrawWidth = 4
a1 = i * rh: a3 = jw3(i)
xb = l1 * rr * Cos(a1): yb = l1 * rr * Sin(a1)
xc = 0: yc = -1 * h * rr
xd = l3 * rr * Cos(a3): yd = l3 * rr * Sin(a3) - h * rr
xe = w5(i) * rr: ye = -1 * e * rr
Picture1.Line (0, 0)-(xb, yb), vbBlue
Picture1.Circle (0, 0), 0.5, vbYellow
Picture1.Line (xc, yc)-(xd, yd), vbRed
Dim xb1, yb1, xb2, yb2 As Single
Picture1.DrawWidth = 10
xb1 = xb - 5 * rr * Cos(a3)
xb2 = xb + 5 * rr * Cos(a3)
yb1 = yb - 5 * rr * Sin(a3)
yb2 = yb + 5 * rr * Sin(a3)
Picture1.Line (xb1, yb1)-(xb2, yb2), vbCyan
Picture1.Line (xe - 5 * rr, ye)-(xe + 5 * rr, ye), vbMagenta
Picture1.DrawWidth = 4
Picture1.Line (xd, yd)-(xe, ye), vbGreen
Picture1.FillStyle = 0
Picture1.FillColor = vbYellow
Picture1.DrawWidth = 4
Picture1.Circle (xc, yc), 0.5, vbYellow
Picture1.Circle (xb, yb), 0.5, vbYellow
Picture1.Circle (xd, yd), 0.5, vbYellow
Picture1.Circle (xe, ye), 0.5, vbYellow
Picture1.DrawWidth = 2
Picture1.CurrentX = -3: Picture1.CurrentY = 0: Picture1.Print "A" Picture1.CurrentX = xb + 2: Picture1.CurrentY = yb + 2: Picture1.Print "B" Picture1.CurrentX = -3: Picture1.CurrentY = yc: Picture1.Print "C" Picture1.CurrentX = xd + 2: Picture1.CurrentY = yd + 2: Picture1.Print "D" Picture1.CurrentX = xe: Picture1.CurrentY = ye - 2: Picture1.Print "E" End Sub
3. 2曲柄滑块机构的运动分析
曲柄滑块机构运动学分析如图3.6所示,已知各杆的长度1l 、2l 滑块3导杆的偏心距e 及原动件AB 的角位移1φ和等角速度1ω,分析构件2的角位移2φ、角速度2ω、角加速度2ε以及滑块3的位移2s 、速度2v 、加速度2a 。

图3.6 曲柄滑块机构运动简图
3.2.1机构装配的条件
形成曲柄滑块机构AB 为曲柄,必须要求AB 能在整个圆周内转动
12l h l +<
3.2.2建立数学模型
如图8所示,取以A 点为原点,X 轴与滑块导轨平行的直角坐标系。

各杆规定一个矢量指向,且以X 轴正向为基准、按逆时针方向为正取各杆的角位移。

在规定各杆矢量指向时,与固定铰链相联结的连架杆矢量由固定铰链向外。

其余杆件矢量指向任取。

则曲柄滑块机构中ABCDA 构成一个封闭的矢量多边形。

其封闭矢量方程为:
(f )
(1) 求2φ、2ω、2ε和3s 、3v 、3a
分别用i 和
j 点积上式两端:
12l l e s +=+
联立以上两式,解得:
由图可知2φ在第一象限或第四象限,
可正可负
时,
时,
式(f )时间t 取导:
(g)
分别用j 、2e 点积上式:
112231122cos cos sin sin l l s l l e
φφφφ+=⎧⎨
+=-⎩231
122sin arctan cos cos l e s l l φφφ
--⎧
=⎪⎨
⎪=+⎩sin arctan l e
φ--arctan
>2sin arctan l e φ--=arctan
<2sin arctan 2l e φπ
--=+ 1112223t t
l e l e v i ωω+=
式(g )对时间t 求导,可得:
分别用j 、2e 点积上式:
(2) ABC 三点坐标:
已知各杆长度、角位移、偏心距e 、滑块位移,ABC 三点坐标如下:
A 点:0A x =,0A y =
B 点:11cos B
x l φ=,11sin B y l φ=
C 点:3C x s =,C y e =-
3.2.3 计算机辅助分析及其程序设计 (1)VB 界面设计
图3.7为曲柄滑块机构的运动分析界面。

界面中含有“结构模型”、“运动线图”、“动态仿真”三个选项卡。

用户在输入已知参数(已知数据有默认数据),点击“运行”按扭,程序即进行有关运算。

在输出数据这一栏将显示各杆件的位移(角位移)、速度(角速度)、加速度(角加速度)。

点击“结构模型”选项卡,则在“Picture ”控件中显示机构在该运动参数下的结构,如图3.8所示;点击“运动线图”选项卡,则在“Picture ”控件中显示机构从动件滑块的位移、速度和加速度曲线,如图3.9所示;点击“动态仿真”选项卡,并单击“演示”按扭,则在“Picture ”控件中显示仿真机构运动情况,如图3.10所示,若改变曲柄转向,机构运动仿真也随之改变。

单击“退出”按扭,系统输出数据为空白。

从新输入数据,继续下一组实验。

界面中主要控件名称及相关说明如表3.2所示。

111222111232cos cos sin()cos l l l v ωφωφωφφφ-⎧
=⎪⎪⎨
--⎪=⎪⎩
222221112223t n n l e l e l e a i
εωω++=2211122222222
22111232sin sin cos cos()cos l l l l l a ωφωφεφωωφφφ⎧+=
⎪⎪
⎨--⎪=⎪⎩
图3.7 曲柄滑块机构运动分析的VB界面
图3.8 结构模型
图3.9从动件位移、速度、加速度曲线
图3.10 动态仿真
(2)主程序设计
变量声明
Dim m1 As Integer
Private jdu As Integer
Const pi = 3.141592653
Const rh = pi / 180
Const rj = 180 / pi
Dim jw1(0 To 360), jw2(0 To 360), w3(0 To 360)
Dim js1(0 To 360), js2(0 To 360), s3(0 To 360)
Dim jj1(0 To 360), jj2(0 To 360), j3(0 To 360)
Dim bzhi As Integer
窗体加载主程序
Private Sub Form_Load()
Combo1.AddItem "逆时针"
Combo1.AddItem "顺时针"
Timer1.Enabled = False
End Sub
运行按扭主程序
Private Sub Command1_Click()
Dim l1, l2, e, n1, jw11 As Integer
Dim i As Integer
bzhi = 1
l1 = Val(Txt1.Text)
l2 = Val(Txt2.Text)
e = Val(Txt3.Text)
n1 = Val(Txt4.Text)
jw11 = Val(Txt5.Text)
Timer1.Interval = 1000 / n1
If Txt1.Text = "" Or Txt2.Text = "" Or Txt3.Text = "" Or Txt4.Text = "" Or Txt5.Text = "" Then
MsgBox "请全部输入数据!", 48, "提示"
bzhi = 0
Exit Sub
End If
If Combo1.Text = "" Then
MsgBox "请选择转向!", 48, "提示"
bzhi = 0
Exit Sub
End If
If Combo1.Text = "逆时针" Then m1 = 1
If Combo1.Text = "顺时针" Then m1 = 0
Rem 机构装配条件
If l1 + e + 1 > l2 Then
MsgBox "机构无法装配", 48, "错误"
bzhi = 0
Exit Sub
End If
Dim mm As Integer
mm = 360
For i = 0 To 360
Call ydzcx(i, mm, l1, l2, e, n1, jw2(), w3(), js2(), s3(), jj2(), j3()) Next i
jdu = jw11
Rem 减小数值的有效位数由文本框显示
Text1.Text = Mid$(Str$(jw2(jdu) * rj), 1, 5)
Text2.Text = Mid$(Str$(w3(jdu)), 1, 5)
Text3.Text = Mid$(Str$(js2(jdu)), 1, 8)
Text4.Text = Mid$(Str$(s3(jdu)), 1, 8)
Text5.Text = Mid$(Str$(jj2(jdu)), 1, 10)
Text6.Text = Mid$(Str$(j3(jdu)), 1, 10)
Rem 调用模块绘制运动曲线及静态图
Call ddraw3(l1, l2, e, jdu, jw2(), w3(), Picture3)
Call ddraw2(jdu, n1, w3(), s3(), j3(), Picture2)
End Sub
演示按扭主程序
Private Sub Command2_Click()
If bzhi = 1 Then
If Txt1.Text = "" Or Txt2.Text = "" Or Txt3.Text = "" Or Txt4.Text = "" Or Txt5.Text = "" Or Combo1.Text = "" Then
MsgBox "请输入数据", 48, "输入数据"
ElseIf Command2.Caption = "演示" Then
Timer1.Enabled = True
Command2.Caption = "暂停"
Else
Timer1.Enabled = False
Command2.Caption = "演示"
End If
If Text1.Text = "" Then
MsgBox "请先单击运行", 48, "警告"
Timer1.Enabled = False
Command2.Caption = "演示"
End If
Else
MsgBox "请先单击运行", 48, "警告"
Timer1.Enabled = False
Command2.Caption = "演示"
Exit Sub
End If
End Sub
退出按扭主程序
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""。

相关文档
最新文档