离合器预减振超载造成变速箱怠速异响matlab与python仿真分析
- 概述
变速箱空挡噪声产生于车辆静止,发动机怠速运转,变速箱位于空挡,离合器在接合状态下,在离合器壳和变速箱壳体处可以听见“嘎啦、嘎啦”的响声。虽然变速箱空挡噪声对变速箱寿命影响不大,但是对用户的体验影响很大,如何避免变速箱出现空挡噪声是汽车NHV工程师面临的重要挑战之一。
变速箱产生空挡噪声的主要原因是发动机的角速度波动,产生角速度波动的主要原因:一方面是由于气缸内的燃气压缩产生不规则的脉冲扭矩;另一方面是由于活塞往复运动产生周期性的惯性力矩。周期性变化的发动机角加速度经离合器减振器传给变速箱输入轴,在花键齿间和齿轮齿间产生冲击,该冲击又经变速箱轴承传给变速箱壳体,变速箱壳体振动,发出噪声。
为减小变速箱空挡噪声,离合器减振器通常带有预减振级,刚度较小,以减小发动机传给变速箱的振动,但是如果预减振级的转角设计的过小,则其最大传递扭矩过小,在发动机怠速情况下,经发动机传给变速箱的扭矩可能超过其最大传递扭矩,从而离合器减振器的第二级弹簧参与工作,造成振动增大,发出噪声。因而离合器减振器匹配不合适,造成变速箱输入轴加速度过大,也是变速箱空挡噪声产生的重要原因。
为研究离合器减振器对变速箱空挡噪声的影响,本文建立了发动机、离合器、变速箱的简化动力学模型,对系统的振动情况进行了仿真计算,并对一变速箱空挡噪声案例进行对比分析,验证了仿真计算的可行性,为变速箱离合器匹配设计提供依据。
- 变速箱空挡噪声的理论分析
齿轮噪声产生的临界条件是:相啮合的齿轮或花键的惯性扭矩大于其上的阻尼力矩。
当时,无负荷的啮合处便发出噪声。
这里,T为从动件上阻尼力矩(Nm),J为从动件的转动惯量(包括附属于从动件的所有对转动惯量有影响的部分)(kgm2), θ 为从动件的角加速度(rad/sec2)。
图1为变速箱空挡噪声产生的原理图,发动机经离合器将扭矩及运动传递给变速箱输入轴,然后又经过主动齿轮传给从动齿轮。当主动齿轮加速时,会推动从动齿轮加速,主从动齿轮总是在工作齿面(驱动侧)啮合,此时不会出现齿轮敲击声;当主动齿轮减速时,如果从动轮的阻尼力矩T小于从动齿轮的惯性力矩的绝对值,则从动齿轮不能及时减速,主从动齿轮会从工作齿面脱开,并在非工作齿面(背隙侧)接触,发生敲击声。
理想情况下,飞轮端转速波动经离合器减振器后传到变速箱输入轴端,转速波动会减小,变速箱主从动齿轮的转速波动较小,从动齿轮的角加速度θ较小,从动齿轮的惯性力矩的绝对值较小,不会发生空挡噪声。但是,如果离合器减振器设计不当,则可能使进入变速箱输入轴的转速波动加大,使从动齿轮的惯性力矩的绝对值大于其阻尼力矩,造成主从动齿轮从工作齿面脱开,在非工作齿面接触,产生敲击声。
另外,变速箱的油温对变速箱的齿轮噪声也有影响,当变速箱油温上升,变速箱润滑油的粘度降低,齿轮接触表面的阻尼减小,造成阻尼力矩减小,齿轮噪声加大,这是变速箱有时候在冷箱不出现空挡噪声,热箱后出现空挡噪声的原因。
图1 变速箱空挡噪声产生原理
- 仿真计算分析
离合器减振器的性能对变速箱空挡噪声有重要的影响,为了分析其影响,可设计发动机、离合器和变速箱的动力学模型。
考虑到发动机怠速、变速箱位于空挡时,发动机转动惯量比离合器、变速箱大的多,假设发动机运动不会受到离合器及变速箱的影响,可以将发动机的飞轮转速作为动力学模型的输入。另外,为了简化模型,我们不需要求哪一对齿轮出现敲击,将所有与输入轴连接的件等效地换算到一轴上,即求各零件(离合器从动片、各拟合齿轮、中间轴、轴承等)到一轴上的当量转动惯量。这样,只需要考虑离合器减振器的刚度和阻尼,即建立单自由度振动模型。离合器减震器是非线性的,有两级刚度,假设在怠速情况下,离合器减振器要么在第一级刚度下工作,要么在第二级刚度下工作,这样,可进一步将动力学模型简化为线性单自由度模型,其本质为离合器隔振模型,如图2所示。u为发动机飞轮带离合器压盘的转速,x为变速箱输入轴的转速,M为变速箱输入轴及其相连零件的当量转动惯量,c和k为离合器扭转减振器的阻尼及刚度。
图2 离合器隔振模型
其微分方程为:
设系统的输出y(t)=x(t),系统的输入为u(t),对微分方程进行拉氏变换可得到系统的传递函数模型TF:
根据传递函数模型,可由飞轮的转速激励得到变速箱输入轴的转速响应。这里,我们不仅希望得到变速箱输入轴的转速响应,还希望得到变速箱输入轴的加速度响应,以估算从动齿轮的惯性力矩。为此,设计一个新的微分方程:
并转换为现在最常用的状态空间模型SS:
dX=AX+Bv
y=CX+Dv
X为状态变量,
即x1为变速箱输入轴的角位移,x2 为变速箱输入轴的转速。
D=1/m
y为变速箱输入轴的角加速度。
根据线性微分方程的性质,当vt=u(t)时,
系统的状态为:
系统的输出为:
用matlab编程进行仿真计算:
- 用A、B、C、D矩阵及函数ss()建立状态空间模型
sys=ss(A, B, C, D);
- 用函数lsim()进行仿真计算
[y,t,X]=lsim(sys,u,t,X0);
X0=[0,0]表示系统初始状态为0
u为试验测得的飞轮转速波动数据(测量值减均值),t为对应的时间
X为系统状态变量,X(:,1)为输入轴转速,X(:,2)为输入轴角加速度
y为系统输出,y为输入轴角加速度导数
- 利用c*X(:,2)+k*X(:,1)计算变速箱输入轴的转速,利用c*y+k*X(:,2)计算变速箱输入轴的角加速度
五、附录
1、 单自由度无阻尼振动程序
k1=7.5/(pi/180);
m1=0.22;
c1=0;
t=0:0.001:1;
f0=705/60*3;
%f_dx0=9*(pi/180)*cos(2*pi*f0*t);
%f_x0=9*(pi/180)/(2*pi*f0)*sin(2*pi*f0*t);
%f1=c1*f_dx0+k1*f_x0;
wn=sqrt(k1/m1);
s=2*pi*f0/wn;
B=9*(pi/180)/(2*pi*f0);
x0=0;
dx0=0;
x=x0*cos(wn*t)+dx0/wn*sin(wn*t)+B/(1-s^2)*(sin(2*pi*f0*t)-s*sin(wn*t));
figure
subplot(3,1,1)
%plot(t,f1)
subplot(3,1,2)
plot(t,x*180/pi)
2、 单自由度有阻尼振动程序
k1=7.5/(pi/180);
m1=0.22;
wn=sqrt(k1/m1);
s_=0.5;
wd=sqrt(1-s_^2)*wn;
c1=2*s_*wn*m1;
t=0:0.001:1;
f0=705/60*3;
f_dx0=9*(pi/180)*cos(2*pi*f0*t);%%%%%%%%%%%%%%%%%
f_x0=9*(pi/180)/(2*pi*f0)*sin(2*pi*f0*t);
f1=0*c1*f_dx0+k1*f_x0;%%%%%%没考虑本阻尼造成的地基力的输入!!!!!!!!!!!!!!
s=2*pi*f0/wn;
B0=9*(pi/180)/(2*pi*f0);
B=B0/sqrt((1-s^2)^2+(2*s_*s)^2);
%%%%%%%%%%%%%%%%%%
if s>1
B=-B;
end
%%%%%%%%%%%%%%%%%%%%%%
phai=atan(2*s_*s/(1-s^2));
x0=0.0;
dx0=0.0;
x=exp(-s_*wn*t).*(x0*cos(wd*t)+(dx0+s_*wn*x0)/wd*sin(wd*t))...
+B*exp(-s_*wn*t).*(sin(phai)*cos(wd*t)+(s_*wn*sin(phai)-2*pi*f0*cos(phai))/wd*sin(wd*t))...
+B*sin(2*pi*f0*t-phai);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%https://wenku.baidu.com/view/009915e19b89680203d82503.html
%%%第6页公式10如果能改下就更好了。从9推导10时,默认了一个条件就是X与X0同号,
%%%即为正值。如果阻尼omiga>1(即激励频率大于无阻尼固有频率时),应为负值。
%%%增加一个条件就可以使本公式既可以满足有阻尼振动,也可以满足无阻尼振动。从数学和编程上来说,更合理。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure
subplot(3,1,1)
plot(t,f1)
subplot(3,1,2)
plot(t,x*180/pi)
grid on
3、 FFT程序
%%%%%%傅里叶变换/逆变换/短时傅里叶变换%%%%%%
data=load('testdata.mat');%
t=data.x(:,1);%
y=data.x(:,2);
Fs=1000;
t1=min(t):1/Fs:max(t);
y1=interp1(t,y,t1);
%y1=sin(2*pi*10*t1)
subplot(3,1,1);
plot(t,y,'r*',t1,y1)
xlabel('Time(s)');%在第一个窗口画波形
sigLength=length(y1);
%
Nshow=sigLength/10;%显示的点数(频率段,因频谱对称只需一半内)
%
n=0:sigLength-1;
Y=fft(y1-mean(y1),length(y1)); %在sigLength这个有限区间内做快速傅立叶变换!!!减均值
%!!!!!减均值只考虑波动的频谱情况!!!
%mag=abs(Y);
f=Fs*n/sigLength;
subplot(3,1,2);plot(f(1:Nshow),abs(Y(1:Nshow)));
xlabel('Frequency(Hz)');
%在第一个窗口画率谱,
grid on;
4、 SS模型仿真程序
k1=7.55/(pi/180);
m1=0.3511;
M=[m1];
K=[k1];
n=size(M,1);
wn=sqrt(k1/m1);
s_=0.25;
wd=sqrt(1-s_^2)*wn;
c1=2*s_*wn*m1;
C=[c1];
G=[C,M;M,zeros(n)];
H=[K,zeros(n);zeros(n),-M];
ssA=-G\H;
ssB=G\[eye(n);zeros(n)];%G dX +H X =E u => dX="-G\H" X +"G\E" u
%ssB=[zeros(n),inv(M);inv(M),-inv(M)^2]*[eye(n);zeros(n)];
ssC=[-M\K,-M\C];
ssD=inv(M);%设输出Y= d^2X=[-M\K,-M\C]*[X,dX]+[M]\U
%[t,f_x0,f_dx0]=wav_trapz;
data=load('testdata.mat');%
t=data.x(:,1);%
y=data.x(:,2);
Fs=1000;
t1=min(t):1/Fs:5;%max(t);%到5s?????
y1=interp1(t,y,t1);
y1=(y1-mean(y1))/60;%计算相对转速并换算到RPS
t=t1;U=y1;
%t=t-min(t);%将仿真开始时间调整为0
%f1=C(1)*f_dx0+K(1)*f_x0;
%U=[f1];
sys=ss(ssA,ssB,ssC,ssD);
X0=[0.0,0];%X0=zeros(2*n,1);%X0=[x1_0,...,dx1_0,...]
[Y,t,X]=lsim(sys,U,t,X0);
X(:,3)=Y;
Cs=[K(1)C(1) 0;0 K(1) C(1)];%Y=C*X
Ys=X*Cs';
subplot(3,1,1)
plot(t,U*60)
xlabel('飞轮转速f_dx0(rpm)');
grid on
subplot(3,1,2)
plot(t,Ys(:,1)*60)
xlabel('离合器从动盘转速dx(rpm)');
subplot(3,1,3)
plot(t,Ys(:,2))
xlabel('离合器从动盘加速度a(rps^2)');
5、 单自由度振动理论PPT
https://wenku.baidu.com/view/009915e19b89680203d82503.html
第6页公式10如果能改下就更好了。从9推导10时,默认了一个条件就是X与X0同号,即为正值。如果阻尼omiga>1(即激励频率大于无阻尼固有频率时),应为负值。增加一个条件就可以使本公式既可以满足有阻尼振动,也可以满足无阻尼振动。从数学和编程上来说,更合理。
6、改用python进行仿真计算
import matplotlib.pyplot as plt
from scipy.signal import lti, lsim
import numpy as np
import pandas as pd
#plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
#plt.rcParams['axes.unicode_minus']=False #用来正常显示负号k1=450/(np.pi/180);#7.55;450
m1=0.2331;#0.066251;#0.2331;
M=np.array([[m1]]);
K=np.array([[k1]]);
wn=np.sqrt(k1/m1);
s_=0.25;
n=M.shape[0]
wd=np.sqrt(1-s_**2)*wn;
c1=2*s_*wn*m1;
C=np.array([[c1]]);
G=np.r_[np.c_[C,M],np.c_[M,np.zeros((n,n))]] #G=[C,M;M,O]
H=np.r_[np.c_[K,np.zeros((n,n))],np.c_[np.zeros((n,n)),-M]] #H=[K,O;O,-M]
ssA=-np.linalg.inv(G)@H;
ssB=np.linalg.inv(G)@np.row_stack([np.eye(n),np.zeros((n,n))]); #G dX +H X =E u => dX="-G\H" X +"G\E" u
#ssB=[zeros(n),inv(M);inv(M),-inv(M)^2]*[eye(n);zeros(n)];
#ssC=[-M\K,-M\C];
ssC=np.column_stack([-np.linalg.inv(M)@K,-np.linalg.inv(M)@C])
ssD=np.linalg.inv(M); #设输出Y= d^2X=[-M\K,-M\C]*[X,dX]+[M]\U
#t,f_x0,f_dx0]=wav_trapz;
data = pd.read_csv('testdata.txt', header=None, )
#data.head(10)
Fs=data.values[0]
y=data.values[1:]
y1=(y-np.mean(y))/60;#计算相对转速并换算到RPS
t=np.linspace(0,1/Fs[0]*(np.size(y)-1), num=np.size(y)) #Fs[0]才是采样频率的值!!!
U=y1
sys=lti(ssA,ssB,ssC,ssD);
X0=[0.0,0]#X0=zeros(2*n,1);%X0=[x1_0,...,dx1_0,...]
tout,Y,X=lsim(sys,U,t,X0);
#X(:,3)=Y;
X=np.c_[X,Y]
#Cs=[K(1) C(1) 0;0 K(1) C(1)];%Y=C*X
Cs=np.array([[k1,c1,0],[0,k1,c1]])
Ys=X@Cs.Tplt.figure()
plt.subplot(3,1,1)
plt.plot(t,U*60)
plt.xlabel('speed of flywheel/f_dx0(rpm)');
#grid on
plt.grid(alpha=0.3)
plt.subplot(3,1,2)
plt.plot(t,Ys[:,0]*60)
plt.xlabel('speed of clutch/dx(rpm)');
plt.subplot(3,1,3)
plt.plot(t,Ys[:,1])
plt.xlabel('acc. of clutch/a(rps^2)');
离合器预减振超载造成变速箱怠速异响matlab与python仿真分析相关推荐
- 减振装置类有哪些最新发表的毕业论文呢?
一.总体简介 减振装置的相关文献在1985年到2021年内共计3571篇,主要集中在机械.仪表工业.建筑科学.公路运输 等领域,其中期刊论文142篇.会议论文34篇.专利文献3395篇: 相关期刊11 ...
- 接口优化:Redis预减库存,减少对数据库访问方案
欢迎关注方志朋的博客,回复"666"获面试宝典 Redis预减库存:主要思路减少对数据库的访问,之前的减库存,直接访问数据库,读取库存,当高并发请求到来的时候,大量的读取数据有可能 ...
- 线头尾两端各插入块lisp_工作叶片采用减振块防止叶片损坏,在低压涡轮轴上要有防飞转措施...
工作叶片采用减振块防止叶片损坏,压气机与涡轮工作叶片在工作中,因为振动问题而出现裂纹与掉块的事件,在国内外发动机中是屡见不鲜的.有的发动机原来没有问题,但在投入使用较长时间后也出现振动问题. 例加F4 ...
- 技术专栏|多旋翼飞行器振动机理分析和减振设计
注:本文涉及的硬件.单片机程序.实验数据.数据处理程序.滤波器程序.3D模型和模态云图等,可通过微信公众号(阿木实验室)回复:"振动分析"或"减振设计"获得. ...
- 计算机主机的硬盘件,硬盘组件、硬盘减振装置以及计算机主机的制作方法
本实用新型涉及计算机系统硬件技术领域,尤其涉及硬盘组件.硬盘减振装置以及计算机主机. 背景技术: 现有技术在做硬盘减振时,一般是做个硬盘支架固定在减振垫上,更换硬盘时需要打开整机,关闭电源,待整机关机 ...
- 汽车半主动悬架系统的减振特性分析
1.内容简介 1.半主动悬架的发展现状 2.simulink介绍 3.车辆多自由度模型建立及半主动悬架算法分析 4.利用SIMULINK模型对半主动悬架与被动悬架比较分析 5.半主动悬架的新技术 33 ...
- Mission Planner中级应用(APM或PIX飞控)2——飞控减振
飞控减振 自动驾驶仪具有对振动敏感的加速度计.这些加速度计值与气压计和GPS数据来估计无人机的位置.随着过度振动,依赖精确定位的模式下的性能(例如在无人机上:AltHold.Loiter.RTL.Gu ...
- 多旋翼飞行器振动机理分析和减振设计
多旋翼飞行器振动机理分析和减振设计 开源资源与pdf版论文见https://gitee.com/robin_shaun/Multicopter-Vibration-Attenuation或https: ...
- 【Java秒杀方案】11.功能开发-【商品秒杀及优化】防止超卖 接口优化(redis预减库存,内存标记减少redis访问,RabbitMQ异步下单) 安全优化(隐藏秒杀接口,验证码,接口防刷)
商品秒杀核心功能及优化 1. 正常秒杀流程 在商品详情页面等待秒杀倒计时–http://localhost:8080/goodsDetail.htm?goodsId=2 倒计时为0,开始秒杀,点[秒杀 ...
最新文章
- linux 软件安装基本操作
- 全局中断_【安全圈】微软更新造成Office 365等多个在线服务中断!
- charles iPhone抓包步骤 Fiddler
- iOS开发之获取LaunchImage启动图
- Oracle查询成绩高于成绩,oracle认证考试成绩如何查询?
- 【基于物理的渲染(PBR)白皮书】(一) 开篇:PBR核心知识体系总结与概览
- 刀片服务器显示如何切换,刀片机服务器切换
- 第1章.绪论(计算机科学导论)
- macbook linux 双显卡,网友支招:苹果笔记本也能双显卡切换
- 王菲给师父打电话拜年,受高人指点,她扶摇直上联手天王横扫歌坛
- IOS11的新功能你发现了没有~~~
- HBase NoSQL数据库详解
- ITSS服务项目经理
- 交通灯系统51单片机设计(附Proteus仿真、C程序、原理图及PCB、论文等全套资料)
- 专业的知识图谱应用门槛正在被不断降低
- win7浏览器主页修改不过来_Win7系统IE浏览器无法更改主页怎么解决?
- Python爬虫学习笔记 (9) [初级] 小练习 爬取慕课网课程清单
- 谈IT大学生的竞争优势
- Linux --OSI TCP/IP协议族
- Cannot make QOpenGLContext current in a different thread : PyQt多线程崩溃的解决方法
热门文章
- 内存还剩余很多,却使用 swap 分区
- 面试官系统精讲Java源码及大厂真题 - 29 押宝线程源码面试题
- 分布式数据库中间件 MyCat 安装及使用
- matlab 的字符类型转换,数据类型转换
- MATLAB Simulink
- MathWorks 中国
- 通过Android反编译技术研究国内陌生人社交即时通讯的技术方案
- VMware配置网络,主机互通,可上网
- 【Vue.js源码解析 三】-- 模板编译和组件化
- 【CSS】常用特效字
- 设计模式一网打尽,40余篇文章带你领略设计模式之美
- C#LeetCode刷题之#844-比较含退格的字符串​​​​​​​(Backspace String Compare)