滚子摆动从动件凸轮设计matlab程序

合集下载

基于MATLAB的凸轮轮廓线设计与运动仿真毕业设计

基于MATLAB的凸轮轮廓线设计与运动仿真毕业设计

(此文档为word格式,下载后您可任意编辑修改!)第1章绪论1.1 机构学的现状与发展1.1.1 机构学的概况机构学是以运动几何学和力学为主要理论基础,以数学分析为主要手段,对各类机构进行运动和动力分析与综合的学科。

机构学为创造新的机器和进行机械发明与改革提供正确有效的理论和方法,以设计出更经济合理、更先进的机械设备,来满足生产发展和人们生活的需求。

机构学的发展将直接影响到机械工业各类产品的工作性能以及许多行业生产设备的机械化和自动化程度。

机构学作为机械工程技术科学中的一门主要基础学科,近年来由于机电一体化高技术科学特别是工业机器人与特种机器人的发展对机构学理论和技术上的要求,使机构学学科达到了一个崭新的阶段。

在国际学术讨论会上,各国科学家一致认为它有如旭日东升,正显出其无比强大的生命力。

机构学一方面由简单的运动分析与综合向复杂的运动分析与综合方面发展,另一方面也由机构运动学向机构动力分析与综合方向发展,研究机构系统的合理组成的方法及其判据,分析研究机器在传递运动、力和做功过程中出现的各种问题。

机构精度问题也相应地由静态分析走向动态分析。

机构联结件的间隙在高速运转时有不容忽视的影响,因而需要研究机构间间隙、摩擦、润滑与冲击引起的机构变形、稳态与非稳态下的动态响应和过渡过程问题。

在惯性力作用下,由于机构上刚度薄弱环节的弹性变形,由此研究以振动理论多自由度模态化、线性与非线性、随机的功率谱与载荷谱等为分析手段和方法而形成的运动弹性动力学问题,以及视整个机构系统为柔性的多柔体系统动力学和逆动力学分析、综合及控制问题。

它是把整个机构看成是由多刚体组成的多刚体动力学、结构动力学及自动控制等学科发展的交叉边缘学科。

由多种、多个构件组成的机构称为组合机构。

组合机构与机构系统组成理论的发展使机构学已成为重型、精密及各种复合机械和智能机械、仿生机械、机器人等高技术科学的设计基础理论学科。

1.1.2机构学的现状(1)平面与空间连杆机构的结构理论研究研究机构的结构单元及机构拓扑结构特征,如主动副存在准则、活动度类型及其判定、拓扑结构的同构判定、消极子运动链判定等。

基于MATLAB的凸轮设计

基于MATLAB的凸轮设计

基于MATLAB的凸轮设计凸轮是一种用于转动机件的机械元件,常用于驱动一些运动部件做往复运动或者周期性运动。

在机械设计中,通过凸轮的设计可以实现复杂的运动路径,以及具有特定速度和加速度要求的运动。

MATLAB是一种强大的数学计算和编程环境,可以用于进行科学计算、数据分析和算法开发。

在凸轮设计中,MATLAB可以用于凸轮曲线的生成、设计和优化。

本文将介绍如何基于MATLAB进行凸轮设计。

在凸轮设计中,最重要的是凸轮曲线的生成。

凸轮曲线是一个由数据点组成的模板,通过插值或者数值逼近的方法可以生成一个光滑的凸轮曲线。

在 MATLAB 中,可以使用插值函数 interp1 或者曲线拟合函数polyfit 进行凸轮曲线的生成。

具体步骤如下:1.定义凸轮的设计参数,例如凸轮的半径、凸轮转动的角度范围等;2.根据凸轮的设计参数,生成一些数据点,这些数据点可以通过数学计算或者几何建模等方式得到;3. 使用插值函数 interp1 或者曲线拟合函数 polyfit 对这些数据点进行插值或者拟合,得到一个平滑的曲线;4.根据凸轮转动的角度范围,生成一系列角度的数据点;5. 使用插值函数 interp1 或者曲线拟合函数 polyval 对这些角度的数据点进行插值或者拟合,得到一系列对应的曲线坐标点;6.将这些坐标点绘制成凸轮曲线,并进行可视化。

除了凸轮曲线的生成,MATLAB 还可以用于凸轮的设计和优化。

凸轮设计包括凸轮的尺寸设计、运动路径设计等。

在 MATLAB 中,可以使用优化函数 fmincon 或者遗传算法函数 ga 进行凸轮设计的优化,以获得符合设计要求的凸轮参数。

具体步骤如下:1.定义凸轮的设计变量和目标函数。

设计变量可以是凸轮的尺寸参数,例如凸轮半径、凸轮高度等;目标函数可以是凸轮的运动路径误差、速度误差等。

2.定义凸轮的约束条件。

约束条件可以是凸轮的尺寸范围、速度和加速度的限制等。

3. 使用优化函数 fmincon 或者遗传算法函数 ga 对凸轮的设计变量进行优化,以使目标函数最小化或者最大化。

基于MATLAB的摆动式磨头圆柱端面凸轮曲线优化设计

基于MATLAB的摆动式磨头圆柱端面凸轮曲线优化设计
A( )=A ( )+A ( )= :
4 0 40
2 l5 r l 2 。 7 ( 耵 一7 7 ( , 一7 一7 ) 2 25 r 1—7 ) 2
() 5
2 3 约束 条件 . 2 3 1 转 角 . .
要求 , 取

和 : 的要求
为保证 摆杆 在 中段匀 速 摆 动 , 足 磨 头磨 削工 艺 满
图 1 凸轮 机构 压 力角
Fiu e 1 Ca me h nim r su e a ge g r m c a s p e s r n l
1+ 2≤ 订
() 6
2 34 主 动摆杆 与 凸轮干 涉 .. 将 圆柱 凸轮展 开成平 面便 成 为移 动 凸轮 ¨ 建 立 , 凸轮转 角为横 坐标 , 曲线 高 度 为纵 坐 标 的 平 面直 角 坐
模型 , 用 MA L B软件的功能 函数 cnt求得优化结果。优化后最大无 因次加速度为优 化前的 3 % , 运 TA os r 3 和原有 曲线相 比
下降了3 %, 0 可以有效的降低磨头的振动及故障率, 提高陶瓷地砖加工的表面质量, 降低震碎率。图7参 1 1
关 键 词 : 瓷抛 光 机 ; 化 设 计 ; T A 软 件 ; 柱 端 面 凸轮 陶 优 MA L B 圆
Ab t a t T mp o e d n mi c p b l y o r d n e d c m c a i o e a c p l h n c i e a i g t e sr c : o i r v y a c a a i t f g n i g h a a me h ns i i m f c r mi o i i g ma h n , t k n h s

凸轮廓线设计MATLAB程序

凸轮廓线设计MATLAB程序

凸轮轮廓及其综合1. 凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。

凸轮的廓线和从动件一起实现运动形式的转换。

凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。

凸轮机构设计的内容之一是凸轮廓线的设计。

定义一个凸轮基圆r b 作为最小的圆周半径。

