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

(此文档为word格式,下载后您可任意编辑修改!)第1章绪论1.1 机构学的现状与发展1.1.1 机构学的概况机构学是以运动几何学和力学为主要理论基础,以数学分析为主要手段,对各类机构进行运动和动力分析与综合的学科。
机构学为创造新的机器和进行机械发明与改革提供正确有效的理论和方法,以设计出更经济合理、更先进的机械设备,来满足生产发展和人们生活的需求。
机构学的发展将直接影响到机械工业各类产品的工作性能以及许多行业生产设备的机械化和自动化程度。
机构学作为机械工程技术科学中的一门主要基础学科,近年来由于机电一体化高技术科学特别是工业机器人与特种机器人的发展对机构学理论和技术上的要求,使机构学学科达到了一个崭新的阶段。
在国际学术讨论会上,各国科学家一致认为它有如旭日东升,正显出其无比强大的生命力。
机构学一方面由简单的运动分析与综合向复杂的运动分析与综合方面发展,另一方面也由机构运动学向机构动力分析与综合方向发展,研究机构系统的合理组成的方法及其判据,分析研究机器在传递运动、力和做功过程中出现的各种问题。
机构精度问题也相应地由静态分析走向动态分析。
机构联结件的间隙在高速运转时有不容忽视的影响,因而需要研究机构间间隙、摩擦、润滑与冲击引起的机构变形、稳态与非稳态下的动态响应和过渡过程问题。
在惯性力作用下,由于机构上刚度薄弱环节的弹性变形,由此研究以振动理论多自由度模态化、线性与非线性、随机的功率谱与载荷谱等为分析手段和方法而形成的运动弹性动力学问题,以及视整个机构系统为柔性的多柔体系统动力学和逆动力学分析、综合及控制问题。
它是把整个机构看成是由多刚体组成的多刚体动力学、结构动力学及自动控制等学科发展的交叉边缘学科。
由多种、多个构件组成的机构称为组合机构。
组合机构与机构系统组成理论的发展使机构学已成为重型、精密及各种复合机械和智能机械、仿生机械、机器人等高技术科学的设计基础理论学科。
1.1.2机构学的现状(1)平面与空间连杆机构的结构理论研究研究机构的结构单元及机构拓扑结构特征,如主动副存在准则、活动度类型及其判定、拓扑结构的同构判定、消极子运动链判定等。
凸轮动态仿真的Matlab实现

第27 卷第12 期2006 年12 月煤矿机械C oal Mine MachineryV ol127N o112Dec1 2006 文章编号:100320794 (2006) 1220090203凸轮动态仿真的Matlab 实现鲍振博, 李连江, 周晓红(天津农学院, 天津300384)摘要: 介绍了Matlab 的基本功能;提出了用Matlab 实现凸轮动态仿真的三要素及基本步骤; 给出了Matlab 进行仿真的理论设计和源程序;实际运行结果表明用Matlab 进行凸轮动态仿真具有形象、直观等特点,对凸轮的计算机辅助设计制造有重要的参考价值。
关键词: 凸轮; Matlab ; 动态仿真中图号: TP31 文献标志码: ARealization of Dynamic Emulation of Cam Based on MatlabBAO Z hen - bo , LI L ian - jiang , ZHO U X iao - hong( Tianjin Agricultu ral University , Tianjin 300384 , C hina)Abstract : The fundamental function of Matlab is introduced. Three points and basic processes of dynamic emu2 lation of cam based on Matlab are proposed. Theory design and source program to emulate based on Matlab are given out. The practical running results shows that dynami c emulation of cam based on Matlab have the charac2 teristics of vivid and ocular , which have important reference val ue to the C AD and C AM of cam.Key word s :cam ; Matlab ; dynamic emulation1 凸轮动态仿真的Matlab 实现对一些真实系统进行结构和参数的优化设计是非常困难的,这时仿真可以发挥它特殊的优化设计功能。
偏置直动滚子推杆盘形凸轮Matlab编程(附录程序)

