matlab解析法画凸轮轮廓线
- 格式:doc
- 大小:1.08 MB
- 文档页数:8
凸轮廓线的MATLAB 画法1 凸轮轮廓方程*()()*()()*()*()X OE EF E Cos J So S Sin J Y BD FD So S Cos J E Sin J =+=++=-=+- (X,Y):凸轮轮廓线上的任意一点的坐标。
E :从动件的偏心距。
R :凸轮的基园半径。
J :凸轮的转角。
S :S=f(J)为从动件的方程。
So :22O S R E =-H 为从动件的最大位移(mm )。
J1、J2、J3、J4为从动件的四个转角的区域。
S1、S2、S3、S4为与J1、J2、J3、J4对应的从动件的运动规律。
2 实例R=40,E=10,H=50,J1=J2=J3=J4=900。
3 MATLAB 程序设计用角度值计算,对于给定的J1、J2、J3、J4,把相应的公式代入其中,求出位移S 和轮廓线上的各点的坐标X 、Y ,最终求出描述凸轮的数组:J=[J1,J2,J3,J4];S=[S1,S2,S3,S4];X=[X1,X2,X3,X4];Y=[Y1,Y2,Y3,Y4];用函数plot (X,,Y )画出凸轮的轮廓曲线;用plot (J,S )函数位移S 的曲线;对于速度曲线V-t 和加速度曲线a-t ,ds ds ds dt dt V dJ dJ dtω=== 在算例中已假设凸轮匀速转动的角速度为1wad/s ,所以ds ds ds ds dt dt V dJ dt dJ dtω====速度 同理可得:dJ ds dt dv a 22==加速度4 程序运行结果图一:余弦速运动规律下的凸轮轮廓曲线图二:余弦加速作用下的S-α曲线5 附程序:1、程序实例说明R=40;E=10;H=50;J1=90;J2=90;J3=90;J4=90;S0=(R^2-E^2)^(1/2);syms J S dJ dS d2J d2S syms定义符号变量,定义后字符变量才能用J11=linspace(0,J1,500);linspace用于产生两点间的N点行矢量。
H a r b i n I n s t i t u t e o f T e c h n o l o g y课程名称:精密机械学基础设计题目:直动从动件盘形凸轮的设计院系:航天学院控制科学与工程系班级: 0904102班设计者:陈学坤学号: ********** 设计时间: 2011年10月直动从动件盘形凸轮机构的计算机辅助设计说明:凸轮轮阔曲线的设计,一般可分为图解法和解析法,尽管应用图解法比较简便,能简单地绘制出各种平面凸轮的轮廓曲线,但由于作图误差比较大,故对一些精度要求高的凸轮已不能满足设计要求。
此次应用MATLAB 软件结合轮廓线方程用计算机辅助设计。
首先,精确地计算出轮廓线上各点的坐标,然后运用MATLAB 绘制比较精确的凸轮轮廓曲线以及其S-α曲线、v-t 曲线、a-t 曲线。
。
1 凸轮轮廓方程*()()*()()*()*()X OE EF E Cos J So S Sin J Y BD FD So S Cos J E Sin J =+=++=-=+-(X,Y):凸轮轮廓线上的任意一点的坐标。
E :从动件的偏心距,OC 。
R :凸轮的基园半径,OA 。
J :凸轮的转角。
S :S=f(J)为从动件的方程。
So :O S =H 为从动件的最大位移(mm )。
J1、J2、J3、J4为从动件的四个转角的区域。
S1、S2、S3、S4为与J1、J2、J3、J4对应的从动件的运动规律。
2 实例R=40,E=10,H=50,J1=J2=J3=J4=900。
3 MATLAB 程序设计用角度值计算,对于给定的J1、J2、J3、J4,把相应的公式代入其中,求出位移S 和轮廓线上的各点的坐标X 、Y ,最终求出描述凸轮的数组:J=[J1,J2,J3,J4];S=[S1,S2,S3,S4]; X=[X1,X2,X3,X4]; Y=[Y1,Y2,Y3,Y4];用函数plot (X,,Y )画出凸轮的轮廓曲线; 用plot (J,S )函数位移S 的曲线; 对于速度曲线V-t 和加速度曲线a-t ,ds ds ds dt dt V dJ dJ dtω===在算例中已假设凸轮匀速转动的角速度为1wad/s ,所以ds ds ds ds dt dt V dJ dt dJ dtω====速度 同理可得:dJds dtdva 22==加速度4 程序运行结果图一:余弦速运动规律下的凸轮轮廓曲线图二:余弦加速作用下的S-α曲线图三:余弦加速作用下的v-t曲线图四:余弦加速作用下的a-t曲线5 附程序:function tulunR=40;E=10;H=50;J1=90;J2=90;J3=90;J4=90;S0=(R^2-E^2)^(1/2);syms J S dJ dS d2J d2SJ11=linspace(0,J1,500);S1=(H/2).*(1-cos(pi.*J11/J1));X1=E.*cos(J11.*pi/180)+(S0+S1).*sin(J11.*pi/180); Y1=(S0+S1).*cos(J11.*pi/180)-E.*sin(J11.*pi/180);J22=linspace(J1,J1+J2,300);S2=J22./J22.*H;X2=E.*cos(J22.*pi/180)+(S0+H).*sin(J22.*pi/180); Y2=(S0+H).*cos(J22.*pi/180)-E.*sin(J22.*pi/180);J33=linspace(J1+J2,J1+J2+J3,300);S3=H-(H/2).*(1-cos(pi*J33/J3));X3=E*cos(J33*pi/180)+(S0+S3).*sin(J33*pi/180);Y3=(S0+S3).*cos(J33*pi/180)-E*sin(J33*pi/180);J44=linspace(J1+J2+J3,J1+J2+J3+J4,300);X4=E.*cos(J44*pi/180)+S0*sin(J44*pi/180);Y4=S0.*cos(J44*pi/180)-E*sin(J44*pi/180);S4=J44./J44.*0;X=[X1,X2,X3,X4];Y=[Y1,Y2,Y3,Y4];figure(1);plot(X,Y);hold on;t=linspace(0,2*pi,500);x=R*cos(t);y=R*sin(t);plot(x,y);title('凸轮的轮廓曲线');axis([-90,90,-90,90]);axis square;figure(2);plot(J11,S1);hold on;plot(J22,S2);plot(J33,S3);plot(J44,S4);ylabel('S');xlabel('α/rad');title('S-α曲线');J=[J11,J22,J33,J44];S=[S1,S2,S3,S4];dS=diff(S)./diff(J); %通过对位移求导后可得速度。
凸轮轮廓及其综合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 画法1 凸轮轮廓方程*()()*()()*()*()X OE EF E Cos J So S Sin J Y BD FD So S Cos J E Sin J =+=++=-=+- (X,Y):凸轮轮廓线上的任意一点的坐标。
E :从动件的偏心距。
R :凸轮的基园半径。
J :凸轮的转角。
S :S=f(J)为从动件的方程。
So :22O S R E =-。
H 为从动件的最大位移(mm )。
J1、J2、J3、J4为从动件的四个转角的区域。
S1、S2、S3、S4为与J1、J2、J3、J4对应的从动件的运动规律。
2 实例R=40,E=10,H=50,J1=J2=J3=J4=900。
3 MATLAB 程序设计用角度值计算,对于给定的J1、J2、J3、J4,把相应的公式代入其中,求出位移S 和轮廓线上的各点的坐标X 、Y ,最终求出描述凸轮的数组:J=[J1,J2,J3,J4];S=[S1,S2,S3,S4];X=[X1,X2,X3,X4];Y=[Y1,Y2,Y3,Y4];用函数plot (X,,Y )画出凸轮的轮廓曲线;用plot (J,S )函数位移S 的曲线;对于速度曲线V-t 和加速度曲线a-t ,ds ds ds dt dt V dJ dJ dtω=== 在算例中已假设凸轮匀速转动的角速度为1wad/s ,所以ds ds ds ds dt dt V dJ dt dJ dtω====速度 同理可得:dJ ds dt dv a 22==加速度4 程序运行结果图一:余弦速运动规律下的凸轮轮廓曲线图二:余弦加速作用下的S-α曲线5 附程序:1、程序实例说明R=40;E=10;H=50;J1=90;J2=90;J3=90;J4=90;S0=(R^2-E^2)^(1/2);syms J S dJ dS d2J d2S syms定义符号变量,定义后字符变量才能用J11=linspace(0,J1,500);linspace用于产生两点间的N点行矢量。
中国地质大学(武汉)1.凸轮要求=10mm,凸轮以等角设计一对心直动滚子推杆盘形凸轮机构,滚子半径rr速度逆时针回转。
凸轮转角=0~120 时,推杆等速上升20mm;=120~180 时,推杆远休止;=180~270时,推杆等加速等减速下降20mm;=270~360时,推杆近休止。
要求推程的最大压力角<=30,试选取合适的基圆半径,并绘制凸轮的廓线。
问此凸轮是否有缺陷,应如何补救。
2.列出凸轮运动方程0<<2/32/3<<2/3<<3. 由方程写MATLAB源程序%1.已知参数clear;r0=50; %基圆半径rr=10; %滚子半径h=20; %行程delta01=120;%推程运动角delta02=60; % 远休角delta03=90;%回程运动角hd=pi/180;du=180/pi;n1=delta01+delta02;n2=delta01+delta02+delta03;%2凸轮曲线设计n=360;for i=1:360%计算推杆运动规律if i<=delta01s(i)=30/pi*(i*hd);ds(i)=30/pi;ds=ds(i);elseif i>delta01 && i<=n1;s(i)=h;ds(i)=0;ds=ds(i);elseif i>n1 && i<=(n1+delta03/2)s(i)=-140+320/pi*(i*hd)-160/pi^2*(i*hd)^2; ds(i)=320/pi-320/pi^2*(i*hd);ds=ds(i);elseif i>(n1+delta03/2) && i<=n2s(i)=360-480/pi*(i*hd)+160/pi^2*(i*hd)^2;ds(i)=-480/pi+320/pi^2*(i*hd);ds=ds(i);elseif i>n2 && i<=ns(i)=0;ds=0;end%计算凸轮轨迹曲线xx(i)=(r0+s(i))*sin(i*hd);%计算理论轮廓曲线yy(i)=(r0+s(i))*cos(i*hd);dx(i)=ds*sin(i*hd)+(r0+s(i))*cos(i*hd);%计算导数 dy(i)=ds*cos(i*hd)-(r0+s(i))*sin(i*hd);xp(i)=xx(i)+rr*dy(i)/sqrt(dx(i)^2+dy(i)^2);yp(i)=yy(i)-rr*dx(i)/sqrt(dx(i)^2+dy(i)^2);end%3.输出凸轮轮廓曲线figure(1);hold on;grid on;axis equal;axis([-(r0+h-30) (r0+h+10) -(r0+h+10) (r0+rr+10)]);text(r0+h+3,4,'X');text(3,r0+rr+3,'Y');text(-6,4,'O');title('对心直动滚子推杆盘形凸轮设计');xlabel('x/mm');ylabel('y/mm');plot([-(r0+h-40) (r0+h)],[0 0],'k');plot([0 0],[-(r0+h) (r0+rr)],'k');plot(xx,yy,'r--');%»绘凸轮实际轮廓曲线ct=linspace(0,2*pi);plot(r0*cos(ct),r0*sin(ct),'g');%绘凸轮基圆plot(rr*cos(ct),r0+rr*sin(ct),'k');%绘滚子圆plot(0,r0,'o');%滚子圆中心plot([0 0],[r0 r0+30],'k');plot(xp,yp,'b'); %绘凸轮实际轮廓曲线%4. 凸轮机构运动仿真%计算凸轮滚子转角xp0=0;yp0=r0-rr;dss=sqrt(diff(xp).^2+diff(yp).^2);%对轮廓曲线进行差分计算ss(1)=sqrt((xp(1)-xp0)^2+(xp(1)-yp0)^2);%轮廓曲线第一点长度for i=1:359ss(i+1)=ss(i)+dss(i);%计算实际廓曲线长度endphi=ss/rr;%计算滚子转角%运动仿真开始figure(2);m=moviein(20);j=0;for i=1:360j=j+1;delta(i)=i*hd;%凸轮转角xy=[xp',yp'];%凸轮实际轮廓曲线坐标A1=[cos(delta(i)),sin(delta(i));%凸轮坐标旋转矩阵-sin(delta(i)),cos(delta(i))];xy=xy*A1;%旋转后实际凸轮曲线坐标clf;%绘凸轮plot(xy(:,1),xy(:,2));hold on;axis equal;axis([-(120) (470) -(100) (140)]);plot([-(r0+h-40) (r0+h)],[0],'k');%绘凸轮水平轴plot([0 0],[-(r0+h) (r0+rr)],'k');%绘凸轮垂直轴plot(r0*cos(ct),r0*sin(ct),'g');%绘基圆plot(rr*cos(ct),r0+s(i)+rr*sin(ct),'k');绘滚子圆plot([0 rr*cos(-phi(i))],[r0+s(i) r0+s(i)+rr*sin(-phi(i))],'k');% 绘滚子圆标线plot([0 0],[r0+s(i) r0+s(i)+40],'k');%绘推杆%绘推杆曲线plot([1:360]+r0+h,s+r0);plot([(r0+h) (r0+h+360)],[r0 r0],'k');plot([(r0+h) (r0+h)],[r0 r0+h],'k');plot(i+r0+h,s(i)+r0,'*');title('对心直动滚子推杆盘形凸轮设计');xlabel('x/mm');ylable('y/mm');m(j)=getframe;endmovie(m);4.运动仿真结果在MATLAB中可以看出轮廓曲线有一处缺口。
基于matlab的凸轮轮廓曲线设计凸轮是机械中常见的关键零件之一,其主要功能是将旋转的运动转化为直线运动,用于推动某些机械元件进行工作。
凸轮轮廓曲线的设计对于凸轮的运动和工作效率有着重要的影响。
在本文中,我们将介绍基于matlab的凸轮轮廓曲线设计方法,以帮助读者了解凸轮轮廓曲线设计的基本概念和方法。
凸轮的形状通常是复杂的非圆形曲线。
凸轮的轮廓曲线设计过程中,需要考虑控制凸轮输送运动的速度和加速度等因素,同时还需要考虑各种机械元件之间的协调性和协定性。
针对以上问题,我们提出了基于连续逼近法的凸轮轮廓曲线设计方法。
1. 连续逼近法的基本原理连续逼近法是一种典型的非线性规划方法,其基本思想是将目标函数逐渐逼近最优解。
在凸轮轮廓曲线设计中,我们可以将凸轮轮廓曲线视为目标函数,通过不断调整曲线的形状,逐渐逼近最优轮廓曲线。
连续逼近法的具体实现过程包括以下步骤:(1)确定初始值首先需要确定一个初始轮廓曲线,通常可以使用圆弧、抛物线等基本曲线来作为起始轮廓曲线。
(2)建立数学模型接着需要建立凸轮轮廓曲线的数学模型,以便于通过数值方法来求解最优轮廓曲线。
其中,常见的模型包括三次贝塞尔曲线、三次样条曲线等。
(3)计算目标函数根据建立的数学模型,通过计算目标函数来评估轮廓曲线的性能。
通常,目标函数包括运动速度、加速度、平衡性等因素。
(4)优化轮廓曲线通过对目标函数的优化,不断调整轮廓曲线的形状,逐渐逼近最优曲线。
(5)确定最优解最终确定最优解,并验证其性能。
matlab是一种常见的数学软件,可以运用其强大的计算能力来进行凸轮轮廓曲线的设计。
具体实现过程如下:(1)数据处理将凸轮相关的数据通过matlab进行存储和处理。
常见的数据包括凸轮的尺寸、旋转角度、轮廓曲线等。
根据凸轮的数据建立轮廓曲线的数学模型,其中包括选择适当的曲线类型、确定曲线参数等。
(5)性能验证3. 总结。
■2凸轮轮廓及其综合1.凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。
凸轮的廓线和从动件一起实现运动形式的转换。
凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。
凸轮机构设计的内容之一是凸轮廓线的设计。
定义一个凸轮基圆r b 作为最小的圆周半径。
从动件的运动方程如下:L(「)=r b +s(「)a( :) = 0 2 3 w ' w 2n设凸轮的推程运动角和回程运动角均为 3,从动件的运动规律均为正弦加速度运动规律, 则有:s( :) = h(:—sin(2 n / 3 )) Ow w 3s( :) = h — h(心―|31- sin(2 n (「- 3 / 3 ))s( :) = 0 2上式是从动件的位移,h 是从动件的最大位移,并且 o w3w如果假设凸轮的旋转速度 3= d 「/dt 是个常量,则速度 加速度a 和瞬时加速度j(加速度对时间求异)分别如下:速度:h(:)=(1-cos(2 n ■■ / 3 ))0W W加速度:h(;:)=—:(1-cos(2 n (「- 3 )/(;:)=0 2 3 w w 2 na(「)=..厂sin(2 n ■■/ 3 ))a( J =-sin(2 n ( ■- 3 )/ 3 )3w w 23beta=60*pi/180;phi=li nspace(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-si n(arg)/2/pi 1-(arg2-si n(arg2))/2/pi]; v=[(1_cos(arg))/beta_(1_cos(arg2))/beta]; a=[2*pi/beta A 2*si n(arg)2*pi/beta A 2*si n(arg2)];j=[4*pi A 2/beta A 3*cos(arg)4*pi A 2/beta A 3*cos(arg2)]:subplot(2,2,1) plot(ph,s, / K x ) xlabel( / Cam angle(degrees) / ) ylabel( / Displacement(S) x ) g=axis; g(2)=120; axis(g) subplot(2,2,2) plot(ph,v, / k x,[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 x ,[0 120],[0 0], / k--')xlabel( / Cam angle(degrees) / ) ylabel( / Acceleration(A) x ) g=axis; g(2)=120; axis(g) subplot(2,2,4)plot(ph,j, / k ,,[0 120],[0 0],/ k-- j瞬时加速度:j(.)=4-:3 hcos(2 n ■■/ 3 )) j(伫4n ( - 3)/ 3)j(定义无量纲位移S=s/h 、无量纲速度 V=u / 3 h 、无量纲加速度 A=a/h 3 3和无量纲瞬时加速度 J=j/h 3 3。
下面我们来简单地介绍一下怎么样用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附图:。
凸轮轮廓及其综合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;解析法前言凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求。
解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路[1]。
因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题。
本文基于MATLAB软件进行凸轮轮廓曲线的解析法设计,利用《机械原理》课程的计算机辅助教学,及常用机构的计算机辅助设计.其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线。
1 设计的意义与已知条件1.1意义凸轮机构是由具有曲线轮廓或凹槽的构件,通过高副接触带动从动件实现预期运动规律的一种高副机构,它广泛地应用于各种机械,特别是自动机械、自动控制装置和装配生产线中,是工程实际中用于实现机械化和自动化的一种常用机构。
所以,在凸轮的加工中,精确的确定凸轮的轮廓,这对于保证凸轮所带动从动件的运动规律是尤为重要的。
1.2已知条件偏置移动从动件盘形凸轮设计已知条件(图1):凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb = 40 mm,滚子半径rt = 10mm,推杆偏距e = 15 mm,推程升程h = 50 mm,推程运动角ft = 100度,远休止角fs = 60度回程运动角fh = 90度,推程许用压力角alp = 35度。
基于MATLAB软件的凸轮轮廓曲线设计及从动件运动学仿真李霞;刘本学;张三川【摘要】以偏置直动尖底凸轮为例,基于MATLAB软件对凸轮轮廓曲线进行了解析法设计.绘制出从动件的位移、速度及加速度曲线,并对推杆的运动规律进行了仿真.结果表明:在从动件运动规律确定的情况下,利用MATLAB软件可以很方便地得到凸轮的轮廓曲线及从动件运动学仿真曲线.【期刊名称】《中原工学院学报》【年(卷),期】2012(023)001【总页数】4页(P41-43,78)【关键词】凸轮机构;凸轮轮廓曲线;MATLAB;解析法【作者】李霞;刘本学;张三川【作者单位】郑州大学机械工程学院,郑州450001;郑州大学机械工程学院,郑州450001;郑州大学机械工程学院,郑州450001【正文语种】中文【中图分类】TP31凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求.解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路[1].因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题.本文基于MATLAB软件进行凸轮轮廓曲线的解析法设计,并对推杆的运动规律进行仿真,从而实现《机械原理》课程的计算机辅助教学,及常用机构的计算机辅助设计.其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB 绘制比较精确的凸轮轮廓曲线和推杆的位移、速度及加速度曲线.用解析法设计凸轮轮廓曲线,其基本方法就是根据从动件的运动规律和已知的机构参数,推演出凸轮轮廓线的方程式,并精确地计算出凸轮轮廓线上各点的坐标值[2].本文以偏置直动顶尖从动件盘形凸轮机构为例进行分析.如图1所示,建立Oxy坐标系,B0点为从动件处于起始位置时滚子中心所处的位置;B点为对应凸轮转过δ角后从动件到达的反转位置;δ为凸轮的转角;e为从动件的偏心距;S为从动件位移;S0 为结构常数,;r为凸轮的基园半径.由上述可知,采用解析法设计凸轮轮廓,需要根据给定的从动件运动规律s=f (δ),推导出对应的一阶导函数,然后带入相应的公式进行计算,求取凸轮轮廓曲线上点的坐标,从而获得凸轮的轮廓曲线.MATLAB软件是一种强大的数据处理软件,利用MATLAB软件进行凸轮轮廓曲线的解析法辅助设计以及从动件的运动仿真,可以大大减小由大量公式带来的工作量大的问题,而且通过设计不同的模块,可以设计出满足不同从动件运动规律的轮廓曲线.整个设计过程可分为主程序模块、从动件运动规律函数模块、机构类型子程序模块等模块的设计[3-6].主程序模块控制各设计参数的输入、子程序的调用和结果的输出;从动件运动规律函数模块提供各种从动件运动规律的位置函数的计算;机构类型子程序模块分别计算各种凸轮机构的轮廓曲线坐标和压力角.每种凸轮机构的轮廓曲线坐标值与从动件运动规律的计算都分别由一个独立的函数完成[7].基于不同的模块,编制程序,最后利用MATLAB软件的绘图命令绘制凸轮机构的轮廓曲线和从动件的位置、速度及加速度曲线.其程序流程图如图2所示.设有一偏置直动顶尖盘形凸轮机构,其工作条件为中速轻载,凸轮每2 s旋转一圈.对推杆的要求为:当凸轮转过120°时,推杆上升50 mm,凸轮继续转过60°时,推杆停止不动;凸轮再继续转过90°,推杆下降50 mm,凸轮转过其余角度时,推杆又停止不动.绘制凸轮机构的轮廓曲线和推杆的位移、速度及加速度曲线.凸轮机构要求中速轻载,故设计从动件运动规律为:(1)推程阶段采用正弦加速度运动规律,推程时运动方程为:式中:δ0为推程运动角;h为推杆行程;δ为凸轮的回转角;ω为凸轮的旋转角速度;s、v、a分别为凸轮转过δ角时推杆的位移、速度及加速度.(2)回程阶段采用等加速等减速运动规律,运动方程为:根据从动件运动规律,利用MATLAB语言编制程序,然后按要求输入各参数.初始参数:凸轮结构参数:然后运行MATLAB程序,利用程序绘制凸轮轮廓曲线及从动件运动位移、速度及加速度曲线.如图3所示.基于解析法设计凸轮轮廓曲线,在给定从动件运动规律的情况下,通过公式分析凸轮轮廓曲线上任意点的坐标和从动件的位移、速度及加速度运动规律.然后利用MATLAB软件编制程序,获得凸轮的轮廓曲线和从动件的位移、速度及加速度运动曲线.MATLAB软件和机械原理结合,补充和丰富了《机械原理》的教学方法,提高了用解析法进行机构设计的效率.【相关文献】[1]王学辉,张明辉.MATLAB6.1最新应用详解[M].北京:中国水利水电出版社,2002.[2]张三川.机械原理教程[M].郑州:郑州大学出版社,2009.[3]邬文杰.基于 MATLAB的凸轮机构轮廓曲线计算机辅助设计[J].机电工程技术,2002,31(1):38-38.[4]徐芳,周志刚.基于ADAMS的凸轮机构设计及运动仿真分析[J].机械设计与制造,2007(9):78-80.[5]王枕霞.基于AutoCAD的凸轮外形轮廓曲线的设计方法[J].机械设计与制造,2007(9):191-193.[6]孙剑萍,汤兆平.偏置滚子从动件盘形凸轮机构的参数化设计及运动仿真[J].制造业自动化,2011,33(11):106-109.[7]缪华,薛爱文,游红.凸轮机构轮廓曲线的计算机辅助设计[J].太原科技大学学报,2008,29(5):390-392.。
m a t l a b解析法画凸轮
轮廓线
-CAL-FENGHAI.-(YICAI)-Company One1
班级:姓名:学号:
基于matlab的凸轮轮廓设计
一、设计凸轮机构的意义
在工业生产中,经常要求机器的某些部件按照规定的准确路线运动,仅应用连杆机构已难以满足这个要求,所以需要利用工作表面具有一定形状的凸轮。
凸轮在所有基本运动链中,具有易于设计和能准确预测所产生的运动的优点。
如果设计其他机构来产生给定的运功、速度、和加速度,其设计工作是很复杂的,但是设计凸轮机构则比较容易,而且运动准确、有效。
所以在许多机器中,如纺织机、包装机、自动机床、自动化专用机床、数控机床、印刷机、内燃机、建筑机械、矿山机械、计算机的辅助装备及农业机具等,都可以找到凸轮机构。
在进行研究时,先设计一个简单的凸轮,在给定的旋转角度内有一定的总升距。
设计凸轮轮廓的基本方法是把凸轮固定,使从动件以其与凸轮的相关位置绕凸轮回转而形成凸轮轮廓。
因此设计凸轮时,必须画出足够多的点,使凸轮轮廓平滑可靠。
Matlab软件提供了强大的矩阵处理和绘图功能,具有核心函数工具箱。
其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好。
因此,基于matlab软件进行凸轮机构的设计可以解决设计工作量大的问题。
运用解析法进行设计,matlab可以精确的计算出轮廓上每一点的坐标,然后更为精确的绘制出凸轮轮廓曲线。
二、设计凸轮机构的已知条件
凸轮做逆时针方向转动,从动件偏置在凸轮轴心右边。
从动件在推程做等加/减速运动,在回程做余弦加速运动。
基圆半径rb=50mm,滚子半径
rt=10mm,推杆偏距e=10mm,推程升程h=50mm,推程运动角ft=100o,远休止角fs=60o,回程运动角fh=90o。
三、分析计算
1、建立坐标系
以凸轮轴心为坐标原点建立平面直角坐标系XOY,取杆件上升方向为Y轴正方向。
2、推杆运动规律计算
凸轮运动一周可分为5个阶段:推程加速阶段、推程减速阶段、远休止阶段、回程阶段、进休止阶段。
根据已知条件,推程阶段为等加/减速,故推程阶段的运动方程为:
推程加速阶段(0~)
推程减速阶段()
远休止阶段()推杆运动方程为
根据已知条件,在回程做余弦加速运动,因此回程阶段()的运动方程为
近休止阶段)的运动方程为
3、凸轮理论轮廓线计算
式中,为推杆滚子中心到X轴的垂直距离。
4、实际轮廓线计算
根据3的计算结果有
可得
凸轮实际轮廓线为
四、程序代码
rb = 50;
rt = 10;
e = 10;
h = 50;
ft = 100;
fs = 60;
fh = 90;
hd= pi / 180;
du = 180 / pi;
se=sqrt( rb^2 - e^2 );
d1 = ft + fs;
d2 = ft + fs + fh;
n = 360;
s = zeros(n);
ds = 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);
for f = 1 : n
if f <= ft/2
s(f) = 2 * h * f ^ 2 / ft ^ 2; s = s(f);
ds(f) = 4 * h * f * hd / (ft * hd) ^ 2; ds = ds(f);
elseif f > ft/2 & f <= ft
s(f) = h - 2 * h * (ft - f) ^ 2 / ft ^ 2; s = s(f);
ds(f) = 4 * h * (ft - f) * hd / (ft * hd) ^ 2; ds = ds(f);
elseif f > ft & f <= d1
s = h;ds = 0;
elseif f > d1 & f <= d2
k = f - d1;
s(f) = .5 * h * (1 + cos(pi * k / fh)); s = s(f);
ds(f)= * pi * h * sin(pi * k / fh) / (fh * hd); ds = ds(f);
elseif f > d2 & f <= n
s = 0;ds = 0;
end
xx(f) = (se + s) * sin(f * hd) + e * cos(f * hd); x = xx(f);
yy(f) = (se + s) * cos(f * hd) - e * sin(f * hd); y = yy(f);
dx(f) = (ds - e) * sin(f * hd) + (se + s) * cos(f * hd); dx = dx(f); dy(f) = (ds - e) * cos(f * hd) - (se + s) * sin(f * hd); 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);
end
disp ' 凸轮转角理论x 理论y 实际x 实际y'
for f = 10 : 10 :ft
nu = [f xx(f) yy(f) xp(f) yp(f)];
disp(nu)
end
disp ' 凸轮转角理论x 理论y 实际x 实际y' for f = d1 : 10 : d2
nu = [f xx(f) yy(f) xp(f) yp(f)];
disp(nu)
end
plot(xx,yy,'r-.')
axis ([-(rb+h-10) (rb+h+10) -(rb+h+10) (rb+rt+10)])
axis equal
text(rb+h+3,0,'X')
text(0,rb+rt+3,'Y')
text(-5,5,'O')
title('偏置移动从动件盘形凸轮设计')
hold on;
plot([-(rb+h) (rb+h)],[0 0],'k')
plot([0 0],[-(rb+h) (rb+rt)],'k')
plot([e e],[0 (rb+rt)],'k--')
ct = linspace(0,2*pi);
plot(rb*cos(ct),rb*sin(ct),'g')
plot(e*cos(ct),e*sin(ct),'c--')
plot(e + rt*cos(ct),se + rt*sin(ct),'m')
plot(xp,yp,'b')
五、运行结果截图。