% 共轭分度凸轮机构设计与分析% 相关的函数文件:% 计算凸轮机构运动参数(zhbx_cs.m)% 绘制凸轮机构运动曲线(zhbx_tx.m)% 计算凸轮廓线坐标(zhbx_xyRP.m)% 将凸轮廓线辅坐标转化为动坐标(zhbx_xyRPd.m)disp ' 用键盘输入已知条件:'n=input('凸轮转速(r/min) n = ');C=input('机构中心距(mm) C = ');disp '选择凸轮头数H、转盘分度数I与凸轮分度期转角theta_f的对应关系:'disp ' H=1时,I=6、8、10、12、16,theta_f=60、75、90、120、150度'disp ' H=2时,I=3、4、5、6、8,theta_f=90、120、150、180、210、240、270度' disp ' H=3时,I=2、4,theta_f=150、180、210、240、270度'disp ' H=4时,I=1、2、3,theta_f=180、210、240、270度'H=input('凸轮头数H = ');I=input('转盘分度数I = ');theta_f=input('凸轮分度期转角(度) theta_f = ');% 1-共轭分度凸轮机构运动分析% 凸轮角速度omega_1=pi*n/30;% 转盘滚子数z=H*I;% 凸轮停歇期转角if H<2theta_d=180-theta_f;elsetheta_d=360-theta_f;end% 转盘分度期转位角phi_f=360/I;% 机构分度期时间t_f和停歇期时间t_dhd=pi/180.0; % 角度转换为弧度的系数t_f=theta_f*hd/omega_1;t_d=theta_d*hd/omega_1;% 机构动停比k和运动系数tauk=t_f/t_d;tau=t_f/(t_f+t_d);disp '======== 共轭分度凸轮机构基本数据========'fprintf(' 凸轮转速n = %3.4f r/min \n',n)fprintf(' 机构中心距 C = %3.4f mm \n',C)fprintf(' 凸轮头数H = %3.0f \n',H)fprintf(' 转盘分度数I = %3.0f \n',I)fprintf(' 转盘滚子数z = %3.0f \n',z)fprintf(' 凸轮角速度omega_1 = %3.4f 1/s \n',omega_1)fprintf(' 凸轮分度期转角theta_f = %3.4f 度\n',theta_f)fprintf(' 凸轮停歇期转角theta_d = %3.4f 度\n',theta_d)fprintf(' 转盘分度期转角phi_f = %3.4f 度\n',phi_f)fprintf(' 机构分度期时间t_f = %3.4f s \n',t_f)fprintf(' 机构停歇期时间t_d = %3.4f s \n',t_d)fprintf(' 机构动停比k = %3.4f \n',k)fprintf(' 机构运动系数tau = %3.4f \n',tau)计算结果:======== 共轭分度凸轮机构基本数据========凸轮转速n = 100.0000 r/min机构中心距 C = 100.0000 mm凸轮头数H = 2转盘分度数I = 4转盘滚子数z = 8凸轮角速度omega_1 = 10.4720 1/s凸轮分度期转角theta_f = 180.0000 度凸轮停歇期转角theta_d = 180.0000 度转盘分度期转角phi_f = 90.0000 度机构分度期时间t_f = 0.3000 s机构停歇期时间t_d = 0.3000 s机构动停比k = 1.0000机构运动系数tau = 0.5000% 计算凸轮机构运动参数(调用组合摆线运动M文件:zhbx_cs.m)bc=0.5; % bc是转角分度单位[zhbx,i_zhbx]=zhbx_cs(theta_f,phi_f,hd,omega_1,bc);fprintf(' 组合摆线运动参数数组行数i_zhbx = %3.0f \n',i_zhbx)% 输出共轭分度凸轮机构运动参数[' 凸轮转角',' 转盘角位移',' 角速度',' 角加速度',' 跃度',' 角速度比',' 角加速度比'][zhbx(:,1),zhbx(:,2)/hd,zhbx(:,3),zhbx(:,4),zhbx(:,5),zhbx(:,6),zhbx(:,7)]计算结果:凸轮转角转盘角位移角速度角加速度跃度角速度比角加速度比0 0 0 0 3.5192 0 030.0000 3.8787 0.3345 0.8664 -0.6111 0.0319 0.007960.0000 20.1752 0.7254 0.5655 -2.6959 0.0693 0.005290.0000 45.0000 0.8798 0.0000 -3.5192 0.0840 0.0000120.0000 69.8248 0.7254 -0.5655 -2.6959 0.0693 -0.0052150.0000 86.1213 0.3345 -0.8664 -0.6111 0.0319 -0.0079180.0000 90.0000 0 -0.0000 3.5192 0 -0.0000% 绘制凸轮机构运动曲线(调用组合摆线绘图M文件:zhbx_tx.m)zhbx_tx(zhbx,hd,theta_f)% 备注:绘制的凸轮机构运动曲线形态正常(见图12-9)。
% 2-共轭分度凸轮机构几何尺寸计算disp ' 图12-10:根据机构最大压力角45~60度和转盘滚子数z,确定径距比RpC'disp ' 图12-11:凸轮理论廓线的形成条件,根据theta_f/H和转盘滚子数z,径距比最大允许值(Rp/C)max'disp ' 图12-12:凸轮理论廓线不发生自交,根据转盘分度数I和凸轮分度期转角theta_f度,径距比最大允许值(Rp/C)max'RpC=input('确定径距比RpC = ');% 转盘节圆半径Rp=C*RpC;% 凸轮基圆半径(与转盘节圆半径相切)Rb=C-Rp;% 转盘的基准起始位置角phi_10=180/z;% 凸轮的基准起始向径R_10=sqrt(C^2+Rp^2-2*C*Rp*cos(phi_10*hd));% 凸轮的基准起始位置角theta_10=asin(Rp*sin(phi_10*hd)/R_10);% 转盘滚子中心角phi_z=360/z;% 转盘滚子半径fprintf('转盘滚子半径最小值Rrmin=%3.4f mm \n',round(0.4*Rp*sin(phi_z*hd/2)))fprintf('转盘滚子半径最大值Rrmax=%3.4f mm \n',round(0.6*Rp*sin(phi_z*hd/2)))Rr=input('确定滚子半径(mm) Rr = ');% 转盘滚子宽度fprintf('转盘滚子宽度最小值bmin = %3.4f mm \n',round(1.0*Rr))fprintf('转盘滚子宽度最大值bmax = %3.4f mm \n',round(1.4*Rr))b=input('确定滚子宽度(mm) b = ');% 共轭凸轮安装相位角(前后两片凸轮两条基准起始向径的夹角)if H<2theta_p=pi-theta_f*hd-2*theta_10;elsetheta_p=2*pi-theta_f*hd-2*theta_10;end% 滚子中心Fn0的起始位置角phi_20=360*(1.5-2)/z; % 安装在转盘后侧的2号滚子phi_30=360*(1.5-3)/z; % 安装在转盘前侧的3号滚子phi_40=360*(1.5-4)/z; % 安装在转盘后侧的4号滚子% 滚子中心Fn0到凸轮轴心O1的距离R_20=sqrt(C^2+Rp^2-2*C*Rp*cos(phi_20*hd)); % 安装在转盘后侧的2号滚子R_30=sqrt(C^2+Rp^2-2*C*Rp*cos(phi_30*hd)); % 安装在转盘前侧的3号滚子R_40=sqrt(C^2+Rp^2-2*C*Rp*cos(phi_40*hd)); % 安装在转盘后侧的4号滚子% 滚子中心到凸轮轴心的向径Fn0-O1与凸轮滚子中心的连线O1-O2之间的夹角theta_20=asin(Rp/R_20*sin(phi_20*hd)); % 安装在转盘后侧的2号滚子theta_30=asin(Rp/R_30*sin(phi_30*hd)); % 安装在转盘前侧的3号滚子theta_40=asin(Rp/R_40*sin(phi_40*hd)); % 安装在转盘后侧的4号滚子disp ' ======== 共轭分度凸轮机构几何尺寸========'fprintf('机构径距比RpC = %3.4f \n',RpC)fprintf('凸轮基圆半径Rb = %3.4f mm \n',Rb)fprintf('转盘节圆半径Rp = %3.4f mm \n',Rp)fprintf('转盘滚子半径Rr = %3.4f mm \n',Rr)fprintf('转盘滚子宽度 b = %3.4f mm \n',b)fprintf('滚子中心角phi_z = %3.4f 度\n',phi_z)fprintf('凸轮基准起始向径(F10-O1) R_10 = %3.4f mm \n',R_10)fprintf('滚子中心F20到凸轮中心的距离R_20 = %3.4f mm \n',R_20)fprintf('滚子中心F30到凸轮中心的距离R_30 = %3.4f mm \n',R_30)fprintf('滚子中心F40到凸轮中心的距离R_40 = %3.4f mm \n',R_40)fprintf('转盘基准起始位置角(F10) phi_10 = %3.4f 度\n',phi_10)fprintf('滚子中心F20的起始位置角phi_20 = %3.4f 度\n',phi_20)fprintf('滚子中心F30的起始位置角phi_30 = %3.4f 度\n',phi_30)fprintf('滚子中心F40的起始位置角phi_40 = %3.4f 度\n',phi_40)fprintf('凸轮基准起始位置角(F10) theta_10 = %3.4f 度\n',theta_10/hd) fprintf('滚子中心F20向径与中心连线夹角theta_20 = %3.4f 度\n',theta_20/hd) fprintf('滚子中心F30向径与中心连线夹角theta_30 = %3.4f 度\n',theta_30/hd) fprintf('滚子中心F40向径与中心连线夹角theta_40 = %3.4f 度\n',theta_40/hd) fprintf('共轭凸轮安装相位角theta_p = %3.4f 度\n',theta_p/hd)计算结果:======== 共轭分度凸轮机构几何尺寸========机构径距比RpC = 0.4600凸轮基圆半径Rb = 54.0000 mm转盘节圆半径Rp = 46.0000 mm转盘滚子半径Rr = 10.0000 mm转盘滚子宽度 b = 12.0000 mm滚子中心角phi_z = 45.0000 度凸轮基准起始向径(F10-O1) R_10 = 60.1357 mm滚子中心F20到凸轮中心的距离R_20 = 60.1357 mm滚子中心F30到凸轮中心的距离R_30 = 92.7109 mm滚子中心F40到凸轮中心的距离R_40 = 125.0467 mm转盘基准起始位置角(F10) phi_10 = 22.5000 度滚子中心F20的起始位置角phi_20 = -22.5000 度滚子中心F30的起始位置角phi_30 = -67.5000 度滚子中心F40的起始位置角phi_40 = -112.5000 度凸轮基准起始位置角(F10) theta_10 = 17.0214 度滚子中心F20向径与中心连线夹角theta_20 = -17.0214 度滚子中心F30向径与中心连线夹角theta_30 = -27.2838 度滚子中心F40向径与中心连线夹角theta_40 = -19.8684 度共轭凸轮安装相位角theta_p = 145.9573 度% 3-共轭分度凸轮廓线计算% 1)与1号滚子相啮合的凸轮廓线坐标% 计算理论廓线辅助角lambda_10=atan2((C*cos(phi_10*hd)-Rp),(C*sin(phi_10*hd)));lambda=lambda_10;phi=phi_10;% 变量初始化alpha=zeros(i_zhbx,1);phii=zeros(i_zhbx,1);xt=zeros(i_zhbx,1);yt=zeros(i_zhbx,1);xk=zeros(i_zhbx,1);yk=zeros(i_zhbx,1);Rt=zeros(i_zhbx,1);Pt=zeros(i_zhbx,1);Rk=zeros(i_zhbx,1);Pk=zeros(i_zhbx,1);% 计算凸轮廓线坐标(调用计算凸轮廓线坐标M文件:zhbx_xyRP.m)[alpha,phii,xt,yt,xk,yk,Rt,Pt,Rk,Pk]=zhbx_xyRP(lambda,phi,zhbx,C,Rp,Rr,hd,i_zhbx);% 变量代换alpha_10=alpha;phii_1=phii;xt_1=xt;yt_1=yt;xk_1=xk;yk_1=yk;Rt_1=Rt;Pt_1=Pt;Rk_1=Rk;Pk_1=Pk;% 输出计算结果:fprintf(' 凸轮理论廓线计算辅助角lambda_10 = %3.4f 度\n',lambda_10/hd) disp ' ===== 与1号滚子相啮合的凸轮理论廓线和工作廓线的直角坐标和极坐标====='[' 凸轮转角',' xt_1',' {理论} yt_1',' xk_1', ' {工作} yk_1',' Rt_1',' {理论} Pt_1',' Rk_1', ' {工作} Pk_1'][zhbx(:,1),xt_1,yt_1,xk_1,yk_1,Rt_1,Pt_1/hd,Rk_1,Pk_1/hd]计算结果:凸轮理论廓线计算辅助角lambda_10 = 50.4786 度===== 与1号滚子相啮合的凸轮理论廓线和工作廓线的直角坐标和极坐标=====凸轮转角xt_1 {理论} yt_1 xk_1 {工作} yk_1 Rt_1 {理论} Pt_1 Rk_1 {工作} Pk_10 60.1357 -0.0000 50.1357 -0.0000 60.1357 -0.0000 50.1357 -0.000030.0000 55.0310 29.0779 46.1106 24.5583 62.2409 27.8516 52.2427 28.039560.0000 45.2475 57.4870 38.7456 49.8892 73.1580 51.7940 63.1677 52.165990.0000 16.5170 91.2277 14.3300 81.4698 92.7109 79.7376 82.7205 80.0241120.0000 -43.1924 103.0709 -39.5608 93.7536 111.7550 112.7364 101.7585112.8781150.0000 -101.9683 68.2359 -93.7089 62.5983 122.6934 146.2101 112.6938 146.2567180.0000 -124.8924 6.2110 -114.9047 5.7143 125.0467 177.1530 115.0467 177.1530% 2)与3号滚子相啮合的凸轮廓线坐标% 在辅助坐标系O1x'y'(x'轴与动坐标系x轴的夹角是:theta_10+theta_30)中计算% 计算理论廓线辅助角lambda_30=atan2((C*cos(phi_30*hd)-Rp),(C*sin(phi_30*hd)));lambda=lambda_30;phi=phi_30;% 变量初始化alpha=zeros(i_zhbx,1);phii=zeros(i_zhbx,1);xt=zeros(i_zhbx,1);yt=zeros(i_zhbx,1);xk=zeros(i_zhbx,1);yk=zeros(i_zhbx,1);Rt=zeros(i_zhbx,1);Pt=zeros(i_zhbx,1);Rk=zeros(i_zhbx,1);Pk=zeros(i_zhbx,1);% 计算凸轮廓线坐标(调用计算凸轮廓线坐标M文件:zhbx_xyRP.m)[alpha,phii,xt,yt,xk,yk,Rt,Pt,Rk,Pk]=zhbx_xyRP(lambda,phi,zhbx,C,Rp,Rr,hd,i_zhbx);% 变量代换(辅助动坐标系O1x'y'中的坐标用_p标识)alpha_p=alpha;phii_p=phii;xt_p=xt;yt_p=yt;xk_p=xk;yk_p=yk;Rt_p=Rt;Pt_p=Pt;Rk_p=Rk;Pk_p=Pk;% 输出计算结果:fprintf(' 凸轮理论廓线计算辅助角lambda_30 = %3.4f 度\n',lambda_30/hd)disp ' ===== 与3号滚子相啮合的凸轮理论廓线和工作廓线的辅助动坐标系坐标====='[' 凸轮转角',' xt_p',' {理论} yt_p',' xk_p', ' {工作} yk_p',' Rt_p',' {理论} Pt_p',' Rk_p', ' {工作} Pk_p'][zhbx(:,1),xt_p,yt_p,xk_p,yk_p,Rt_p,Pt_p/hd,Rk_p,Pk_p/hd]计算结果:凸轮理论廓线计算辅助角lambda_30 = -175.2162 度===== 与3号滚子相啮合的凸轮理论廓线和工作廓线的辅助动坐标系坐标=====凸轮转角xt_p {理论} yt_p xk_p {工作} yk_p Rt_p {理论} Pt_p Rk_p {工作} Pk_p0 92.7109 0.0000 82.7109 0.0000 92.7109 0.0000 82.7109 0.000030.0000 77.5197 44.9344 68.9515 39.7784 89.6014 30.0988 79.6029 29.980860.0000 39.6229 65.6497 34.8047 56.8870 76.6802 58.8869 66.6895 58.540890.0000 10.7136 59.1737 9.3567 49.2662 60.1357 79.7376 50.1468 79.2464120.0000 -0.6970 54.0656 -0.6151 44.0659 54.0701 90.7386 44.0702 90.7997150.0000 -18.1293 55.3981 -15.1534 45.8512 58.2891 108.1209 48.2903 108.2883180.0000 -43.0350 42.0036 -35.8787 35.0188 60.1357 135.6949 50.1357 135.6949% 检查与3号滚子相啮合的凸轮廓线之间区段的压力角figure(3);plot(zhbx(:,1),alpha_p/hd)title('与3号滚子相啮合凸轮廓线区段的压力角变化线图') % 标注图形标题grid;xlabel('凸轮转角\theta (^。