Matlab编程五次凸轮
- 格式:doc
- 大小:1.05 MB
- 文档页数:6
基于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 对凸轮的设计变量进行优化,以使目标函数最小化或者最大化。
偏置盘型凸轮创新课程设计课程名称:机械原理设计题目:偏置盘型凸轮设计院系:机电学院班级: 09机41设计者:彭辉学号: 09294040指导教师:王卫辰学校:江苏师范大学前言凸轮轮廓曲线的设计,一样可分为图解法和解析法.利用图解法能比较方便地绘制出各类平面凸轮的轮廓曲线.但这种方式仅适用于比较简单的结构,用它对复杂结构进行设计那么比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能知足设计要求.解析法能够依照设计要求,通过推导机构中各部份之间的几何关系,成立相应的方程,精准地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精准地绘制出来.可是,当从动件运动规律比较复杂时,利用解析法取得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了壮大的矩阵处置和画图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简练直观,操作简易,人机交互性能好,且能够方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路口。
因此,基于MATLAB软件进行凸轮机构的解析法设计,能够解决设计工作量大的问题。
本此课程设计基于MATLAB软件进行凸轮轮廓曲线的解析法设计,并对的运动规律凸轮进行仿真,其具体方式为第一精准地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线和推杆的位移、速度及加速度曲线和仿真。
目录前言 1第一章:工作意义 31.1本次课程设计意义31.2 已知条件4第二章:工作设计进程 5 2.1:设计思路 5 2.2:滚子从动件各个时期相关方程 6 2.3:盘型凸轮理论与实际轮廓方程 7第三章:工作程序进程 7 3.1:滚子从动件各各时期MATLAB程序编制 8 3.2:凸轮的理论实际运动仿真程序编制 12 第四章:运行结果 17 4.1:滚子运动的位移图 17 4.2:滚子运动的速度图 17 4.3:滚子运动的加速度图,局部加速度图 18 4.4:滚子运动的仿真图 19 4.5:滚子运动的理论与实际轮廓图 20第五章:设计总结 21 5.1:总结 21第六章:参考文献 22 6.1:参考文献 22第一章:工作意义1.1本次课程设计意义凸轮是一个具有曲线轮廓或凹槽的构件,一样为主动件,作等速回转运动或往复直线运动。
附2:习题4-3解答(1)凸轮的理论廓线方程:000()sin cos ()cos sin x s s e y s s e s ϕϕϕϕ=++⎧⎨=+-⎩=式中 (2)从动件在不同阶段的位移方程:2sin()[0,120]230[120,150][150,300]'0[300,360]h h s h h πϕϕϕφπφϕϕϕφϕ⎧-∈︒︒⎪⎪∈︒︒⎪=⎨⎪-∈︒︒⎪⎪∈︒︒⎩推程阶段远休止阶段回程阶段近休止阶段(3)求解凸轮的实际廓线:a r a r 00x =x-r cos y =y-r sin sin cos ()cos sin sin ()sin cos cos dx dy dxds s s e d d dy ds s s e d d θθθθϕϕϕϕϕϕϕϕϕϕ⎧⎨⎩⎧⎪=⎪⎪⎪⎪⎪⎨⎪-⎪=⎪⎪⎪⎪⎩⎧=++-⎪⎪⎨⎪=++-⎪⎩式中而同样,由于位移s 与从动件所处的运动阶段有关,所以有:2cos()[0,120]0[120,150]s [150,300]'0[300,360]h hd hd πϕϕφφφϕϕϕφϕ⎧-∈︒︒⎪⎪∈︒︒⎪=⎨⎪∈︒︒⎪⎪∈︒︒⎩推程阶段远休止阶段回程阶段近休止阶段(4)代入已知条件,并用Matlab 语言编程求解,编程代码如下: disp ' ******** 偏置直动滚子从动件盘形凸轮设计 ********' disp '已知条件:'disp ' 凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边'disp ' 从动件在推程作摆线运动规律运动,在回程作等速运动规律运动' ro = 50;rr = 10;e = 12;h = 30;ft = 120;fs = 30;fh = 150;fprintf (1,' 基圆半径 ro = %3.4f mm \n',ro) fprintf (1,' 滚子半径 rr = %3.4f mm \n',rr) fprintf (1,' 推杆偏距 e = %3.4f mm \n',e) fprintf (1,' 推程行程 h = %3.4f mm \n',h) fprintf (1,' 推程运动角 ft = %3.4f 度 \n',ft) fprintf (1,' 远休止角 fs = %3.4f 度 \n',fs) fprintf (1,' 回程运动角 fh = %3.4f 度 \n',fh) hd = pi / 180;du = 180 / pi; so = sqrt( ro^2 - e^2 ); d1 = ft + fs;d2 = ft + fs + fh; disp ' 'disp '计算过程和输出结果:'disp ' 1-1 推程(摆线运动规律运动)' s = zeros(ft);ds = zeros(ft);d2s = zeros(ft); for f = 1 : fts(f) = h * f / ft - h * sin(2 * pi * f / ft) / (2 * pi);s = s(f);ds(f) = h / (ft * hd) - h / (ft * hd) * cos(2 * pi * f / ft);ds = ds(f); d2s(f) = 2 * pi * h / (ft * hd) ^ 2 * sin(2 * pi * f / ft);d2s = d2s(f); enddisp ' 1-2 回程(等速运动规律运动)' s = zeros(fh);ds = zeros(fh);d2s = zeros(fh); for f = d1 : d2s(f) = h - h * (f-150) / fh; s = s(f); ds(f) = - h / (fh * hd);ds = ds(f); d2s(f) = 0;d2s = d2s(f); 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);xa = zeros(n);ya = zeros(n);xxa = zeros(n);yya = zeros(n);for f = 1 : nif f <= fts(f) = h * f / ft - h * sin(2 * pi * f / ft) / (2 * pi);s = s(f);ds(f) = h /(ft * hd) - h / (ft * hd) * cos(2 * pi * f / ft); ds = ds(f);elseif f > ft & f <= d1s = h;ds = 0;elseif f > d1 & f <= d2s(f) = h - h * (f-150) / fh; s = s(f);ds(f) = - h / (fh * hd);ds = ds(f);elseif f > d2 & f <= ns = 0;ds = 0;endxx(f) = (so + s) * sin(f * hd) + e * cos(f * hd); x = xx(f);yy(f) = (so + s) * cos(f * hd) - e * sin(f * hd); y = yy(f);dx(f) = (ds - e) * sin(f * hd) + (so + s) * cos(f * hd); dx = dx(f);dy(f) = (ds - e) * cos(f * hd) - (so + s) * sin(f * hd); dy = dy(f);xxa(f) = x + rr * dy / sqrt(dx ^ 2 + dy ^ 2);xa = xxa(f);yya(f) = y - rr * dx / sqrt(dx ^ 2 + dy ^ 2);ya = yya(f);r(f) = sqrt (x ^2 + y ^2 );rp(f) = sqrt (xa ^2 + ya ^2 );enddisp ' 2-1 推程(摆线运动规律运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y' for f = 10 : 10 :ftnu = [f xx(f) yy(f) xxa(f) yya(f)];disp(nu)enddisp ' 2-2 回程(等速运动规律运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y' for f = d1 : 10 : d2nu = [f xx(f) yy(f) xxa(f) yya(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 ([-(ro+h-10) (ro+h+10) -(ro+h+10) (ro+rr+10)]) % 横轴和纵轴的下限和上限axis equal % 横轴和纵轴的尺度比例相同text(ro+h+3,0,'X') % 标注横轴text(0,ro+rr+3,'Y') % 标注纵轴text(-5,5,'O') % 标注直角坐标系原点title('偏置直动滚子从动件盘形凸轮设计') % 标注图形标题hold on; % 保持图形plot([-(ro+h) (ro+h)],[0 0],'k') % 横轴(黑色)plot([0 0],[-(ro+h) (ro+rr)],'k') % 纵轴(黑色)plot([e e],[0 (ro+rr)],'k--') % 初始偏置位置(黑色,虚线) ct = linspace(0,2*pi); % 画圆的极角变化范围plot(ro*cos(ct),ro*sin(ct),'g') % 基圆(绿色)plot(e*cos(ct),e*sin(ct),'c--') % 偏距圆(蓝绿色,虚线)plot(e + rr*cos(ct),so + rr*sin(ct),'y') % 滚子圆(黄色)plot(xxa,yya,'b') % 实际轮廓(蓝色)(5)求解凸轮理论廓线和实际廓线坐标值如下:******** 偏置直动滚子从动件盘形凸轮设计********已知条件:凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作摆线运动规律运动,在回程作等速运动规律运动基圆半径ro = 50.0000 mm滚子半径rr = 10.0000 mm推杆偏距 e = 12.0000 mm推程行程h = 30.0000 mm推程运动角ft = 120.0000 度远休止角fs = 30.0000 度回程运动角fh = 150.0000 度计算过程和输出结果:1-1 推程(摆线运动规律运动)1-2 回程(等速运动规律运动)计算凸轮理论廓线与实际廓线的直角坐标2-1 推程(摆线运动规律运动)凸轮转角理论x 理论y 实际x 实际y10.0000 20.2659 45.8284 16.5674 36.537520.0000 28.1734 42.3200 23.8536 33.301230.0000 36.0243 38.3959 31.4216 29.518140.0000 44.1625 33.9622 39.1460 25.311550.0000 52.6430 28.5078 46.7788 20.407760.0000 61.0261 21.3770 53.9159 14.345370.0000 68.4036 12.1267 59.9368 6.8057 80.0000 73.6533 0.8019 64.1128 -2.1946 90.0000 75.8133 -12.0000 65.8180 -12.3064 100.0000 74.4098 -25.3056 64.6887 -22.9602 110.0000 69.5921 -38.0996 60.7079 -33.5092 120.0000 62.0165 -49.6616 54.2107 -43.41102-2 回程(等速运动规律运动)凸轮转角理论x 理论y 实际x 实际y 150.0000 28.8770 -74.0165 25.2424 -64.7004 160.0000 14.9014 -76.0270 14.3851 -66.0404 170.0000 1.1258 -75.4900 2.4259 -65.5749 180.0000 -12.0000 -72.5386 -8.9229 -63.0238 190.0000 -24.0666 -67.3832 -19.3110 -58.5864 200.0000 -34.7179 -60.3010 -28.4390 -52.5180 210.0000 -43.6616 -51.6242 -36.0665 -45.1192 220.0000 -50.6772 -41.7260 -42.0190 -36.7223 230.0000 -55.6208 -31.0065 -46.1908 -27.6786 240.0000 -58.4280 -19.8770 -48.5462 -18.3440 250.0000 -59.1126 -8.7451 -49.1177 -9.0659 260.0000 -57.7635 1.9999 -48.0018 -0.1704 270.0000 -54.5386 12.0000 -45.3524 8.0487 280.0000 -49.6567 20.9409 -41.3723 15.3401 290.0000 -43.3865 28.5615 -36.3031 21.5028 300.0000 -36.0357 34.6616 -30.4141 26.39132-3 凸轮轮廓向径凸轮转角理论r 实际r10.0000 50.1094 40.118220.0000 50.8402 40.962930.0000 52.6498 43.111940.0000 55.7114 46.616350.0000 59.8663 51.036660.0000 64.6619 55.791770.0000 69.4702 60.322080.0000 73.6577 64.150490.0000 76.7571 66.9586100.0000 78.5951 68.6426110.0000 79.3387 69.3420120.0000 79.4501 69.4501130.0000 79.4501 69.4501140.0000 79.4501 69.4501150.0000 79.4501 69.4501160.0000 77.4736 67.5889170.0000 75.4984 65.6197180.0000 73.5245 63.6524190.0000 71.5521 61.6869200.0000 69.5812 59.7237210.0000 67.6121 57.7628220.0000 65.6448 55.8044230.0000 63.6795 53.8489240.0000 61.7165 51.8964250.0000 59.7559 49.9474260.0000 57.7981 48.0021270.0000 55.8432 46.0611280.0000 53.8916 44.1247290.0000 51.9438 42.1935300.0000 50.0000 40.2681310.0000 50.0000 40.0000320 50 40330.0000 50.0000 40.0000340 50 40350.0000 50.0000 40.0000360.0000 50.0000 40.0000(6)由Matlab绘制的实际图轮廓线和理论图轮廓线如下:图例:绿色——基圆;红色点划线——理论廓线;蓝色——实际廓线;黄色——滚子圆;蓝绿色,虚线——偏距圆;黑色,虚线——初始偏置位置;。
弹簧机构MATLAB凸轮代码下面是一个示例MATLAB 代码,可以用来模拟凸轮机构。
这段代码使用了凸轮机构的解析解,通过迭代解决方程来求解位置和速度。
首先,我们需要设置一些参数,包括凸轮机构的几何参数(如凸轮半径和齿数),以及模拟的时间步长和模拟的总时间。
clear;clc;% Set simulation parametersdt = 0.01; % time stept_total = 5; % total simulation time% Set mechanism parametersR = 1; % crank radiusr = 0.5; % follower radiusN = 20; % number of teeth然后,我们需要计算凸轮机构的解析解。
这可以通过迭代方程来实现,方程如下x_i+1 = x_i + dt*v_i+1v_i+1 = v_i + dt*a_i+1其中x_i 和v_i 分别表示第i 次迭代时凸轮机构的位置和速度,a_i 表示凸轮机构的加速度。
% Initialize position and velocityx = 0;v = 0;% Initialize timet = 0;% Initialize arrays to store position and velocity datax_data = [];v_data = [];% Iterate through timewhile t < t_total% Calculate accelerationa = (R - r)*sin(x) / (R*N);% Update position and velocityx = x + dt*v;v = v + dt*a;% Store datax_data = [x_data x];v_data = [v_data v];% Update timet = t + dt;end最后,我们可以使用MATLAB 的plot 函数绘制凸轮机构的位置和速度随时间的变化情况。
matlab凸轮摇杆机构设计动画代码一、引言凸轮摇杆机构是机械工程中常见的一种机构,其运动特性决定了它在很多领域都有广泛的应用,例如发动机、汽车、船舶等。
而在设计凸轮摇杆机构时,需要进行大量的计算和试验,这对于工程师来说是一个非常繁琐的过程。
但是,通过使用MATLAB软件可以大大简化这个过程,并且可以生成动画效果来更直观地展示凸轮摇杆机构的运动特性。
二、MATLAB凸轮摇杆机构设计代码以下是MATLAB代码实现凸轮摇杆机构的动画效果:1. 定义凸轮形状首先需要定义凸轮的形状,可以采用圆弧、正弦曲线等方式进行定义。
例如,在此我们采用正弦曲线进行定义:```matlabtheta = linspace(0,2*pi,100);r = 1+sin(theta);```2. 定义摇杆长度和连杆长度根据具体情况定义摇杆长度和连杆长度:```matlabL1 = 3;L2 = 6;```3. 计算连杆末端位置坐标根据凸轮形状和连杆长度,可以计算出连杆末端的位置坐标:```matlabx1 = r.*cos(theta);y1 = r.*sin(theta);x2 = x1 + L1*cos(theta);y2 = y1 + L1*sin(theta);```4. 计算摇杆末端位置坐标根据连杆长度和摇杆长度,可以计算出摇杆末端的位置坐标:```matlabtheta2 = asin((y2-L2)./L1);x3 = x2 - L2*cos(theta-theta2);y3 = y2 - L2*sin(theta-theta2);```5. 绘制动画效果最后,使用MATLAB的plot函数绘制凸轮摇杆机构的动画效果:```matlabfor i=1:length(x3)plot([0,x2(i),x3(i)],[0,y2(i),y3(i)],'k-o','linewidth',4,'MarkerFaceColor','r','MarkerSize',10)axis equalpause(0.01)end```三、MATLAB凸轮摇杆机构设计代码详解1. 步骤一:定义凸轮形状在此我们采用正弦曲线进行定义。
凸轮轮廓程序:>> 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>>以上是计算推程压力角的临界值。
凸轮轮廓程序:>> 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)];>> i仁[(k1-e).*si n( a1)+(sO+s1).*cos(a1)].*[(k1-e).*(k1-e)+(sO+s1).*(sO+s1)]A(-1/2);>> j1=[-(k1-e).*cos(a1)+(s0+s1).*si n( a1)].*[(k1-e).*(k1-e)+(s0+s1).*(s0+s1)].^(-1/2); >> x1O=x1-1O*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).*si n( a2)+(s0+s2).*cos(a2)].*[(k2-e).*(k2-e)+(s0+s2).*(s0+s2)]A(-1/2);j2=[-(k2-e).*cos(a2)+(s0+s2).*si n( a2)].*[(k2-e).*(k2-e)+(s0+s2).*(s0+s2)].A(-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).*si n( a3)+(s0+s3).*cos(a3)].*[(k3-e).*(k3-e)+(s0+s3).*(s0+s3)].A(-1/2);>> j3=[-(k3-e).*cos(a3)+(s0+s3).*si n( a3)].*[(k3-e).*(k3-e)+(s0+s3).*(s0+s3)].A(-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).*si n( a4)+(s0+s4).*cos(a4)].*[(k4-e).*(k4-e)+(s0+s4).*(s0+s4)].A(-1/2);>> j4=[-(k4-e).*cos(a4)+(s0+s4).*si n( a4)].*[(k4-e).*(k4-e)+(s0+s4).*(s0+s4)].A(-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*si n(6*x)+6*x.*si n(6*x)+(2-2* pi/15)*cos(6*x)-2+2* pi/15;>> xColu mns 1 through 60 0.0100 0.0200 0.0300 0.0400 0.0500Colu mns 7 through 120.0600 0.0700 0.0800 0.0900 0.1000 0.1100Colu mns 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.8300Columns 85 through 900.8400 0.8500 0.8600 0.8700 0.8800 0.8900Columns 91 through 960.9000 0.9100 0.9200 0.9300 0.9400 0.9500Columns 97 through 1020.9600 0.9700 0.9800 0.9900 1.0000 1.0100Columns 103 through 1051.0200 1.0300 1.0400>> tColumns 1 through 60.0000 0.3461 0.6925 1.0379 1.3809 1.7202Columns 7 through 122.0546 2.3825 2.70283.0141 3.3150 3.6042Columns 13 through 183.88044.1424 4.3889 4.6187 4.83075.0237Columns 19 through 245.1967 5.3487 5.4788 5.5861 5.6698 5.72925.7636 5.7725 5.7555 5.7122 5.6422 5.5455Columns 25 through 30Columns 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-9.2016 -8.7339 -8.2356 -7.7081 -7.1530 -6.5722 Columns 91 through 96Columns 97 through 102x =Columns 1 through 6Columns 7 through 11-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; >> xColumns 1 through 6Columns 7 through 11>> tColumns 1 through 6Columns 7 through 11>> 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; >> x0.4620 0.4621 0.4622 0.4623 0.4624 0.46250.46000.4610 0.4620 0.4630 0.4640 0.46500.46600.4670 0.4680 0.4690 0.47000.12430.0755 0.0266 -0.0225 -0.0717 -0.1210-0.1704 -0.2199-0.2696 -0.3193 -0.36920.4626 0.4627 0.4628 0.4629 0.4630>> tColumns 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))];>> y-0.4367 1.1121>> a=atan(y)-0.4117 0.8384>> a*180/pians =-23.5900 48.0382>>以上是计算推程压力角的临界值。
偏置直动尖端推杆盘型凸轮机构一、凸轮参数二、推杆运动规律进程段 余弦加速度运动进程段 S= H-H*(1-cos(pi*i/J1))/2 (00~900) 回程段 余弦加速度运动回程段 S= H*(1-cos(pi*i/J3))/2 (1800~2700) 凸轮廓线方程:)sin(*)()cos(*22J S E R J E X +-+= )sin(*)cos(*)(22J E J S E R Y -+-= 三、程序设计%凸轮机构参数E=10; %偏距H=50; %升程b=0:pi/10:2*pi;R=40; %基圆半径x2=R*cos(b); %基圆轮廓y2=R*sin(b);x1=10*sin(b);%偏心圆轮廓y1=10*cos(b);J1=90; %推程J3=90; %回程s0=sqrt(R^2-E^2);s1=(H/2)*(1-cos(pi*i/J1)); %推程,余弦加速度运动 s2=H*eig(eye(360))'; %停歇,s=Hs3=H-(H/2)*(1-cos(pi*i/J3));%回程,余弦加速度运动 s4(1,360)=0; %停歇,s=0 x(1,360)=0;y(1,360)=0;%凸轮机构循环代码for i=1:360if i>=270s(i)=0;elseif i>=180s(i)=H-H*(1-cos(pi*i/J1))/2;elseif i>=90s(i)=H;elses(i)=H*(1-cos(pi*i/J3))/2;endx(i)=E*cos(pi*i/180)+(s0+s(i))*sin(pi*i/180);y(i)=(s0+s(i))*cos(pi*i/180)-E*sin(pi*i/180); end%凸轮轮廓曲线figure(1)plot(x,y,'-r',x1,y1,'-b',x2,y2,'-g','linewidth',2); title('凸轮轮廓曲线');xlabel('x'),ylabel('y');axis([-80,120,-100,60]);grid on;%位移曲线figure(2)plot(s,'-r','linewidth',2);title('位移曲线');xlabel('转角'),ylabel('位移')axis([0,400,-10,60]);grid on;四、运行结果。
附录11、用解析法设计凸轮2的实际轮廓曲线。
1、建立凸轮轮廓的数学模型。
图l 为往复式偏心从动件盘形凸轮的机构运动简图,B 为
理论轮廓线上的任意一点,在图示的直角坐标系中,B 的坐
标,即凸轮理论廓线上的直角坐标参数方程为:
X=OE+EF=(S0+S )*Sin (J )+e*Cos (J )
Y=BD – FD=(S0+S )*Cos (J ) – e*Sin (J )
式中:
X ,Y :凸轮理论廓线上的某一点坐标 (mm)
e :从动件的偏心距(mm),OC
R :凸轮的基圆半径(mm),OA
S 0:220E R S -=(mm),CK
J :凸轮的转角 S :S =f(J)从动件运动方程,KB
BC =CK 十KB =S 0十S
因为工作廓线在法线方向的距离处处相等,且等于滚子半径r ’,故当已知理论廓线上的任意一点B(X,Y)时,只要沿理论廓线在该点的法线的方向取距离为r ’,即得到工作廓线上的相应点B ’(X ’,Y ’).由高等数学可知,理论廓线B 点处的法线n-n 的斜率(与切线斜率互为负倒数)应为 Tan a=-dx/dy=(dx/dJ)/(dx/dJ)/(-dy/dJ)=sina/cosa
注: a 为理论廓线B 点处的法线和X 轴的夹角。
根据(1)(2)两式有
dx/dJ=(ds/dJ-e)sin(J)+(s0+s)cos(J) (3)
dy/dJ=(ds/dJ-e)cos(J)-(s0+s)sin(J) (4)
可得
Sin a=(dx/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (5)
Cos a=-(dy/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (6)
工作廓线上对应的点B ’(x ’,y ’)坐标为:
x ’=x-r ’cos a
y ’=y- r ’sin a
2、 从动件运行规律:五次多项式运行规律
从动件运动形式为:升—停—降—停型
推程(升)δ1 远休止(停)δ2
回程(降)δ3
近休止(停)δ4 等加速等减速 S 1=10h(δ/δ1)^3-15h S 2=h
等减速等加速 S 1=h-h(10(δ/δ3)^3-15(δ/δ3)^4+6(δ/δ3)^5) S 4=0
图1
3、绘制凸轮曲线的程序框图
(1)升回程运动函数的子程序框图
(3)绘制凸轮轮廓的主程序框图
定义升程的运行规律定义远休的运行规律定义回程的运行规律定义近休的运行规律
绘制S-δ曲线
(4)绘制S-δ曲线的程序框图
4、程序编写(以下程序在Matlab7.0上运行通过)
(1)升回程运动函数的子程序
function y = s(x) %申明从动件运行规律函数
deg=pi/180; %转化为弧度制的参数
h=10; %从动件行程
if (x<0)|(x>2*pi)
error('Input Range error(0~2*pi)');
else
if x<(60*deg)&(x>=0)
y=h*(10*(x/(60*deg))^3-15*(x/(60*deg))^4+6*(x/(60*deg))^5);%升程运动规律else
if(x>=60*deg)&(x<70*deg)
y=h;%远休运动规律
else
if(x>=70*deg)&(x<130*deg)
y=h-h*(10*((x-70*deg)/(60*deg))^3-15*((x-70*deg)/(60*deg))^4+6*((x-70*deg)/(60*deg))^5);
%回程运动规律
else
y=0;%近休运动规律
end
end
end
end
(2)绘制ds/dδ运动函数的子程序
function d=ds(x) %申明ds/dδ运行规律函数
h=10; %凸轮2行程
deg=pi/180;
if (x<0)|(x>2*pi)
error('Input Range error(0~2*pi)');
else
if x<(60*deg)&(x>=0)
d=h/(60*deg)*((30*(x/(60*deg))^2-60*(x/(60*deg))^3+30*(x/(60*deg))^4));%对S求导else
if(x>=60*deg)&(x<70*deg)
d=0; %对S求导
else
if(x>=70*deg)&(x<130*deg)
d=-h/(60*deg)*((30*((x-70*deg)/(60*deg))^2-60*((x-70*deg)/(60*deg))^3+30*((x-70*deg)/(60* deg))^4));%对S求导
else
d=0; %对S求导
end
end
end
end
(3)绘制凸轮轮廓的主程序
clear;
i=1;
r0=60; %基圆半径
rr=4;%滚子圆半径
e=0; %偏距
eta=1; %凸轮顺时钉转向
s0=(r0^2-e^2)^0.5;
deg=pi/180;
st=0.05*deg;%步长
a=0;
if a<2*pi
x(i)=(s(a)+s0)*sin(eta*a)-e*cos(eta*a);%定义理论轮廓线的X座标y(i)=(s(a)+s0)*cos(eta*a)+e*sin(eta*a); %定义理论轮廓线的Y座标dx=ds(a)*sin(eta*a)-eta*(s(a)+s0)*cos(eta*a)-e*eta*sin(eta*a);
dy=ds(a)*cos(eta*a)+eta*(s(a)+s0)*sin(eta*a)-e*eta*cos(eta*a);
sino=dx/(dx^2+dy^2)^0.5;
coso=dy/(dx^2+dy^2)^0.5;
X(i)=x(i)-rr*coso;%定义实际轮廓线的X座标
Y(i)=y(i)+rr*sino;%定义实际轮廓线的Y座标
i=i+1;
a=a+st;
end
plot(x,y,X,Y);%绘制理论和实际轮廓线
axis('square','equal');
grid on
主程序运行的结果为凸轮轮廓曲线:
(4)绘制S-δ曲线的程序为:
h=10;
t1=linspace(0,60*pi/180); %定义升程角范围y1=h*(10*(t1/(60*deg)).^3-15*(t1/(60*deg)).^4+6*(t1/(60*deg)).^5); %升程运动规律
t2=linspace(60*pi/180,70*pi/180); %定义远休角范围y2=h;%远休运动规律
t3=linspace(70*pi/180,130*pi/180); %定义回程角范围y3=h-h*(10*((t3-70*deg)/(60*deg)).^3-15*((t3-70*deg)/(60*deg)).^4+6*((t3-70*deg)/(60*deg)). ^5); %回程运动规律
t4=linspace(130*pi/180,360*pi/180); %定义近休角范围y4=0;%近休运动规律plot(t1,y1,t2,y2,t3,y3,t4,y4)%绘制S-δ曲线
程序运行的结果为:。