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中可以看出轮廓曲线有一处缺口。
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')
五、运行结果截图。