从动件的运动方程如下:L(ϕ)=r b +s(ϕ)设凸轮的推程运动角和回程运动角均为β,从动件的运动规律均为正弦加速度运动规律,则有:s(ϕ)=h(βϕ-π21sin(2πϕ/β)) 0≤ϕ≤β s(ϕ)=h -h(ββϕ--π21sin(2π(ϕ-β/β)) β≤ϕ≤2β s(ϕ)=0 2β≤ϕ≤2π上式是从动件的位移,h 是从动件的最大位移,并且0≤β≤π。

如果假设凸轮的旋转速度ω=d ϕ/dt 是个常量,则速度υ、加速度a 和瞬时加速度j (加速度对时间求异)分别如下:速度:υ(ϕ)=βωh (1-cos(2πϕ/β)) 0≤ϕ≤β υ(ϕ)=-βωh (1-cos(2π(ϕ-β)/β) β≤ϕ≤2β υ(ϕ)=0 2β≤ϕ≤2π加速度:a(ϕ)=222βπωhsin(2πϕ/β)) 0≤ϕ≤βa(ϕ)=-222βπωhsin(2π(ϕ-β)/β) β≤ϕ≤2βa(ϕ)=0 2β≤ϕ≤2π瞬时加速度:j(ϕ)=3324βωπhcos(2πϕ/β)) 0≤ϕ≤βj(ϕ)=-3324βωπhcos(2π(ϕ-β)/β) β≤ϕ≤2βj(ϕ)=0 2β≤ϕ≤2π定义无量纲位移S=s/h 、无量纲速度V=υ/ωh 、无量纲加速度A=a/h ω3和无量纲瞬时加速度J=j/h ω3。

若β=60°,则如下程序可以对以上各个量进行计算。

beta=60*pi/180;phi=linspace(0,beta,40);phi2=[beta+phi];ph=[phi phi2]*180/pi;arg=2*pi*phi/beta;arg2=2*pi*(phi2-beta)/beta;s=[phi/beta-sin(arg)/2/pi 1-(arg2-sin(arg2))/2/pi];v=[(1-cos(arg))/beta-(1-cos(arg2))/beta];a=[2*pi/beta^2*sin(arg)2*pi/beta^2*sin(arg2)];j=[4*pi^2/beta^3*cos(arg)4*pi^2/beta^3*cos(arg2)]:subplot(2,2,1)plot(ph,s,ˊK ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊDisplacement(S)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,2)plot(ph,v,ˊk ˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊVelocity(V)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,3)plot(ph,a,ˊk ˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊAcceleration(A)ˊ)g=axis;g(2)=120;axis(g)subplot(2,2,4)plot(ph,j,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊJerk(J)ˊ)g=axis;g(2)=120;axis(g)2 平底盘形从动作参考下图得到如下关系:在(x,y)坐标系中,凸轮轮廓的坐标为Rx和Ry,刀具的坐标为Cx和Cy:Rx=Rcos( θ+ϕ) Ry=Rsin( θ+ϕ)C x=Ccos( γ+ϕ) C y=Ccos( γ+ϕ)其中, R=θcos L θ=arctan ⎪⎪⎭⎫ ⎝⎛ϕd dL L 1 c=γγcos c L + γ=arctan ⎪⎪⎭⎫ ⎝⎛+c L d dL γϕ/ r c 是刀具的半径,且dL/d ϕ=V(ϕ)/ω。

基于MATLAB的摆动式磨头圆柱端面凸轮曲线优化设计

基于MATLAB的摆动式磨头圆柱端面凸轮曲线优化设计

基于MATLAB的摆动式磨头圆柱端面凸轮曲线优化设计汤迎红;彭智;武宇龙【摘要】为提高陶瓷抛光机磨头凸轮驱动部分的动态性能,以最大无因次加速度为目标函数,建立了磨头凸轮曲线优化模型,运用MATLAB软件的功能函数constr求得优化结果.优化后最大无因次加速度为优化前的33%,和原有曲线相比下降了30%,可以有效的降低磨头的振动及故障率,提高陶瓷地砖加工的表面质量,降低震碎率.%To improve dynamic capability of grinding head cam mechanism of ceramic polishing machine, taking the maximum non-dimensional acceleration as objective functions, the paper built up optimization model of grinding head cam curve and obtained optimized results with MATLAB software computing function constr. The maximum non dimensional acceleration was only 33% of pre-optimization and lower by 30% compared with the original curve, thus can effectively reduce the vibration and failure rate of grinding head, as well as can get better surface quality, lower shatter rate in the processing of ceramic tile.【期刊名称】《轻工机械》【年(卷),期】2012(030)001【总页数】4页(P35-38)【关键词】陶瓷抛光机;优化设计;MATLAB软件;圆柱端面凸轮【作者】汤迎红;彭智;武宇龙【作者单位】湖南工业大学,湖南株洲412008;湖南工业大学,湖南株洲412008;湖南工业大学,湖南株洲412008【正文语种】中文【中图分类】TH112.20 引言作为陶瓷地砖、石材等建材产品精磨、抛光的陶瓷抛光机,其特点是对脆性材料进行磨削,要求加工后的表面平整、无划痕,达到镜面光亮而且破损率低,因此其关键部分——磨头驱动部分必须有良好的动态性能。

凸轮机构matlab程序

凸轮机构matlab程序

