|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 wzy123 于 2014-5-14 21:50 编辑
按照王立华博士论文上的螺旋锥齿轮振动模型编写了一个动力学方程,采用的是newmark算法,但是算出来的结果不是收敛的,newmark算法没有问题,测试过四个自由度的计算,结果是正确的。后来又改成了算8个自由度的模型,结果依然不正确。
现在对程序怀疑有两点:
1.刚度阻尼的取值的数量级有问题,因此推倒出了的刚度阻尼矩阵有问题
2.动力学模型有问题(8自由度的模型问题概率应该比较小)
8自由度的MATLAB程序如
%%%%%%齿轮基本参数%%%%%
m=7.5;z1=27;z2=31;b=51;
rou1=7.8e-9;%齿轮密度
rou2=7.8e-9;
alpha=20/180*pi;%压力角
beta1=35/180*pi;%中点螺旋角
beta2=35/180*pi;
sigma=90/180*pi;%轴交角
%%%%%%%基本参数计算%%%%%%
delta2=atan(z2*sin(sigma)/(z1+z2*cos(sigma)));
delta1=sigma-delta2;%节锥角
d1=m*z1;d2=m*z2;%节圆直径
Re=d2/(2*sin(delta2));%外锥距
hk=1.7*m;%工作齿高
ht=1.888*m;%全齿高
hae2=0.46*m+0.39*(z1*cos(delta2)/(z2*cos(delta1)))*m;%齿轮2齿顶高
hae1=hk-hae2;
hfe1=ht-hae1;%齿根高
hfe2=ht-hae2;
c=ht-hk;%顶隙
theta_f1=atan(hfe1/Re);%齿根角
theta_f2=atan(hfe2/Re);
delta_f1=delta1-theta_f1;%根锥角
delta_f2=delta2-theta_f2;
theta_a1=theta_f2;
theta_a2=theta_f1;
delta_a1=delta1+theta_a1;%面角度
delta_a2=delta2+theta_a2;
de1=d1+2*hae1*cos(delta1);%外径
de2=d2+2*hae1*cos(delta2);
X_e1=Re*cos(delta1)-hae1*sin(delta1);
X_e2=Re*cos(delta2)-hae1*sin(delta2);
p=pi*m;%节距
r1=m*z1/2;r2=m*z2/2;
rp1=m*z1/2;rp2=m*z2/2;
%%%%%%质量系数%%%%%%
m1=rou1*pi*(d1/2)^2*b*cos(delta1);
m2=rou2*pi*(d2/2)^2*b*cos(delta2);
I1=1/2*m1*(d1/2)^2;
I2=1/2*m2*(d2/2)^2;
%%%%%%%阻尼刚度系数%%%%%%%%%
cx1=0.1;cy1=0.1;cz1=0.1;
cx2=0.1;cy2=0.1;cz2=0.1;
kx1=1e6;ky1=1e6;kz1=1e6;
kx2=1e6;ky2=1e6;kz2=1e6;
%%%%%%%%化简用系数%%%%
a1=cos(delta1)*sin(alpha);
a2=cos(delta2)*sin(alpha);
a3=cos(delta1)*cos(alpha)*sin(beta1)+sin(delta1)*sin(alpha);
a4=cos(delta2)*cos(alpha)*sin(beta2)+sin(delta2)*sin(alpha);
a5=sin(delta1)*cos(alpha)*sin(beta1)+cos(delta1)*sin(alpha);
a6=sin(delta2)*cos(alpha)*sin(beta2)+cos(delta2)*sin(alpha);
a7=sin(delta2)*cos(alpha)*sin(beta2)+cos(delta2)*sin(alpha);
a8=sin(delta2)*sin(alpha)-cos(delta2)*cos(alpha)*sin(beta2);
a9=cos(alpha)*cos(beta2);
T1=100000;
T2=T1*z1/z2;
km=1e6;
cm=0.1;
n=1000;
wn=n*z1/60;
T=1/wn;
dt=1/50*T;
tend=4*T;
V=[m1,m1,m1,I1,m2,m2,m2,I2];
M=diag(V);
K=[kx1+a1*a7*km -a3*a7*km -a5*a7*km -a5*a7*r1*km -a2*a7*km a4*a7*km a6*a7*km a6*a7*r2*km;
-a1*a8*km ky1+a3*a8*km a5*a8*km a5*a8*r1*km a2*a8*km -a4*a8*km -a6*a8*km -a6*a8*r2*km;
-a1*a9*km a3*a9*km kz1+a5*a9*km a5*a9*r1*km a2*a9*km -a4*a9*km -a6*a9*km -a6*a9*r2*km;
a1*a9*r1*km -a3*a9*r1*km -a5*a9*r1*km -a5*a9*r1*r1*km -a2*a9*r1*km a4*a9*r1*km a6*a9*r1*km a6*a9*r1*r2*km;
-a1*a7*km a3*a7*km a5*a7*km a5*a7*r1*km kx2+a2*a7*km -a4*a7*km -a6*a7*km -a6*a7*r2*km;
a1*a8*km -a3*a8*km -a5*a8*km -a5*a8*r1*km -a2*a8*km ky2+a4*a8*km a6*a8*km a6*a8*r2*km;
a1*a9*km -a3*a9*km -a5*a9*km -a5*a9*r1*km -a2*a9*km a4*a9*km kz2+a6*a9*km a6*a9*r2*km;
-a1*a9*r2*km a3*a9*r2*km a5*a9*r2*km a5*a9*r1*r2*km a2*a9*r2*km -a4*a9*r2*km -a6*a9*r2*km -a6*a9*r2*r2*km];
C=[cx1+a1*a7*cm -a3*a7*cm -a5*a7*cm -a5*a7*r1*cm -a2*a7*cm a4*a7*cm a6*a7*cm a6*a7*r2*cm;
-a1*a8*cm cy1+a3*a8*cm a5*a8*cm a5*a8*r1*cm a2*a8*cm -a4*a8*cm -a6*a8*cm -a6*a8*r2*cm;
-a1*a9*cm a3*a9*cm cz1+a5*a9*cm a5*a9*r1*cm a2*a9*cm -a4*a9*cm -a6*a9*cm -a6*a9*r2*cm;
a1*a9*r1*cm -a3*a9*r1*cm -a5*a9*r1*cm -a5*a9*r1*r1*cm -a2*a9*r1*cm a4*a9*r1*cm a6*a9*r1*cm a6*a9*r1*r2*cm;
-a1*a7*cm a3*a7*cm a5*a7*cm a5*a7*r1*cm cx2+a2*a7*cm -a4*a7*cm -a6*a7*cm -a6*a7*r2*cm;
a1*a8*cm -a3*a8*cm -a5*a8*cm -a5*a8*r1*cm -a2*a8*cm cy2+a4*a8*cm a6*a8*cm a6*a8*r2*cm;
a1*a9*cm -a3*a9*cm -a5*a9*cm -a5*a9*r1*cm -a2*a9*cm a4*a9*cm cz2+a6*a9*cm a6*a9*r2*cm;
-a1*a9*r2*cm a3*a9*r2*cm a5*a9*r2*cm a5*a9*r1*r2*cm a2*a9*r2*cm -a4*a9*r2*cm -a6*a9*r2*cm -a6*a9*r2*r2*cm];
%%%%%%积分系数%%%%%%%
gama=0.5;
beta=0.25;
b0=1/beta/dt^2;
b1=gama/beta/dt;
b2=1/beta/dt;
b3=1/2/beta-1;
b4=gama/beta-1;
b5=dt/2*(gama/beta-2);
b6=dt*(1-gama);
b7=gama*dt;
%%%%%%%%%%矩阵规模%%%%%%%%
K1=K+b0*M+b1*C;
Nd=zeros(8,floor(tend/dt)+1);
Nv=zeros(8,floor(tend/dt)+1);
Na=zeros(8,floor(tend/dt)+1);
f=zeros(8,floor(tend/dt)+1);
%%%%%%%初值%%%%%%%%%%
en0=1e-3;
en2=(1e-3)*wn;
f(:,1)=[a7*km*en0+a7*cm*en2;-a8*km*en0-a8*cm*en2;-a9*km*en0-a9*cm*en2;T1+r1*a9*km*en0+r1*a9*cm*en2;
-a7*km*en0-a7*cm*en2;a8*km*en0+a8*cm*en2;a9*km*en0+a9*cm*en2;-T2-r2*a9*km*en0-r2*a9*cm*en2];%初始载荷
Nd(:,1)=0;%初始位移
Nv(:,1)=0;%初始速度
Na(:,1)=inv(M)*(f(:,1)-K*Nd(:,1)-C*Nv(:,1));%初始加速度
%%%%%动力学响应求解%%%%%%%
t=0:dt:tend;
for i=2:1:length(t)
en=(1e-3)*sin(wn*t(i));
en1=(1e-3)*wn*cos(wn*t(i));
f1=[a7*km*en+a7*cm*en1;-a8*km*en-a8*cm*en1;-a9*km*en-a9*cm*en1;T1+r1*a9*km*en+r1*a9*cm*en1;
-a7*km*en-a7*cm*en1;a8*km*en+a8*cm*en1;a9*km*en+a9*cm*en1;-T2-r2*a9*km*en-r2*a9*cm*en1];
f2=f1+M*(b0*Nd(:,i-1)+b2*Nv(:,i-1)+b3*Na(:,i-1))+C*(b1*Nd(:,i-1)+b4*Nv(:,i-1)+b5*Na(:,i-1));
Nd(:,i)=inv(K1)*f2;
Na(:,i)=b0*(Nd(:,i)-Nd(:,i-1))-b2*Nv(:,i-1)-b3*Na(:,i-1);
Nv(:,i)=Nv(:,i-1)+b6*Na(:,i-1)+b7*Na(:,i);
end
求各位指导下,毕设课题有点着急啊。。。
|
|