求啮合刚度和啮合阻尼的函数:
function[km,cm] = meshkc(n)
%meshkc 计算齿轮副的啮合刚度及阻尼
%
%输入
%n 在一个啮合周期内的计算点数(缺省时计算300点)
%
%输出
%km 随时间变化的啮合刚度值(n*2)
%cm 随时间变化的啮合阻尼值(n*2)
%初始参数
z=[19,48];xi=[2.26,0.0];sigma=0.0;alpha=22.6*pi/180.0;
alpha0=20.0*pi/180.0;rb1=0.02834;
omega=[2*pi*30,74.6128];epsilon=1.6456;
pn=419.9012;
Tz=1.7544e-3;E=2.068e11;mu=0.3;
if nargin<1, n=300;
end
for i=1:2
if (z(i)>135),z (i)=135;
end
if (z(i)<25)
A(i)=11.05+0.166*(abs(z(i)-25))^0.2;
B(i)=0.32+0.05*(abs(z(i)-25))^0.35;
else
A(i)=11.05-0.166*(abs(z(i)-25))^0.2;
B(i)=0.32-0.05*(abs(z(i)-25))^0.35;
end
C(i)=(abs(z(i)-17))^0.45/38.4+1.22;
end
t01=((omega(1)+omega(2))*tan(alpha)-sqrt((z(2)+2+2*xi(2)-2*sigma)^2*...
omega(2)^2/(z(1)^2*(cos(alpha0))^2)-omega(1)^2))/omega(1)/omega(2);
nn=fix(n/epsilon);
t=0.0;
dt=Tz/(n-1);
for m=1:n
km(m,1)=t;
cm(m,1)=t;
for i=1:2
%轮齿的弯曲刚度(kw(i)(i=1,2));
lamda(i)=0.5*(z(i)+2+2*xi(i))-0.5*sqrt(1+omega(i)^2*(t+t01)^2)*...
z(i)*cos(alpha0);
kw(i)=E*(1+xi(i))^B(i)*(1+lamda(i))^C(i)/A(i);
%轮齿的接触刚度(kc(i)(i=1,2));
rho(1)=omega(1)*(t+t01)*rb1;
rho(2)=((omega(1)+omega(2))/omega(2)*tan(alpha)-omega(1)*(t+t01))*rb1;
if(i==1),j=2;else,j=1;
end
kc(i)=pi*E/((1-mu^2)*(log(pi*E*rho(i)*(rho(1)+rho(2)))-...
log(2*(1-mu^2)*rho(j)*pn)+0.814));
%单齿刚度(k(i)(i=1,2));
k(i)=kw(i)*kc(i)/(kw(i)+kc(i));
end
if(m<=nn) %单齿啮合区内啮合刚度
km(m,2)=k(1)*k(2)/(k(1)+k(2));
else %双齿啮合区内啮合刚度
km(m,2)=k(1)*k(2)/(k(1)+k(2))+km(m-nn,2);
end
t=t+dt;
gxi=0.07;
r1=55.25/2000;r2=182.75/2000;J1=3.698332e-4;J2=15.257864e-3;
cm(m,2)=2*gxi*sqrt(km(m,2)*r1^2*r2^2*J1*J2/(r1^2*J1*r2^2*J2));
end |