凸轮轮廓程序:>> e=20;s0=77.46;a1=0:pi/36:pi/3;s1=50*[3*a1/pi-sin(6*a1)/(2*pi)];x1=(s0+s1).*sin(a1)+e*cos(a1);y1=(s0+s1).*cos(a1)-e*sin(a1);k1=150/pi*[1-cos(6*a1)];>> i1=[(k1-e).*sin(a1)+(s0+s1).*cos(a1)].*[(k1-e).*(k1-e)+(s0+s1).*(s0+s1)].^(-1/2);>> j1=[-(k1-e).*cos(a1)+(s0+s1).*sin(a1)].*[(k1-e).*(k1-e)+(s0+s1).*(s0+s1)].^(-1/2);>> x10=x1-10*j1;>> y10=y1-10*i1;a2=pi/3:pi/36:pi;s2=50;x2=(s0+s2).*sin(a2)+e*cos(a2);y2=(s0+s2).*cos(a2)-e*sin(a2);k2=0;>> i2=[(k2-e).*sin(a2)+(s0+s2).*cos(a2)].*[(k2-e).*(k2-e)+(s0+s2).*(s0+s2)].^(-1/2);j2=[-(k2-e).*cos(a2)+(s0+s2).*sin(a2)].*[(k2-e).*(k2-e)+(s0+s2).*(s0+s2)].^(-1/2);x20=x2-10*j2;y20=y2-10*i2;>> a3=pi:pi/36:4*pi/3;>> s3=50*[1-3*(a3-pi)/pi+sin(6*(a3-pi))/(2*pi)];>> x3=(s0+s3).*sin(a3)+e*cos(a3);>> y3=(s0+s3).*cos(a3)-e*sin(a3);>> k3=50*[-3/pi+3/pi*cos(6*(a3-pi))];>> i3=[(k3-e).*sin(a3)+(s0+s3).*cos(a3)].*[(k3-e).*(k3-e)+(s0+s3).*(s0+s3)].^(-1/2);>> j3=[-(k3-e).*cos(a3)+(s0+s3).*sin(a3)].*[(k3-e).*(k3-e)+(s0+s3).*(s0+s3)].^(-1/2);>> x30=x3-10*j3;>> y30=y3-10*i3;>> a4=4*pi/3:pi/36:2*pi;>> s4=0;>> x4=(s0+s4).*sin(a4)+e*cos(a4);>> y4=(s0+s4).*cos(a4)-e*sin(a4);>> k4=0;>> i4=[(k4-e).*sin(a4)+(s0+s4).*cos(a4)].*[(k4-e).*(k4-e)+(s0+s4).*(s0+s4)].^(-1/2);>> j4=[-(k4-e).*cos(a4)+(s0+s4).*sin(a4)].*[(k4-e).*(k4-e)+(s0+s4).*(s0+s4)].^(-1/2);>> x40=x4-10*j4;>> y40=y4-10*i4;>> plot(x10,y10,'-g*',x20,y20,'-r*',x30,y30,'-b*',x40,y40,'-k*')>>plot(x10,y10,'-g*',x20,y20,'-r*',x30,y30,'-b*',x40,y40,'-k*',x1,y1,'-g*',x2,y2,'-r*',x3,y3,'-b*',x4,y4,'-k*')>>凸轮压力角:>> x=0:0.01:pi/3;>> t=5.76*sin(6*x)+6*x.*sin(6*x)+(2-2*pi/15)*cos(6*x)-2+2*pi/15; >> xx =Columns 1 through 60 0.0100 0.0200 0.0300 0.0400 0.0500Columns 7 through 120.0600 0.0700 0.0800 0.0900 0.1000 0.1100Columns 13 through 180.1200 0.1300 0.1400 0.1500 0.1600 0.1700 Columns 19 through 240.1800 0.1900 0.2000 0.2100 0.2200 0.2300 Columns 25 through 300.2400 0.2500 0.2600 0.2700 0.2800 0.2900 Columns 31 through 360.3000 0.3100 0.3200 0.3300 0.3400 0.3500 Columns 37 through 420.3600 0.3700 0.3800 0.3900 0.4000 0.4100 Columns 43 through 480.4200 0.4300 0.4400 0.4500 0.4600 0.4700 Columns 49 through 540.4800 0.4900 0.5000 0.5100 0.5200 0.5300 Columns 55 through 600.5400 0.5500 0.5600 0.5700 0.5800 0.5900 Columns 61 through 660.6000 0.6100 0.6200 0.6300 0.6400 0.6500 Columns 67 through 720.6600 0.6700 0.6800 0.6900 0.7000 0.7100 Columns 73 through 780.7200 0.7300 0.7400 0.7500 0.7600 0.7700 Columns 79 through 840.7800 0.7900 0.8000 0.8100 0.8200 0.8300 Columns 85 through 900.8400 0.8500 0.8600 0.8700 0.8800 0.8900 Columns 91 through 960.9000 0.9100 0.9200 0.9300 0.9400 0.9500 Columns 97 through 1020.9600 0.9700 0.9800 0.9900 1.0000 1.0100 Columns 103 through 1051.0200 1.0300 1.0400>> tt =Columns 1 through 60.0000 0.3461 0.6925 1.0379 1.3809 1.7202 Columns 7 through 122.0546 2.3825 2.70283.0141 3.3150 3.6042 Columns 13 through 183.88044.1424 4.3889 4.6187 4.83075.0237 Columns 19 through 245.1967 5.3487 5.4788 5.5861 5.6698 5.7292 Columns 25 through 305.7636 5.7725 5.7555 5.7122 5.6422 5.5455 Columns 31 through 365.4219 5.2715 5.0944 4.8908 4.6610 4.4055 Columns 37 through 424.1248 3.8196 3.4906 3.1387 2.7647 2.3699 Columns 43 through 481.9552 1.5219 1.0714 0.6051 0.1243 -0.3692 Columns 49 through 54-0.8740 -1.3882 -1.9102 -2.4381 -2.9701 -3.5044 Columns 55 through 60-4.0388 -4.5716 -5.1008 -5.6243 -6.1401 -6.6464 Columns 61 through 66-7.1410 -7.6221 -8.0877 -8.5359 -8.9648 -9.3727 Columns 67 through 72-9.7578 -10.1184 -10.4528 -10.7596 -11.0372 -11.2843 Columns 73 through 78-11.4996 -11.6820 -11.8304 -11.9439 -12.0215 -12.0627 Columns 79 through 84-12.0668 -12.0335 -11.9623 -11.8531 -11.7059 -11.5207 Columns 85 through 90-11.2979 -11.0378 -10.7410 -10.4081 -10.0399 -9.6374 Columns 91 through 96-9.2016 -8.7339 -8.2356 -7.7081 -7.1530 -6.5722 Columns 97 through 102-5.9674 -5.3405 -4.6937 -4.0291 -3.3489 -2.6554Columns 103 through 105-1.9511 -1.2383 -0.5195>> x=0.46:0.001:0.47;>> t=5.76*sin(6*x)+6*x.*sin(6*x)+(2-2*pi/15)*cos(6*x)-2+2*pi/15; >> xx =Columns 1 through 60.4600 0.4610 0.4620 0.4630 0.4640 0.4650Columns 7 through 110.4660 0.4670 0.4680 0.4690 0.4700>> tt =Columns 1 through 60.1243 0.0755 0.0266 -0.0225 -0.0717 -0.1210Columns 7 through 11-0.1704 -0.2199 -0.2696 -0.3193 -0.3692>> x=0.462:0.0001:0.463;>> t=5.76*sin(6*x)+6*x.*sin(6*x)+(2-2*pi/15)*cos(6*x)-2+2*pi/15; >> xx =Columns 1 through 60.4620 0.4621 0.4622 0.4623 0.4624 0.4625Columns 7 through 110.4626 0.4627 0.4628 0.4629 0.4630>> tt =Columns 1 through 60.0266 0.0217 0.0168 0.0119 0.0070 0.0021Columns 7 through 11-0.0028 -0.0077 -0.0126 -0.0176 -0.0225>> z=[0 0.4625];>> y=[150/pi*(1-cos(6*z))-20].*[45.8+50*(3*z/pi-sin(6*z)/(2*pi))];>> y=[150/pi*(1-cos(6*z))-20]./[45.8+50*(3*z/pi-sin(6*z)/(2*pi))];>> yy =-0.4367 1.1121>> a=atan(y)a =-0.4117 0.8384>> a*180/pians =-23.5900 48.0382>>以上是计算推程压力角的临界值。

MATLAB在摆动滚子从动件盘形凸轮机构设计中的应用

MATLAB在摆动滚子从动件盘形凸轮机构设计中的应用

MATLAB在摆动滚子从动件盘形凸轮机构设计中的应用摘要:凸轮机构可以使从动件准确的实现某种预期的运动规律,它广泛的应用于自动机械、自动控制装置和装配生产线中。

