⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cam_2.m

📁 机械原理中磙子凸轮设计中的一个电算设计小程序
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                         已知参数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

rb=40;  %
rt=10;
h=60;
e=15;
ft=100;
fs=60;
fh=90;

hd=pi/180;du=180/pi;
se=sqrt(rb*rb-e*e);
d1=ft+fs;
d2=ft+fs+fh;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                        凸轮曲线设计
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%---------------------  变量数组初始化 ---------------------

n=360;
s=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)=0.5*h*(1+cos(pi*k/fh)); s=s(f);
        ds(f)=-0.5*pi*h*sin(pi*k/fh)/(fh*hd)^2;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);
    
   % r(f)=sqrt(dx^2+dy^2);
   % rp(f)=sqrt(xxp^2+yyp^2);
    
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                         输出图形结果
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(2);
hold on;
grid on;

axis equal;
axis([-(rb+h-30) (rb+h+10) -(rb+h+10) (rb+rt+10)]);
text(rb+h+3,4,'X');
text(3,rb+rt+3,'Y');
text(-6,4,'O');
title('偏置直动滚子推杆盘形凸轮设计');
plot([-(rb+h-40) (rb+h)],[0 0],'k');
plot([0 0],[-(rb+h) (rb+rt)],'k');

plot(xx,yy,'r-');                       % 理论轮廓曲线
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),'k');   % 滚子圆
plot(xp,yp,'b');                        % 实际轮廓曲线


  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -