基于Matlab的机械振动学实验
2019-07-12邓得志
徐 健, 李 强, 邓得志
(中北大学 机电工程学院, 山西 太原 030051)
学生学习机械振动学[1-3]时,都是原理方面讲述,没有具体的数值分析,所以在学习Matlab程序设计时,可以结合前学期的机械振动学课程知识进行操作实践,不仅可以进行编制方程类的操作,还有基于Simulink的SimMechanics进行操作,可提升学生的能力。
1 有阻尼衰减振动
图1为有阻尼衰减振动[4]装置。有阻尼自由振动的微分方程为
(1)
式中,m为系统质量,c为阻尼系数,k为刚度。
临界阻尼系数c0为
(2)
图1 有阻尼衰减振动
阻尼比ξ为
(3)
得到:
(4)
ξ<1 为弱阻尼系统,有
(5)
ξ=1为临界阻尼系统,有
x=(B1+B2t)e-ωnt
(6)
ξ>1为强阻尼系统,有
(7)
机械振动实验中,借助弱阻尼系统的位移值,可以测出各种参量,如图2所示。
图2 弱阻尼系统的位移曲线
实验时,2个波峰之间的时间T由下式得出:
(8)
xi和xi+T直接从测试曲线上读出,在k和m已知的情况下,可以求解出ξ。
2 梁的自由振动模态
理论上,连续弹性体梁有无限多个自由度[5-6],因此需要无限多个连续模型才能描述。忽略剪切变形的影响,在实际操作中可以将连续弹性体梁分为n个集中质量来研究。如果模型中含有n个集中质量,一般就有n个自由度,系统的运动方程是n个二阶互相耦合(联立)的常微分方程。这就是说梁可以用一种“模态模型”来描述其动态响应。
多次锤击各点,用仪器记录传感器与力锤的信号。因为仪器简支梁有7个点,作为信号,敲击了7个点,进行传递,并进行分析得到四阶频率,见图3。
图3 梁自由振动模态测试
按照简支梁(图4)的分析,可得:
固定端位移与转角均为0,于是:
(9)
简支端位移与转矩均为0,于是有:
(10)
式中,E为弹性系数,I为转动惯量。
图4 简支梁
图5为横向振动梁示意图。
图5 横向振动梁示意图
可以求得:
(11)
其解为
y(x,t)=y(x)T(t)
(12)
得到[7-8]:
y(x,t)=(AsinKx+BcosKx+
CshKx+DchKx)sin(ωnt+φ)
(13)
对简支梁,代入(9)两式,得到:
B=D=0
(14)
代入(10)式得到:
D=C=D=0
(15)
因此有:
(16)
可以测出4阶频率,得到不同的解,得到不同的振型。
3 Matlab界面操作
学生做实验时,可以直接作用于铁片和简支梁,可以迅速地进行机械的自由振动和梁的自由模态振动,迅速读出各种数据。机械没有调整措施,它的厚度不能变薄,长度也一定,不能变短,所以机械振动实验比较单调。但是Matlab就不同了,可以在软件中更改所有的数据,马上结果就出来了,便于了解厚薄长短的各种结果。
测得有阻尼自由振动见图6,各参数见表1。
图6 有阻尼自由振动
表1 单自由度衰减振动
可以利用Matlab模拟单自由度衰减振动。改变m,取5和10;改变k,取20和80;另外研究改变阻尼系数c,取2和10的改变,结果见图7—图9。Matlab程序如下:
m=5;
c=2;
k=20;
c0=2*sqrt(m*k);
kai=c/c0 ;
A=20;
wn=sqrt(k/m);
wd=sqrt(1-power(kai,2))*wn;
fai=0*pi;
for i=1:101
t(i)=10*(i-1)/100;
y(i)=A*exp(-kai*wn*t(i))*sin(wd*t(i)+fai);
end
plot(t,y,′k′);
gridon;
xlabel(′t′);
ylabel(′y(t)′);
title(′单自由度衰减振动 ′);
图7 系统随着质量m的变化规律
图8 系统随着刚度k的变化规律
图9 系统随阻尼系数c的变化规律
阻尼的变化比较难,可以对质量和刚度进行调整,满足规定的要求。
对于简支梁自由振动模态来说,做实验可以得到如图10所示结果,分析结果见表2。
图10 简支梁4阶模态
表2 简支梁4阶模态
具体可以参照文献[9-12],写出Matlab方程,可以见到更确切的结果。
4 结论
基于Matlab的实验,对于实际的方程,对于质量、刚度、阻尼的变化,只需要在程序中适当改变就可以看出结果,而且比机械振动学实验要更快一些,学生能知道什么变化了,能绘出位移模型;但是机械振动学实验可以提高学生的动手能力,也是必不可少。利用Matlab,对现有的机械振动学课程进行深入研究与合理整合,能形成具有实践性的机械振动实验。
致谢:感谢李强教授的大力支持,来自国家科学基金(624010104)和2018-2019年度湖北省“三区”科技人员专项计划项目支持。