机械原理大作业学院:机械与电子信息学院授课老师:曾小慧姓名:张京学号:20131004547日期:2015-5-23目录1.求轮廓曲线○1推程阶段○2远休止阶段○3回程阶段○4近休止阶段○5Matlab程序设计○6轮廓图形2.求工作廓线○1推程阶段○2远休止阶段○3回程阶段○4近休止阶段○5Matlab程序设计○6轮廓图形3.求解最大压力角○1压力角公式○2MATLAB程序设计○3根据MATLAB程序作图可得出其压力角与角度的关系并分析○4失真情况分析4.附录 Matlab程序凸轮轮廓9-14试设计偏置直动滚子推杆盘形凸轮机构的理论轮廓曲线和工作廓线。
已知凸轮轴置于推杆轴线右侧,偏距e=20mm ,基圆半径r。
=50mm ,滚子半径rr=10mm 。
凸轮以等角速度沿顺时针方向回转,在凸轮转过角d 1=120º的过程中,推杆按正弦加速度运动规律上升h=50mm ;凸轮继续转过d 2=30º时,推杆保持不动;其后,凸轮再回转角度d 3=60º时,推杆又按余弦加速度运动规律下降至起始位置;凸轮转过一周的其余角度时,推杆又静止不动。
解:1.求理论廓线对于偏置直动滚子推杆盘形凸轮机构,凸轮理论廓线上B 点(即滚子中心)的直角坐标为]cos sin )[(0δδe s s x ++-=δδsin cos )(0e s s y -+= (a ) 式中mm mm e r s 826.452050222200=-=-=① 推程阶段3212001πδ=︒=)]2/()3sin()2/3[()]2/()/2sin()/[(110110111πδπδπδπδδδ-=-=h h s (⎥⎦⎤⎢⎣⎡=32,01πδ) ② 远休止阶段 63002πδ=︒=502=s ⎥⎦⎤⎢⎣⎡=6,02πδ③ 回程阶段36003πδ=︒=2/)]3cos(1[2/)]/cos(1[30333δδπδ+=+=h h s ⎥⎦⎤⎢⎣⎡=3,03πδ ④ 近休止阶段6515004πδ=︒= 04=s ⎥⎦⎤⎢⎣⎡=65,04πδ○5Matlab 程序设计: a1=linspace(0,2*pi/3); %推程阶段的自变量s1=h*(3*a1/2/pi-sin(3*a1)/2/pi); %推杆产生的相应位移x1=-((s0+s1).*sin(a1)+e*cos(a1)); %x 函数y1=(s0+s1).*cos(a1)-e*sin(a1); %y 函数a2=linspace(0,pi/6); %远休止阶段的自变量s2=50; %推杆位移x2=-((s0+s2).*sin(a2+2*pi/3)+e*cos(a2+2*pi/3)); %x 函数y2=(s0+s2).*cos(a2+2*pi/3)-e*sin(a2+2*pi/3); %y 函数a3=linspace(0,pi/3); %回程阶段的自变量s3=h*(1+cos(3*a3))/2; %推杆位移x3=-((s0+s3).*sin(a3+5*pi/6)+e*cos(a3+5*pi/6)); %x 函数y3=(s0+s3).*cos(a3+5*pi/6)-e*sin(a3+5*pi/6); %y 函数a4=linspace(0,5*pi/6); %近休止阶段的自变量s4=0; %推杆位移x4=-((s0+s4).*sin(a4+7*pi/6)+e*cos(a4+7*pi/6)); %x 函数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 函数○6轮廓图形 通过Matlab 软件,编写程序,将以上各相应值代入式(a)计算理论轮廓线上各点的坐标值。
滚子摆动从动件凸轮设计matlab程序

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') % 实际轮廓(蓝色)。
matlab凸轮轮廓设计及仿真说明书.

偏置盘型凸轮创新课程设计课程名称:机械原理设计题目:偏置盘型凸轮设计院系:机电学院班级:09机41设计者:彭辉学号:09294040指导教师:王卫辰学校:江苏师范大学前言凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求.解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路口。
因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题。
本此课程设计基于MATLAB软件进行凸轮轮廓曲线的解析法设计,并对的运动规律凸轮进行仿真,其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线和推杆的位移、速度及加速度曲线以及仿真。
目录前言 1第一章:工作意义 3 1.1本次课程设计意义3 1.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第六章:参考文献 226.1:参考文献 22第一章:工作意义1.1本次课程设计意义凸轮是一个具有曲线轮廓或凹槽的构件,一般为主动件,作等速回转运动或往复直线运动。
凸轮机构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语言变量、函数、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);四,输出图像。
Engineer和MATLAB凸轮配气机构的运动仿真
Engineer和MATLAB凸轮配气机构的运动仿真作为一名工程师,MATLAB和凸轮配气机构的运动仿真是我工作中不可或缺的技能。
凸轮配气机构是用于控制内燃机气门开闭的重要装置,它通过凸轮的转动驱动汽缸内的柄杆并带动气门运动。
而运用MATLAB进行凸轮配气机构的运动仿真便可以更精确地模拟设备运动并进行性能优化。
我在MATLAB中设计了一个凸轮配气机构模型,并利用其中的模拟工具箱中的Simulink进行动态仿真。
我们首先将内燃机的气门开启和关闭的比例进行优化,保证了最高效的功率输出。
之后,我们使用MATLAB的曲线拟合工具箱来获得不同气门开启和关闭时刻的角度和位置信息。
通过这些数据,我们可以确定最佳的凸轮轮廓。
在为凸轮进行仿真测试之前,我们需要确保真实机器的物理参数已经定义。
MATLAB经典的自适应计算方法可以在相对较短的时间内对不同的凸轮设计进行运动仿真测试,这有助于我们快速地判断各种不同参数下的设计的优劣。
仿真测试呈现了凸轮的不同状态下内燃机气门的开启和关闭过程。
开关气门的时间可以根据我们需要进行调整。
在进行模拟运算时,我们可以模拟不同转速下的内燃机运动,并在不同负载下测试内燃机的动力性能,这使得我们能够以客观的角度评估不同的凸轮设计,并选择最佳设计方案。
我们也可以使用MATLAB来获得不同凸轮形状的旋转速度和运动惯性等信息,这有助于我们进行可靠的控制系统设计。
以及这方面的进一步研究将为制造商提供更高效和可靠的凸轮配气机构设计,从而提高工业内燃机的性能和可靠性。
总的来说,作为一名工程师,MATLAB和凸轮配气机构的运动仿真技能可以帮助我简化产品设计过程,并提供更准确和可靠的性能评估。
通过利用动态仿真,我可以以客观的方法评估各种设计,并选择最佳的方案。
我相信,这些技能将在工业界得到更广泛的重视和应用,为制造商带来更多的商业利益和竞争优势。
数据分析是工程师工作中非常重要的环节,它能够让我们更好地了解产品性能并发现其中的问题。
matlab凸轮设计
偏置直动尖端推杆盘型凸轮机构一、凸轮参数二、推杆运动规律进程段 余弦加速度运动进程段 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;四、运行结果。
凸轮运动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)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 on
hold 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 on
hold 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 on
hold 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)。