本文将从凸轮机构的压力角及其基本尺寸的设计、从动件的运动规律、凸轮廓线的设计等方面介绍matlab在摆动滚子从动件盘形凸轮机构设计中的应用。

关键词:摆动滚子从动件盘形凸轮机构 matlabthe application of matlab in the oscillating roller follower disc cam mechanism designli hailong, luo fengming(southwest jiaotong university emei, le shan si chuan province ,614202)abstract:cam mechanism can make the follower accurately realize some expected movement which is widely used in automatic machinery, automatic control equipment and assembly production line. the article will introduce the application of matlab in the oscillating roller follower disc cam mechanism design from the pressure angle of cam and its basic size design, the motion law of the follower and cam profile design etc.key words: disk cam mechanism with oscillating roller follower;matlab1.问题的描述设计一个摆动滚子凸轮机构,要求导杆机构的最大压力角应为最小值;凸轮机构的最大压力角应在许用值[α]之内,摆动从动件的升、回程运动规律均为等加速等减速运动。

凸轮运动Matlab仿真-Matlab课程设计

凸轮运动Matlab仿真-Matlab课程设计

Matlab 课程设计李俊机自091设计题目一:凸轮机构设计已知轮廓为圆形的凸轮(圆的半径为100mm、偏心距为20mm),推杆与凸轮运动中心的距离20mm,滚子半径为10mm,请利用matlab仿真出凸轮推杆的运动轨迹和运动特性(速度,加速度),并利用动画演示出相关轨迹和运动特性。

%总程序代码clc;clf;clear;p=figure('position',[100 100 1200 600]);for i=1:360%画圆形凸轮R=100; %圆形凸轮半径A=0:0.006:2*pi;B=i*pi/180;e=20; %偏心距a=e*cos(B);b=e*sin(B);x=R*cos(A)+a;y=R*sin(A)+b;subplot(1,2,1)plot(x,y,'b','LineWidth',3);%填充fill(x,y,'y')axis([-R-e,R+e,-R-e,R+e+100]);set(gca,'Xlim',[-R-e,R+e])set(gca,'Ylim',[-R-e,R+e+100])axis equal;axis manual;axis off;hold on;plot(a,b,'og')plot(e,0,'or')plot(0,0,'or','LineWidth',3)%画滚子gcx=0; %滚子中心X坐标r=10; %滚子半径gcy=sqrt((R+r)^2-a^2)+b; %滚子中心Y坐标gx=r*cos(A)+gcx; %滚子X坐标gy=r*sin(A)+gcy; %滚子Y坐标plot(gx,gy,'b','LineWidth',2);%画其它部分plot([0 a],[0 b],'k','LineWidth',4)plot([3 3],[170 190],'m','LineWidth',4)plot([-3 -3],[170 190],'m','LineWidth',4)%画顶杆gc=120;dgx=[0 0];dgy=[gcy gcy+gc];plot(dgx,dgy,'LineWidth',4);hold off%画位移图sx(i)=B;sy(i)=gcy;subplot(3,2,2)plot(sx,sy,'b','LineWidth',3)title('位移线图')grid onhold off;%画速度图vx(i)=B;vy(i)=20*cos(B) + (40*cos(B).*sin(B))./(121 - 4*cos(B).^2).^(1/2);subplot(3,2,4)plot(vx,vy,'g','LineWidth',3)title('速度线图')grid onhold off;%画加速度图ax(i)=B;ay(i)=(40*cos(B).^2)./(121 - 4*cos(B).^2).^(1/2) - 20*sin(B) - (40*sin(B).^2)/(121 -4*cos(B).^2).^(1/2) - (160*cos(B).^2.*sin(B).^2)/(121 - 4*cos(B).^2).^(3/2); subplot(3,2,6)plot(ax,ay,'r','LineWidth',3),xlabel('B')title('加速度线图')grid onhold off;M=getframe;end截图附:通过求导求速度和加速度%求速度syms B;a=e*cos(B);b=e*sin(B);s=sqrt((R+r).^2-a.^2)+b;v=diff(s)结果:v =20*cos(B) + (40*cos(B)*sin(B))/(121 - 4*cos(B)^2)^(1/2)%求加速度syms B;v =20*cos(B) + (40*cos(B)*sin(B))/(121 - 4*cos(B)^2)^(1/2);a=diff(v)结果:a =(40*cos(B)^2)/(121 - 4*cos(B)^2)^(1/2) - 20*sin(B) - (40*sin(B)^2)/(121 - 4*cos(B)^2)^(1/2) - (160*cos(B)^2*sin(B)^2)/(121 - 4*cos(B)^2)^(3/2)。

凸轮廓线设计MATLAB程序

凸轮廓线设计MATLAB程序

凸轮轮廓及其综合1. 凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。

凸轮的廓线和从动件一起实现运动形式的转换。

凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。

凸轮机构设计的内容之一是凸轮廓线的设计。

定义一个凸轮基圆r b 作为最小的圆周半径。

从动件的运动方程如下:L(ϕ)=r b +s(ϕ)设凸轮的推程运动角和回程运动角均为β,从动件的运动规律均为正弦加速度运动规律,则有:s(ϕ)=h(βϕ-π21sin(2πϕ/β)) 0≤ϕ≤βs(ϕ)=h -h(ββϕ--π21sin(2π(ϕ-β/β)) β≤ϕ≤2βs(ϕ)=0 2β≤ϕ≤2π上式是从动件的位移,h 是从动件的最大位移,并且0≤β≤π。

如果假设凸轮的旋转速度ω=d ϕ/dt 是个常量,则速度υ、加速度a 和瞬时加速度j (加速度对时间求异)分别如下:速度:υ(ϕ)=βωh(1-cos(2πϕ/β)) 0≤ϕ≤β υ(ϕ)=-βωh(1-cos(2π(ϕ-β)/β) β≤ϕ≤2β υ(ϕ)=0 2β≤ϕ≤2π加速度:a(ϕ)=222βπωhsin(2πϕ/β)) 0≤ϕ≤βa(ϕ)=-222βπωhsin(2π(ϕ-β)/β) β≤ϕ≤2βa(ϕ)=0 2β≤ϕ≤2π瞬时加速度:j(ϕ)=3324βωπhcos(2πϕ/β)) 0≤ϕ≤βj(ϕ)=-3324βωπhcos(2π(ϕ-β)/β) β≤ϕ≤2βj(ϕ)=0 2β≤ϕ≤2π定义无量纲位移S=s/h 、无量纲速度V=υ/ωh 、无量纲加速度A=a/h ω3和无量纲瞬时加速度J=j/h ω3。

若β=60°,则如下程序可以对以上各个量进行计算。

beta=60*pi/180;phi=linspace(0,beta,40); phi2=[beta+phi]; ph=[phi phi2]*180/pi; arg=2*pi*phi/beta;arg2=2*pi*(phi2-beta)/beta;s=[phi/beta-sin(arg)/2/pi 1-(arg2-sin(arg2))/2/pi]; v=[(1-cos(arg))/beta-(1-cos(arg2))/beta]; a=[2*pi/beta^2*sin(arg)2*pi/beta^2*sin(arg2)];j=[4*pi^2/beta^3*cos(arg)4*pi^2/beta^3*cos(arg2)]:subplot(2,2,1) plot(ph,s,ˊK ˊ)xlabel(ˊCam angle(degrees)ˊ) ylabel(ˊDisplacement(S)ˊ) g=axis; g(2)=120; axis(g) subplot(2,2,2)plot(ph,v,ˊk ˊ,[0 120],[0 0],ˊk--ˊ) xlabel(ˊCam angle(degrees)ˊ) ylabel(ˊVelocity(V)ˊ) g=axis; g(2)=120; axis(g) subplot(2,2,3)plot(ph,a,ˊk ˊ,[0 120],[0 0],ˊk--ˊ) xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊAcceleration(A)ˊ)g=axis;g(2)=120;axis(g)subplot(2,2,4)plot(ph,j,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊJerk(J)ˊ)g=axis;g(2)=120;axis(g)2 平底盘形从动作参考下图得到如下关系:在(x,y)坐标系中,凸轮轮廓的坐标为Rx和Ry,刀具的坐标为Cx和Cy:Rx=Rcos( θ+ϕ) Ry=Rsin( θ+ϕ)C x=Ccos( γ+ϕ) C y=Ccos( γ+ϕ)其中,R=θcos Lθ=arctan ⎪⎪⎭⎫ ⎝⎛ϕd dL L 1 c=γγcos cL + γ=arctan ⎪⎪⎭⎫ ⎝⎛+c L d dL γϕ/ r c 是刀具的半径,且dL/d ϕ=V(ϕ)/ω。

滚子摆动从动件平面共轭凸轮的设计与制造

滚子摆动从动件平面共轭凸轮的设计与制造

植 毛机 凸轮为 例介 绍平 面共 轭 凸轮 的设计 、 廓磨 削 以及共 轭 精度 的检 测等 技 术. 轮
1 滚 子 摆 动 从 动 件 平 面 共轭 凸轮 廓 形 的设 计
图 I 示为 一个 典 型的滚 子摆 动从 动件平 面共 轭 凸轮机 所 构 , 中 T 为 主 凸轮 , : 回凸轮 , 、 凸轮 固联于 同心 轴 图 T 为 主 回 0; AB 分 别 为 由主 、 AB , 回凸轮 驱 动 的摆 杆 , 杆 端 点 B 摆 和 B。 安装 有 与 主 、 凸轮 接 触 的滚 子 , 径 分 别 为 R , 。 回 半 R ; A 为摆 杆摆 动 中心 , A 为摆 动 中心 与 凸轮 回转 中心 的连 线 , O
角, 由主 凸轮理 论 轮廓 计 算 得 到 回 凸轮 的 理论 轮 廓 ; 后 由 最
图 1 滚 子 摆 动 从 动 件 平 面 共 轭 凸轮 简 图
Fi 1 Th a r m f t s iltng r le g. e dig a o he o cla i o lr
关 键 词 : 轭 凸 轮 ; 度 ; 具 共 精 检 中 图 分 类 号 : 1 . TH i 2 2 文 献标 志 码 : A 文 章 编 号 : 0 7 2 X( 0 0 0 —0 3 一 4 1 0 —8 4 2 1 ) 2 0 7 O
共 轭 凸轮 系几 何形 状锁 合 的 凸轮 , 过 自身结 构 锁合保 证 从动 件 运动 轨迹 的实 现 , 通 如果 选用 合适 轮廓 并达 到制 造精 度 , 则运 动 比较平 稳 , 但共 轭轮 廓设 计制 造 困难 .l] 子摆 动从 动件 平 面共 轭 凸轮 E3 滚
是 平 面共轭 凸轮机 构 中常用 的 一种 , 在纺 织机 械 、 工机 械 和 自动 化 机 器 中 大量 使 用 . 刷植 毛机 是 轻 牙

用MATLAB绘制凸轮教程(详细)

用MATLAB绘制凸轮教程(详细)

下面我们来简单地介绍一下怎么样用matlab来绘制凸轮的工作轮廓线主要涉及解析法首先看一下理论轮廓线的方程式X=(S0+S1)sinθ+ecosθY=(S0+S1)cosθ+esinθ式中,e为偏心距,S0=sqrt(r0^2-e^2),r0为偏心圆半径只要在matlab的函数编辑中,输入一下代码即可我已经在程序中写了很详细的备注了,希望大家都能看懂附程序:%先设置凸轮的基本参数,偏心距离e,基圆半径rb,滚轮半径rr,角速度w,推杆上升的最大行程h。

h=30;w=12;rb=50;e=12;rr=10;s0=sqrt(rb*rb-e*e);%偏心距e=12,基圆rb=50,滚轮半径rr=10,角速度w=12,最大上升h=30q=120*pi/180;%这里我规定推程运动角为120度qs=(120+30)*pi/180;%远休止角为150度q1=(120+30+150)*pi/180;%回程运动角为300度for i=1:1:120%将120度按1度均分,从而得到各个度数上的轮廓坐标qq(i)=i*pi/180.0;s1=(h*qq(i)/q)-(h/(2*pi))*sin(2*pi*qq(i)/q);v1=w*(h/q)-(w*h/q)*cos(2*pi*qq(i)/q);x(i)=(s0+s1)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+s1)*cos(qq(i))-e*sin(qq(i));%理论轮廓线的坐标a(i)=(s0+s1)*cos(qq(i))-e*sin(qq(i));%cos(i)b(i)=(s0+s1)*sin(qq(i))-e*cos(qq(i));%sin(i)xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i));%实际工作轮廓线的坐标endfor i=121:1:150qq(i)=i*pi/180;s2=h;v2=0;x(i)=(s0+s2)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+s2)*cos(qq(i))-e*sin(qq(i));a(i)=(s0+s2)*cos(qq(i))-e*sin(qq(i));b(i)=(s0+s2)*sin(qq(i))-e*cos(qq(i));xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i));endfor i=151:1:300qq(i)=i*pi/180;qq1(i)=qq(i)-150*pi/180;s3=h-h*qq1(i)/(q1-qs);v3=-w*h/(q1-qs);x(i)=(s0+s3)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+s3)*cos(qq(i))-e*sin(qq(i));a(i)=(s0+s3)*cos(qq(i))-e*sin(qq(i));b(i)=(s0+s3)*sin(qq(i))-e*cos(qq(i));xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i)); endfor i=301:1:360qq(i)=i*pi/180;x(i)=(s0+0)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+0)*cos(qq(i))-e*sin(qq(i));a(i)=(s0+0)*cos(qq(i))-e*sin(qq(i));b(i)=(s0+0)*sin(qq(i))-e*cos(qq(i));xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i)); endplot(x,y,'r',xx,yy,'g')%用plot函数绘制曲线text(0,20,'理论轮廓线')%理论轮廓线的坐标位于为(0,20)text(65,40,'实际轮廓线')%实际轮廓线的坐标位于(65,40)hold on附图:。

matlab凸轮运动仿真课程设计

matlab凸轮运动仿真课程设计

matlab凸轮运动仿真课程设计一、课程目标知识目标:1. 学生能够理解凸轮运动的基本原理,掌握运用MATLAB进行凸轮运动仿真的方法。

