ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:751KB ,
资源ID:975224      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-975224.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC++凸轮机构运动仿真编程示例.DOC)为本站会员(国***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

VC++凸轮机构运动仿真编程示例.DOC

1、 1 / 23VC+凸轮机构运动仿真编程示例一. 机构运动原理1. 推杆从动件的运动规律(仅列出常用的四种运动规律)表 1-1 从动件的运动方程式行程运动类型推 程 回 程等速运动sh0va sh00va前半程sh202v4a20 sh202v4a20等加速等减速运动后半程sh020v4a20 sh020v4a20余弦加速度运动shvah212000cosincos shvah212000cosincos正弦加速度运动shva002021sincosi shva12220002sincosi2. 偏置直动尖顶推杆盘形凸轮机构如图所示,凸轮逆时针方向转动,导路偏置于凸轮转动中心 A,导路距转轴

2、A 的垂直距离为偏距 e。以偏距 e 为半径作的圆为偏距圆。当凸轮转动时,凸轮上的偏距圆也随之转动,但其始终与导路轴线相切。凸轮转动时不便求解其上的廓线方程,故采用反转法。反转法是建立在推杆与凸轮的相对运动与参考系无关这一原理上的。所谓反转法,即给整个机构一个与凸轮转向相反的角速度 ,则凸轮静止不动,而从动件随机架反转且沿凸 1轮廓线相对运动,导路的反转角 即凸轮的转角。如图所示,此时导路由 转到 。BK0由于 , 所以 ,此时导路 BK 与基圆和凸轮廓线的交点AKB0K,A0间的长度,即从动件的位移 。由几何关系知 ,所以 sB BKA0s2 / 23。选取坐标系 xAy,B 0点为凸轮廓线

3、起始点。当凸轮转过 角,由反转法BKreb21知此时从动件位于 BK。则 B 点的坐标为(1-1)XseY0incosi式(1-1)即为尖顶推杆凸轮廓线的方程式,也称为理论廓线方程。 2 3 y x e K B B B0 rb s K0 s0 1 e A 3. 偏置直动滚子推杆盘形凸轮机构大多数推杆在尖顶 B 处装有滚子,以提高推杆的使用寿命。显然,只要使滚子中心 B沿理论廓线曲线上运动,即可保证推杆预期的运动规律。如图所示,此时凸轮的轮廓曲线不是理论廓线,而是处处与滚子相切的另一条曲线,这条曲线称为凸轮的实际廓线。因为实际廓线与理论廓线在法线方向的距离处处相等,且等于滚子半径 rr,故当已知

4、廓线上任一点 B 时,只要沿理论廓线在该点法线方向取距离为 rr,即得实际廓线上的相应点xy,。由此可见,理论廓线上作一系列滚子圆的包络线即实际廓线。因此实际廓线是,理论廓线的等距曲线。该等距曲线有两条,即内等距曲线和外等距曲线。盘状槽形凸轮的廓线即该两条等距曲线。由高等数学知识可求得理论廓线 B 点处法线n-n 的斜率(与切线斜率互为负倒数)应为(1-2)tandxy式(1-2)中的 dx/dy 与 dy/dx 可根据式(1-1 )求出,代入式(12)后有(1-3)tansincosddee00式(8-10)中的角可在 变化,其值要根据分子、分母的正负号所决定的36所在象限来计算。求出 角后

5、,可计算 的坐标值:tanBxy,3 / 23(1-4)xrycosin式中“”号为内等距曲线,“”号为外等距曲线。式(8-11)即为凸轮的实际廓线方程式。此时实际廓线的基圆半径 等于理论廓线的基圆半径 与滚子半径 之差:r0 rbrr0br r0 A 实实 实实 B0 B(x,y) n B(x,y) n r K K0 rb x y 4. 机构运动的基本原理前面计算出了凸轮机构的坐标点,当凸轮转动时,其相对于原点的坐标值要改变。此处可参考机械原理教材第六章“平面连杆机构”第三节“机构综合的位移矩阵法”所讲述的内容。设凸轮上一点原来的坐标为: ,当凸轮转动 角以后,其坐标变为:),(yx,则有以

6、下关系:),(yx cossiniyxy在做机构动画时,让 角从 0 度到 360 度等量增加,则可以画出一系列凸轮的位置,形成连续的动画。4 / 23二. 编程步骤1. 项目类型选择 MFC AppWizard(exe),项目名取为“TuLun ”。 2. 在程序向导的第 1 步选择建立一个单文档的应用程序,点击“Finish”结束向导。3. 点击菜单项“Insert Resource” ,选择在弹出的对话框中选择 Dialog,5 / 23以此来插入一个对话框资源,这个对话框将来作为凸轮机构的参数输入窗口。4. 在参数输入对话框上右键点击,弹出属性对话框,设定其 ID 号为 IDD_PAR

7、AMETER,设定其标题 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_ANGLE;回程角: IDC_HUI_ANGLE; 远停角:IDC_FAR_REST_ANGLE6 / 23基圆半径:IDC_BASE_CIRCLE; 行 程:IDC_COURSE;偏 距:IDC_SETOVER推杆滚子半径:IDC_R

8、OLLER_RADIUS;凸轮转动速度:IDC_CAM_VELOCITY注意:要将推程运动规律的“等加速运动”和回程运动规律的“等加速运动”单选钮属性中的 Group 复选框勾选上,如下图所示5. 为对话框添加一个类:在对话框的空白区域处双击鼠标,弹出 ClassWizard 窗口,在添加一个新类对话框中点击 OK 按钮,将新类命名为 CParameterDlg,其余选择默认值,点击OK 按钮确定。7 / 236. 为对话框中的控件添加相应的成员变量:点击菜单“View ClassWizard” ,点击“Member Variables”标签项,为对话框中的控件添加对应的成员变量如下图和表所示

9、。NO. Control IDs Type Member Show1 IDC_BASE_CIRCLE double m_Base_Radius 基圆半径2 IDC_CAM_VELOCITY double m_Cam_Velocity 凸轮转动速度3 IDC_COURSE double m_Course 行程4 IDC_FAR_REST_ANGLE double m_FarRest_Angle 远停角5 IDC_HUI_1 int m_Hui_Rule 推程运动规律6 IDC_HUI_ANGLE int m_Hui_Angle 回程角7 IDC_ROLLER_RADIUS double m_Ro

10、ller_Radius 推杆滚子半径8 / 238 IDC_SETOVER double m_Setover 偏距9 IDC_TUI_1 int m_Tui_Rule 回程运动规律10 IDC_FAR_REST_ANGLE int m_FarRest_Angle 远停角11 IDC_TUI_ANGLE int m_Tui_Angle 推程角7. 在资源视图(ResourceView)中打开主菜单资源 IDR_MAINFRAME,添加顶层菜单项“输入” ,弹出菜单项“凸轮机构参数” ,并如图设置 ID 号及标题等。8. 点击菜单 “View ClassWizard” 为菜单项命令添加消息映射函数

11、。在 Class name 中选择“CTuLunView ”类,目标 ID 号中选择“ID_INPUT_SIZE” ,在“Messages”中选择“Command”,双击,弹出“添加成员函数”对话框,点击“OK” ,确认函数名为“OnInputSize”。9 / 239. 在类视图(ClassView )中双击 ,在 TuLunView.h 中按如下方式定义凸轮相关的成员变量(具体添加地方为:的后面):/与盘形凸轮相关的数据与变量int m_Hui_Rule;int m_Tui_Rule;double m_Base_Radius;double m_Course;double m_Setover

12、;int m_Tui_Angle;int m_Hui_Angle;int m_FarRest_Angle;int m_NearRest_Angle;double m_Roller_Radius;double m_Cam_Velocity;10. 初始化凸轮机构的参数:在 CTuLunView 类的构造函数 CTuLunView()中添加初始化代码:CTuLunView:CTuLunView()/ TODO: add construction code herem_Hui_Rule=3;m_Tui_Rule=2;m_Base_Radius=200;m_Course=150;m_Setover=8

13、0;m_Tui_Angle=100;m_Hui_Angle=150;m_FarRest_Angle=60;m_Roller_Radius=80;m_Cam_Velocity=4;10 / 2311. 在 OnInputSize()函数中输入下面的代码:/从凸轮机构输入对话框中得到凸轮机构各参数值void CTuLunView:OnInputSize() / TODO: Add your command handler code here/显示盘形凸轮输入对话框CParameterDlg CamDlg; /定义 CParameterDlg 类的一个对象/初始化盘形凸轮参数输入对话框CamDlg.

14、m_Tui_Rule=2; / 初始化推程运动规律为正弦运动规律CamDlg.m_Hui_Rule=0; / 初始化回程运动规律为等速运动规律CamDlg.m_Base_Radius=200;CamDlg.m_Course=150;CamDlg.m_Setover=80;CamDlg.m_Hui_Angle=90;CamDlg.m_Tui_Angle=150;CamDlg.m_FarRest_Angle=60;CamDlg.m_Roller_Radius=80;/从盘形凸轮输入对话框中得到用户输入的凸轮数据if(CamDlg.DoModal()=IDOK)m_Tui_Rule=CamDlg.m

15、_Tui_Rule;m_Hui_Rule=CamDlg.m_Hui_Rule;m_Base_Radius=CamDlg.m_Base_Radius;m_Course=CamDlg.m_Course;m_Setover=CamDlg.m_Setover;m_Hui_Angle=CamDlg.m_Hui_Angle;m_Tui_Angle=CamDlg.m_Tui_Angle;m_FarRest_Angle=CamDlg.m_FarRest_Angle;m_Roller_Radius=CamDlg.m_Roller_Radius;m_Cam_Velocity=CamDlg.m_Cam_Velocity;/调用 OnDraw 函数按照输入的参数重新绘制凸轮Invalidate(TRUE);12. 在 TuLunView.cpp 前面加上 CParameterDlg 类的头文件及科学计算的头文件:#include “TuLunDoc.h“#include “TuLunView.h“#include “ParameterDlg.h“#include “math.h“此时编译运行,可以从菜单项中调出凸轮参数输入对话框,并把用户输入的数据保存在

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。