写在前面的话:本文只涉及仿真验证结果,无详细仿真过程。这不是一篇仿真的教程。
如图所示的是一个常见的弹簧阻尼系统,在弹簧失效长度内以及阻尼器运动限位范围内,该系统可以看作是一个线性时不变系统,且因为系统的输出只取决于过去与当前输入,跟将来的输入无关,因此该系统为“因果”系统。其中,取m=70kg,C = 160N·s/m,K=10000N/m。取物体受到的拉力F为输入,物体位移x为系统输出。
由动力学相关的公式,可以得到系统的微分方程为:
整理上述方程,并进行拉氏变换,可得:
因此,系统的传递函数为:
系统的基本特性的理论计算
齐次性的理论验证:
假设输入为F(t)时系统输出为x(t),则当系统的输入为aF(s)时,代入式 1,则有:
可得:
因此:
可得,当输入为aF(t)时,输出为ax(t)。
叠加性的理论验证:
假设有该系统在输入为F1(t)时,输出为x1(t);输入为F2(t)时,系统的输出为x2(t),可得到等式:
所以,有:
所以:
可得:
因此,可知当系统的输入为F1(t)+F2(t)时,系统的输出为x1(t)+x2(t),符合叠加性原理。
弹簧阻尼系统建模与仿真与性质验证:
本次仿真所使用的系统参数如下表所示:
系统数学模型建模
可以将其转化为如下模型:
或者直接使用传递函数进行仿真:
这两个模型是完全等效的。因为第一个模型看起来更直观,后文的验证将在第一个模型的基础上进行。
系统的物理模型建模
与数学模型一样,本文在物理模型的建立时,同样采用了两个不同的方法进行交叉验证。其中第一个为使用 Simulink 中的机械模型进行建模验证(如图 4);另一个使用了 Adams 软件(如图 5),直接建模实体进行验证。
为了验证两个系统的等效性,方便后面的仿真,这里分别对 Simulink 的物理模型与 Adams 的实物模型输入一个的阶跃信号,其输出分别如下:
由图 6 与图 7 可以看出,这两个系统实际是等效的,后文的物理模型验证中,主要使用了 Adams 的模型进行仿真,以进行两个软件的交叉验证,进一步确定数学模型的正确性。
齐次性的模型验证:
齐次性的验证中,将使用输入与对系统进行验证。通过传递函数理论计算,可以得到这两个输入得到的理论输出分别为:
显然可以得到x2(t)= 2x1(t)的结果。
将上文中的框图修改成以下样式进行验证:
其中的阶跃函数为,得到的结果为:
由上图可以看到,当输入信号通过一个 2 倍的增益后,系统的输出也变为原来的 2 倍。因此,该系统符合齐次性原理。
同样的,我们在 Adams 的仿真模型中分别输入两个成比例的阶跃函数,观察其输出结果:
为了进一步确认在不同的输入下,系统都符合齐次性的性质,因此更换其他类型的输入,比如输入一个随机函数,再次进行验证。
以上的计算结果与仿真结果均验证了系统符合齐次性的性质,符合预期结果。
叠加性的模型验证:
在系统的叠加性的验证中,分别向系统输入三个函数,F1(t)、F2(t)以及F3(t)。其中,。
通过理论计算,可以得到:
由上式,可以得到x3(t)=x1(t)+x2(t),由此可以验证该系统符合叠加性原理。
与验证齐次性相似,将系统框图修改成以下状态:
通过上述模型,可以得到以下结果(如图 13 所示)。可以看出,系统输入F3(t)的结果(图 13 中下一曲线)与分别输入F1(t)、F2(t),再将输出叠加的结果(图13 中上一曲线中的红色曲线)一致。
在 Adams 模型中验证叠加性,我们同样的分别向系统输入信号F1(t)、F2(t)以及F3(t),可以得到以下输出
可以得到x3(t)=x1(t)+x2(t),由此可以验证该系统符合叠加性原理。同时,可以验证在 Adams 中的模型输出与在 MATLAB 中 Simulink 的输出结果完全一致。
另外,我们可以同样的输入随机函数来再次验证该系统的叠加性。
总结
通过上述计算与验证,可以看出本次使用的弹簧阻尼系统是一个线性系统。