2. 学生能够运用MATLAB软件构建凸轮运动模型,分析凸轮运动的特点及其在不同参数下的变化。

3. 学生能够掌握MATLAB中与凸轮运动相关的基本命令和函数,并运用这些工具进行数据分析和处理。

技能目标:1. 学生能够运用MATLAB软件设计简单的凸轮运动仿真程序,具备实际操作能力。

2. 学生能够通过MATLAB仿真实验,分析凸轮运动中的关键参数,并对其进行优化。

3. 学生能够独立解决在凸轮运动仿真过程中遇到的技术问题,具备一定的故障排查和问题解决能力。

情感态度价值观目标:1. 学生通过学习MATLAB凸轮运动仿真,培养对机械运动的兴趣和热情,增强对工程技术的认识。

2. 学生能够意识到理论知识与实际应用之间的联系,增强学以致用的意识。

3. 学生在团队协作中培养沟通与协作能力,学会尊重他人意见,共同解决问题。

本课程针对高年级学生,在掌握一定MATLAB基础知识和凸轮运动原理的基础上,以提高学生的实际操作能力和创新能力为目标。

课程注重理论与实践相结合,强调学生的主体地位,通过项目式教学,培养学生独立思考和解决问题的能力。

通过本课程的学习,使学生能够更好地将所学知识应用于实际工程问题中,提高综合运用知识的能力。

二、教学内容1. 凸轮运动原理回顾:简要复习凸轮机构的基本构成、运动特点及运动规律,重点回顾教材中关于凸轮运动分析的章节内容。

2. MATLAB软件基础:复习MATLAB的基本操作、编程语法和数据类型,为后续凸轮运动仿真打下基础。

3. 凸轮运动仿真方法:介绍MATLAB在凸轮运动仿真中的应用,包括建模、求解和结果分析等步骤,结合教材相关章节进行讲解。

4. MATLAB凸轮运动建模:详细讲解如何使用MATLAB软件构建凸轮运动模型,包括参数设置、函数调用和模型验证等。

凸轮设计Matlab代码

