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

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

凸轮动态仿真的Matlab实现

凸轮动态仿真的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编程(附录程序)

偏置直动滚子推杆盘形凸轮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程序

滚子摆动从动件凸轮设计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凸轮轮廓设计及仿真说明书.

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程序

凸轮机构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语言变量、函数、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凸轮配气机构的运动仿真

Engineer和MATLAB凸轮配气机构的运动仿真作为一名工程师,MATLAB和凸轮配气机构的运动仿真是我工作中不可或缺的技能。

凸轮配气机构是用于控制内燃机气门开闭的重要装置,它通过凸轮的转动驱动汽缸内的柄杆并带动气门运动。

而运用MATLAB进行凸轮配气机构的运动仿真便可以更精确地模拟设备运动并进行性能优化。

我在MATLAB中设计了一个凸轮配气机构模型,并利用其中的模拟工具箱中的Simulink进行动态仿真。

我们首先将内燃机的气门开启和关闭的比例进行优化,保证了最高效的功率输出。

之后,我们使用MATLAB的曲线拟合工具箱来获得不同气门开启和关闭时刻的角度和位置信息。

通过这些数据,我们可以确定最佳的凸轮轮廓。

在为凸轮进行仿真测试之前,我们需要确保真实机器的物理参数已经定义。

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仿真-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程序

■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程序

凸轮廓线设计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(ϕ)/ω。

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的凸轮设计

中国地质大学〔武汉〕1. 凸轮要求设计一对心直动滚子推杆盘形凸轮机构,滚子半径r r =10mm,凸轮以等角速度逆时针回转.凸轮转角δ=0~120 时,推杆等速上升20mm ;δ=120~180 时,推杆远休止;δ=180~270时,推杆等加速等减速下降20mm ;δ=270~360时,推杆近休止.要求推程的最大压力角α<=30,试选取合适的基圆半径,并绘制凸轮的廓线.问此凸轮是否有缺陷,应如何补救.2.列出凸轮运动方程 {S =30π∗δV =30πa =00<δ<2/3π{S =20V =0a =02/3π<δ<π {S =−140+320π∗δ−160π∗δ^2V =320π−320π2∗δa =−320/π^2π<δ<54π{S =360−480π∗δ+160π2∗δ^2V =−480π−320π2∗δa =−320/π^25/4π<δ<32π {S =0V =0a =02/3π<δ<2π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中可以看出轮廓曲线有一处缺口.应用圆弧连接起来. 5.计算结果由于数据太多,只等间隔取了三十六组数据Xx8.9718 18.2411 27.5000 36.4246 44.6859 51.9615 57.9477 62.3712 65.0000 65.6539 64.2123 60.6218 53.6231 44.9951 35.0000 23.9414 12.1554 0.0000 -12.0696 -23.2658 -32.7778 -39.9163 -44.3549 -47.1503 -48.8408 -49.7267 -50.0000 -49.2404 -46.9846 -43.3013 -38.3022 -32.1394 -25.0000 -17.1010 -8.6824 -0.0000Yy50.8817 50.1169 47.6314 43.4092 37.4959 30.0000 21.0912 10.9977 0.0000 -11.5765 -23.3714 -35.0000 -44.9951 -53.6231 -60.6218 -65.7785 -68.9365-70.0000 -68.4502 -63.9223 -56.7728 -47.5704 -37.2182 -27.2222 -17.7766 -8.7682 -0.0000 8.6824 17.1010 25.0000 32.1394 38.3022 43.3013 46.984649.2404 50.0000Dx52.5400 53.3830 52.4060 49.5474 44.8111 38.2699 30.0646 20.4019 9.5493 -2.1723 -14.3980 -26.7301 -44.9951 -53.6231 -60.6218 -65.7785 -68.9365-70.0000 -67.4676 -60.0514 -48.2845 -33.0207 -19.8785 -12.5201 -7.1415 -3.1953 0.0000 8.6824 17.1010 25.0000 32.1394 38.3022 43.3013 46.984649.2404 50.0000Dy0.4324 -9.2677 -19.2301 -29.1094 -38.5478 -47.1869 -54.6817 -60.7129 -65.0000 -67.3121 -67.4784 -65.3964 -53.6231 -44.9951 -35.0000 -23.9414 -12.1554-0.0000 17.6425 33.9010 47.4799 57.2560 58.9047 55.6385 52.7117 50.7094 50.0000 49.2404 46.9846 43.3013 38.3022 32.1394 25.0000 17.10108.6824 0.0000。

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.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和课堂表现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)。

相关文档
最新文档