VC++凸轮机构运动仿真编程示例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VC++凸轮机构运动仿真编程示例
一. 机构运动原理
1. 推杆从动件的运动规律(仅列出常用的四种运动规律)
表1-1 从动件的运动方程式
2. 偏置直动尖顶推杆盘形凸轮机构
如图所示,凸轮逆时针方向转动,导路偏置于凸轮转动中心A ,导路距转轴A 的垂直距离为偏距e 。以偏距e 为半径作的圆为偏距圆。当凸轮转动时,凸轮上的偏距圆也随之转动,但其始终与导路轴线相切。凸轮转动时不便求解其上的廓线方程,故采用反转法。反转法是建立在推杆与凸轮的相对运动与参考系无关这一原理上的。所谓反转法,即给整个机构一个与凸轮转向相反的角速度-ω1,则凸轮静止不动,而从动件随机架反转且沿凸轮廓线相对运动,导路的反转角ϕ即凸轮的转角。如图所示,此时导路由B K 00转到BK 。由于AK B K 000⊥,AK BK ⊥,所以∠=K AK 0ϕ,此时导路BK 与基圆和凸轮廓线的交点''B B 间的长度,即从动件
的位移s BB =''。由几何关系知∆∆B K A B KA 00='',所以s 0=''=B K )
(
r e
b 22
1
2
-。选取坐标
系xAy ,B 0点为凸轮廓线起始点。当凸轮转过ϕ角,由反转法知此时从动件位于BK 。则B 点的坐标为
)()(
X s s e Y s s e =++=+-⎧⎨
⎪⎩⎪00sin cos cos sin ϕϕ
ϕϕ
(1-1)
式(1-1)即为尖顶推杆凸轮廓线的方程式,也称为理论廓线方程。
3. 偏置直动滚子推杆盘形凸轮机构
大多数推杆在尖顶B 处装有滚子,以提高推杆的使用寿命。显然,只要使滚子中心B 沿理论廓线曲线上运动,即可保证推杆预期的运动规律。如图所示,此时凸轮的轮廓曲线不是理论廓线,而是处处与滚子相切的另一条曲线,这条曲线称为凸轮的实际廓线。因为实际廓线与理论廓线在法线方向的距离处处相等,且等于滚子半径r r ,故当已知廓线上任一点B )(x y ,时,只要沿理论廓线在该点法线方向取距离为r r ,即得实际廓线上的相应点)('''B x y ,。由此可见,理论廓线上作一系列滚子圆的包络线即实际廓线。因此实际廓线是理论廓线的等距曲线。该等距曲线有两条,即内等距曲线和外等距曲线。
盘状槽形凸轮的廓线即该两条等距曲线。由高等数学知识可求得理论廓线B 点处法线n -n 的斜率(与切线斜率互为负倒数)应为
()()
tan θϕϕ=-
=-d d d d d d x y x y (1-2)
式(1-2)中的dx/dy 与dy/dx 可根据式(1-1)求出,代入式(1-2)后有 ()()()()tan sin cos sin cos θϕϕ
ϕϕ
=
-+++--d d s e s s s s s e 00 (1-3)
式(8-10)中的θ角可在0360 ~变化,其值要根据分子、分母的正负号所决定的tan θ所在象限来计算。求出θ角后,可计算()'''B x y ,的坐标值:
'=±'=±⎧⎨
⎩
x x r y y r r r cos sin θ
θ (1-4) 式中“-”号为内等距曲线,“+”号为外等距曲线。式(8-11)即为凸轮的实际廓线方程
式。此时实际廓线的基圆半径r 0等于理论廓线的基圆半径r b 与滚子半径r r 之差:
r r r 0=-b r
4. 机构运动的基本原理
前面计算出了凸轮机构的坐标点,当凸轮转动时,其相对于原点的坐标值要
改变。此处可参考《机械原理》教材第六章“平面连杆机构”第三节“机构综合
的位移矩阵法”所讲述的内容。
设凸轮上一点原来的坐标为:),(y x ,当凸轮转动θ角以后,其坐标变为:
),(y x '',则有以下关系:
⎩⎨
⎧+='-='θ
θθ
θcos sin sin cos y x y y x x 在做机构动画时,让θ角从0度到360度等量增加,则可以画出一系列凸轮的位置,形成连续的动画。
二. 编程步骤
1. 项目类型选择MFC AppWizard(exe),项目名取为“TuLun”。
2. 在程序向导的第1步选择建立一个单文档的应用程序,点击“Finish”结束向导。
3. 点击菜单项“Insert →Resource”,插入一个对话框资源,这个对话框将来作为凸轮机构的参数输入窗口。
4. 在参数输入对话框上右键点击,弹出属性对话框,设定其ID号为IDD_PARAMETER,设定其标题Caption为“参数输入对话框”。然后在对话框上添加控件如下图所示,为每一个控件指定ID号。
推程运动规律一组单选钮:IDC_TUI_1;IDC_TUI_2;IDC_TUI_3;IDC_TUI_4
回程运动规律一组单选钮:IDC_HUI_1;IDC_HUI_2;IDC_HUI_3;IDC_HUI_4
推程角:IDC_TUI_ANGL;回程角:IDC_HUI_ANGLE;远停角:IDC_FAR_REST_ANGLE 基圆半径:IDC_BASE_CIRCLE;行程:IDC_COURSE;偏距:IDC_SETOVER 推杆滚子半径:IDC_ROLLER_RADIUS;凸轮转动速度:IDC_CAM_VELOCITY
5. 为对话框添加一个类:在对话框的空白区域处双击鼠标,弹出ClassWizard窗口,在添加一个新类对话框中点击OK按钮,将新类命名为CParameterDlg,其余选择默认值,点击OK 按钮确定。
6. 为对话框中的控件添加相应的成员变量:点击菜单“View →ClassWizard”,点击“Member Variables”标签项,为对话框中的控件添加对应的成员变量如下图所示。
7. 在资源视图(ResourceView)中打开主菜单资源IDR_MAINFRAME,添加顶层菜单项“输入”,弹出菜单项“凸轮机构参数”,并如图设置ID号及标题等。