凸轮设计Matlab代码
figure %创建图形窗口
plot(x1,y1,'b-',x2,y2,'g-',x3,y3,'m-',x4,y4,'c-',...
x6,y6,'b-',x7,y7,'g-',x8,y8,'m-',x9,y9,'c-',...
y6=y1-r*p1; %y' 函数
m2=-(s0+s2).*cos(a2+2*pi/3)+e*sin(a2+2*pi/3); % 中间变量 dx/d$
n2=-(s0+s2).*sin(a2+2*pi/3)-e*cos(a2+2*pi/3); % 中间变量 dy/d$
p2=-m2./sqrt(m2.^2+n2.^2); %sin&
y4=(s0+s4).*cos(a4+7*pi/6)-e*sin(a4+7*pi/6); %y 函数
a0=linspace(0,2*pi); % 基圆自变量
x5=r0*cos(a0); %x 函数
y5=r0*sin(a0); %y 函数
%工作廓线
m1=-(h*3/2/pi*(1-cos(3*a1))-e).*sin(a1)-(s0+s1).*cos(a1); % 中间变量 dx/d$
%凸轮理论廓线与工作廓线的画法
clear %清除变量
r0=50; %定义基圆半径
e=20; %定义偏距
h=50; %推杆上升高度
s0=sqrt(r0^2-e^2);
r=10; %滚子半径

凸轮廓线设计MATLAB程序

凸轮廓线设计MATLAB程序

凸轮轮廓及其综合1. 凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。

凸轮的廓线和从动件一起实现运动形式的转换。

凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。

凸轮机构设计的内容之一是凸轮廓线的设计。

定义一个凸轮基圆r b 作为最小的圆周半径。

从动件的运动方程如下:L()=r b +s()ϕϕ设凸轮的推程运动角和回程运动角均为β,从动件的运动规律均为正弦加速度运动规律,则有:s()=h(-sin(2π/β)) 0≤≤βϕβϕπ21ϕϕs()=h -h(-sin(2π(-β/β)) β≤≤2βϕββϕ-π21ϕϕs()=0 2β≤≤2πϕϕ上式是从动件的位移,h 是从动件的最大位移,并且0≤β≤π。

如果假设凸轮的旋转速度ω=d /dt 是个常量,则速度υ、加速度a 和瞬时加速度ϕj (加速度对时间求异)分别如下:速度:υ()=(1-cos(2π/β)) 0≤≤βϕβωh ϕϕυ()=-(1-cos(2π(-β)/β) β≤≤2βϕβωh ϕϕυ()=0 2β≤≤2πϕϕ加速度:a()=sin(2π/β)) 0≤≤βϕ222βπωh ϕϕa()=-sin(2π(-β)/β) β≤≤2βϕ222βπωh ϕϕa()=0 2β≤≤2πϕϕ瞬时加速度:j()=cos(2π/β)) 0≤≤βϕ3324βωπh ϕϕj()=-cos(2π(-β)/β) β≤≤2βϕ3324βωπh ϕϕj()=0 2β≤≤2πϕϕ定义无量纲位移S=s/h 、无量纲速度V=υ/ωh、无量纲加速度A=a/hω3和无量纲瞬时加速度J=j/hω3。

若β=60°,则如下程序可以对以上各个量进行计算。

beta=60*pi/180;phi=linspace(0,beta,40);phi2=[beta+phi];ph=[phi phi2]*180/pi;arg=2*pi*phi/beta;arg2=2*pi*(phi2-beta)/beta;s=[phi/beta-sin(arg)/2/pi 1-(arg2-sin(arg2))/2/pi];v=[(1-cos(arg))/beta-(1-cos(arg2))/beta];a=[2*pi/beta^2*sin(arg)2*pi/beta^2*sin(arg2)];j=[4*pi^2/beta^3*cos(arg)4*pi^2/beta^3*cos(arg2)]:subplot(2,2,1)plot(ph,s,ˊKˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊDisplacement(S)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,2)plot(ph,v,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊVelocity(V)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,3)plot(ph,a,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊAcceleration(A)ˊ)g=axis;g(2)=120;axis(g)subplot(2,2,4)plot(ph,j,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊJerk(J)ˊ)g=axis;g(2)=120;axis(g)2 平底盘形从动作参考下图得到如下关系:在(x,y)坐标系中,凸轮轮廓的坐标为Rx和Ry,刀具的坐标为Cx和Cy:Rx =Rcos( θ+) Ry =Rsin( θ+)ϕϕC x =Ccos( γ+) C y =Ccos( γ+)ϕϕ其中,R= θ=arctan θcos L ⎪⎪⎭⎫ ⎝⎛ϕd dL L 1c= =arctan γγcos c L +γ⎪⎪⎭⎫ ⎝⎛+c L d dL γϕ/r c 是刀具的半径,且dL/d =V()/ω。

matlab凸轮课程设计

matlab凸轮课程设计

matlab 凸轮课程设计一、教学目标本课程旨在通过MATLAB软件仿真,使学生掌握凸轮机构的基本原理和设计方法,提高学生运用数学模型解决工程实际问题的能力。

具体目标如下:1.知识目标:使学生了解凸轮机构的基本概念、类型和运动特性,掌握常用凸轮机构的运动规律和设计方法,理解MATLAB在凸轮设计中的应用。

2.技能目标:培养学生运用MATLAB进行凸轮机构仿真分析的能力,能够独立完成凸轮机构的运动规律分析、参数优化和设计。

3.情感态度价值观目标:培养学生对机械设计的兴趣,增强工程实践能力和创新意识,树立团队协作和终身学习的观念。

二、教学内容本课程的教学内容主要包括以下几个部分:1.凸轮机构的基本概念、类型和运动特性。

2.常用凸轮机构的运动规律和设计方法。

3.MATLAB在凸轮设计中的应用,包括凸轮机构的运动规律分析、参数优化和设计。

教学大纲安排如下:第1-2课时:凸轮机构的基本概念、类型和运动特性。

第3-4课时:常用凸轮机构的运动规律和设计方法。

第5-6课时:MATLAB在凸轮设计中的应用。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:用于讲解凸轮机构的基本概念、类型和运动特性,以及常用凸轮机构的运动规律和设计方法。

2.案例分析法:通过分析实际案例,使学生更好地理解凸轮机构的设计和应用。

3.实验法:引导学生利用MATLAB软件进行凸轮机构的仿真实验,提高学生的实践操作能力。

四、教学资源为了支持本课程的教学,将准备以下教学资源:1.教材:《MATLAB凸轮设计教程》。

2.参考书:相关领域内的学术论文、专著等。

3.多媒体资料:课件、教学视频等。

4.实验设备:计算机、MATLAB软件等。

通过以上教学资源的支持,为学生提供丰富多样的学习体验,提高教学质量。

五、教学评估本课程的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。

评估方式包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和课堂表现。

Matlab凸轮位移分析设计

Matlab凸轮位移分析设计

MATLAB机械工程凸轮位移分析的实例班级:姓名:学号:指导教师:一.实验目的通过MATLAB上机编程,掌握MATLAB语言变量、函数、MATLAB常用程序结构和流程控制语句、交互控制语句、程序调试运行等。

二.实验内容凸轮是把一种运动转化为另一种运动的装置,通常凸轮做旋转运动,并转化为从动件的振动、直线运动或者二者的结合。

对基圆为的凸轮,为最小圆周半径,与凸轮表面相切,并和凸轮的转轴同心。

则从动件的运动方程为:+=对于旋转运动,假定有:其中,h为从动件的最大位移,为凸轮转角,为从动件摆角,并且。

如果凸轮的角速度为常量,试求出当时从动件的位移s、速度v、加速度a、瞬时加速度j的变化曲线。

三、建立M文件如下:beat=60*pi/180;phi=linspace(0,beat,40);phi2=[beat+phi];ph=[phi phi2]*180/pi;arg=2*pi*phi/beat;arg2=2*pi*(phi2-beat)/beat;s=[phi/beat-sin(arg)/2/pil-(arg2-sin(arg2))/2/pi];v=[1-cos(arg)/beat-(1-cos(arg2))/beat];a=[2*pi/beat^2*sin(arg)2*pi/beat^2*sin(arg2)];j=[4*pi^2/beat^3*cos(arg)4*pi^2/beat^3*cos(arg2)]; subplot(2,2,1);plot(ph,s,´k´);xlabel(´凸轮转角(度)´);ylabel(´位移(s)´);g=axis;g(2)=120;axis(g);subplot(2,2,2);plot(ph,v,´k´,[0 120],[0 0],´k--´)xlabel(´凸轮转角(度)´);ylabel(´速度(v)´);g=axis;g(2)=120;axis(g);subplot(2,2,3);polt(ph,a,´k´,[0 120],[0 0],´k--´)xlabel(´凸轮转角(度)´);ylabel(´加速度(v)´);g=axis;g(2)=120;axis(g);subplot(2,2,4);polt(ph,j,´k´,[0 120],[0 0],´k--´)xlabel(´凸轮转角(度)´);ylabel(´瞬时加速度(j)´);g=axis;g(2)=120;axis(g);四,输出图像。

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

disp ' ******** 滚子摆动从动件凸轮设计 ********'disp '已知条件:'disp ' 凸轮作顺时针方向转动,从动件做摆动'disp ' 从动件在推程作等加速/等减速运动,在回程作等加速等减速运动'rb =52;rt = 10;qm=15;ft = 60;fs = 10;fh = 60;alp = 35;a=140;l=122;q0=asin(rb/a)*180/pi;fprintf (1,' 基圆半径 rb = %3.4f mm \n',rb)fprintf (1,' 滚子半径 rt = %3.4f mm \n',rt)fprintf (1,' 起始角度 q0= %3.4f mm \n',q0)fprintf (1,' 最大摆动角度 qm = %3.4f mm \n',qm)fprintf (1,' 推程运动角 ft = %3.4f 度 \n',ft)fprintf (1,' 远休止角 fs = %3.4f 度 \n',fs)fprintf (1,' 回程运动角 fh = %3.4f 度 \n',fh)fprintf (1,' 推程许用压力角 alp = %3.4f 度 \n',alp)hd= pi / 180;du = 180 / pi; %角度弧度互换d1 = ft + fs;d2 = ft + fs + fh;disp ' 'disp '计算过程和输出结果:'disp ' 1- 计算凸轮理论轮廓的压力角和曲率半径'disp ' 1-1 推程(等加速/等减速运动)'s = zeros(ft);ds = zeros(ft);d2s = zeros(ft);vt=zeros(ft);st1=zeros(ft);at=zeros(ft);at = zeros(ft);atd = zeros(ft);pt = zeros(ft);for f = 1 : ftif f <= ft / 2s(f)=2*(qm/ft^2)*f^2;st1(f)=s(f);s = s(f); %推程加速方程式ds(f)=(qm/ft^2)*f;vt(f)=ds(f);ds = ds(f);d2s(f)=4*qm/ft;at(f)=d2s(f);d2s = d2s(f);elses(f)=qm-2*qm*(ft-f)^2/ft^2;st1(f)=s(f); s = s(f); %推程减速方程式ds(f)=4*qm*(ft-f)/ft^2;vt(f)=ds(f);ds = ds(f);d2s(f)=-4 *qm/ft^2;at(f)=d2s(f);d2s = d2s(f);endat(f)= atan((-l*(1-ds))/(a*sin((s+q0)*hd))-(-1)*cos((s+q0)*hd)/sin((s+q0)*hd));atd(f) = at(f) * du; %推程压力角的角度和弧度表达式p1= -a*sin(f*hd)+l*sin((s+q0-f)*hd)*(ds-1);p2= a*cos(f*hd)+l*cos((s+q0-f)*hd)*(ds-1);p3=-a*cos(f*hd)+l*(ds-1)^2*cos((s+q0-f)*hd)+l*d2s*sin((s+q0-f)*hd);p4=-a*sin(f*hd)-l*(ds-1)^2*sin((s+q0-f)*hd)+l*ds*cos((s+q0-f)*hd);pt(f)= (p1^2+p2^2)^1.5/(p1*p4-p2*p3) ;p = pt(f);endatm = 0;for f = 1 : ftif atd(f) > atmatm = atd(f);endendfprintf (1,' 最大压力角 atm = %3.4f 度\n',atm)for f = 1 : ftif abs(atd(f) - atm) < 0.1ftm = f;breakendendfprintf (1,' 对应的位置角 ftm = %3.4f 度\n',ftm)if atm > alpfprintf (1,' * 凸轮推程压力角超过许用值,需要增大基圆!\n')endptn = rb ;ftn=0;for f = 1 : ftif pt(f) < ptnptn = pt(f);endendfprintf (1,' 轮廓最小曲率半径 ptn = %3.4f mm\n',ptn)for f = 1 : ftif abs(pt(f) - ptn) < 0.1ftn = f;breakendendfprintf (1,' 对应的位置角 ftn = %3.4f 度\n',ftn)if ptn < rt + 5fprintf (1,' * 凸轮推程轮廓曲率半径小于许用值,需要增大基圆或减小滚子!\n') enddisp ' 1-2 回程(等加速等减速运动)'s = zeros(fh);ds = zeros(fh);d2s = zeros(fh);ah = zeros(fh);ahd = zeros(fh);ph = zeros(fh);for f = d1 : d2k = f - d1;if k<=fh / 2s(f) =qm-2*qm*(k)^2/fh^2;st1(f)=s(f); s = s(f);ds(f)=-4*qm*k/fh^2;ds = ds(f);d2s(f)= -4*qm/fh^2;d2s = d2s(f);elses(f) =2*qm*(d2-f)^2/fh^2;st1(f)=s(f); s = s(f);ds(f)=-4*qm*(d2-f)/fh^2;ds = ds(f);d2s(f)=4*qm/fh^2;d2s = d2s(f);endat(f)= atan((-l*(1-ds))/(a*sin((s+q0)*hd))-(-1)*cos((s+q0)*hd)/sin((s+q0)*hd));atd(f) = at(f) * du; %推程压力角的角度和弧度表达式p1= -a*sin(f*hd)+l*sin((s+q0-f)*hd)*(ds-1);p2= a*cos(f*hd)+l*cos((s+q0-f)*hd)*(ds-1);p3=-a*cos(f*hd)+l*(ds-1)^2*cos((s+q0-f)*hd)+l*d2s*sin((s+q0-f)*hd);p4=-a*sin(f*hd)-l*(ds-1)^2*sin((s+q0-f)*hd)+l*ds*cos((s+q0-f)*hd);pt(f)= (p1^2+p2^2)^1.5/(p1*p4-p2*p3) ;p = pt(f);endatm = 0;for f = 1 : ftif atd(f) > atmatm = atd(f);endendfprintf (1,' 最大压力角 atm = %3.4f 度\n',atm)for f = 1 : ftif abs(atd(f) - atm) < 0.1ftm = f;breakendendfprintf (1,' 对应的位置角 ftm = %3.4f 度\n',ftm)if atm > alpfprintf (1,' * 凸轮推程压力角超过许用值,需要增大基圆!\n')endptn = rb ;ftn=0;for f = 1 : ftif pt(f) < ptnptn = pt(f);endendfprintf (1,' 轮廓最小曲率半径 ptn = %3.4f mm\n',ptn)for f = 1 : ftif abs(pt(f) - ptn) < 0.1ftn = f;breakendendfprintf (1,' 对应的位置角 ftn = %3.4f 度\n',ftn)if ptn < rt + 5fprintf (1,' * 凸轮推程轮廓曲率半径小于许用值,需要增大基圆或减小滚子!\n') enddisp ' 2- 计算凸轮理论廓线与实际廓线的直角坐标'n = 360;s = zeros(n);ds = zeros(n);r = zeros(n);rp = zeros(n);x = zeros(n);y = zeros(n);dx = zeros(n);dy = zeros(n);xx = zeros(n);yy = zeros(n);xp = zeros(n);yp = zeros(n);xxp = zeros(n);yyp = zeros(n);for f = 1 : nif f <= ft/2s(f)=2*(qm/ft^2)*f^2;s = s(f);ds(f)=(qm/ft^2)*f;ds = ds(f);elseif f > ft/2 & f <= fts(f)=qm-2*qm*(ft-f)^2/ft^2; s = s(f);ds(f)=4*qm*(ft-f)/ft^2;ds = ds(f);elseif f > ft & f <= d1s = qm;ds = 0;elseif f > d1 & f <= (d2-fh/2)k = f - d1;s(f) =qm-2*qm*(k)^2/fh^2; s = s(f);ds(f)=-4*qm*k/fh^2;ds = ds(f);elseif f>(d2-fh/2)&f<=d2s(f) =2*qm*(d2-f)^2/fh^2; s = s(f);ds(f)=-4*qm*(d2-f)/fh^2;ds = ds(f);elseif f > d2 & f <= ns = 0;ds = 0;endxx(f) = a*cos(f*hd)-l*cos((s+q0-f)*hd);x=xx(f);yy(f) = a*sin(f*hd)+l*sin((s+q0-f)*hd);y=yy(f);dx(f) = -a*sin(f*hd)+l*sin((s+q0-f)*hd)*(ds-1); dx = dx(f);dy(f) = a*cos(f*hd)+l*cos((s+q0-f)*hd)*(ds-1); dy = dy(f);xp(f) = x-rt*(dy/sqrt(dx^2+dy^2));xxp=xp(f);yp(f) = y+rt*(dx/sqrt(dx^2+dy^2));yyp = yp(f);r(f) = sqrt (x ^2 + y ^2 );rp(f) = sqrt (xxp ^2 + yyp ^2 );enddisp ' 2-1 推程(等加速/等减速运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f = 10 : 10 :ftnu = [f xx(f) yy(f) xp(f) yp(f)];disp(nu)enddisp ' 2-2 回程(等加速/等减速运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f = d1 : 10 : d2nu = [f xx(f) yy(f) xp(f) yp(f)];disp(nu)enddisp ' 2-3 凸轮轮廓向径'disp ' 凸轮转角理论r 实际r'for f = 10 : 10 : nnu = [f r(f) rp(f)];disp(nu)enddisp '绘制凸轮的理论轮廓和实际轮廓:'plot(xx,yy,'r-.') % 理论轮廓(红色,点划线)axis ([-(150) (150) -(150) (150)]) % 横轴和纵轴的下限和上限 axis equal % 横轴和纵轴的尺度比例相同text(50,0,'X') % 标注横轴text(0,50,'Y') % 标注纵轴text(-5,5,'O') % 标注直角坐标系原点title('摆动从动件盘形凸轮设计') % 标注图形标题hold on; % 保持图形plot([-(rb) (rb)],[0 0],'k') % 横轴(黑色)plot([0 0],[-(rb) (rb+rt)],'k') % 纵轴(黑色)ct = linspace(0,2*pi); % 画圆的极角变化范围 plot(rb*cos(ct),rb*sin(ct),'g') % 基圆(绿色)plot(xp,yp,'b') % 实际轮廓(蓝色)。

相关文档
最新文档