CAD动态仿真理论基础
出处:按学科分类—工业技术 北京理工大学出版社《新编液压工程手册上册》第187页(5747字)
所谓仿真是指用模型(数学模型、物理模型)代替实际系统进行实验研究。根据选用模型形式的不同,有物理仿真和数学仿真。用计算机进行数学模型研究,加速了计算机在数学仿真的应用,当前数学仿真离不开计算机,数学仿真又称为计算机仿真。
根据计算机的类型划分,又有数字机仿真和模拟机仿真之分,习惯上把数字机仿真称为数字仿真;模拟机仿真称为模拟仿真。由于微型数字机的普及,仿真时,若不特别指明,一般是指数字仿真,即是用数字机对代表实际系统的数学模型进行实验研究。
液压元件及系统作为一个实际物理系统,在实际工作情况下发生振动冲击和噪声,有时还出现爬行和响应缓慢的问题,通过计算机对反映其本质的数学模型进行分析和求解,找出产生问题的根源,并寻找解决问题的对策,这些都是仿真也就是CAD所面临的设计要求。这种设计方法将大量节省设计周期,提高设计质量,目前已成为CAD设计的重要内容之一。仿真是研究系统普遍采用的先进方法,进行动态仿真研究可以用图6.1-6所示的数字仿真流程图表示。
图6.1-6 数字仿真流程图
建立系统的数学模型 建立数学模型的一般方法是根据一些基本定律,如牛顿定律和克希霍夫定律来解决力学和电路的模型,而对于液压控制系统将根据流量平衡方程、流量连续性原理和负载力平衡方程来确定元件和系统的输出与输入之间的关系。为了使问题易于求解,可以略去一些次要的因素而保留主要特征以便得到简单而概括的数学模型。
建立仿真模型 一般的数学模型都不能直接编程并用计算机求解,通常必须把数学模型转换成适宜编程,并能在计算机上运行的模型——仿真模型。对于连续系统就是建立相应的差分方程。
编制仿真程序 对于实时仿真往往采用汇编语言编程,而对于非实时仿真,一般用中、高级语言,依据相应的算法编程。
程序调试 先检查程序是否有错误,及时纠正错误使程序在计算机上运行时处于正确的工作状态,随后运行程序,把数字仿真的实验结果与实际系统运行所获得的数据进行比较,根据比较后的情况来修改仿真模型或数学模型或程序,以使我们能用较少的时间获得所希望的结果。
从仿真程序的流程图可以看出,数字仿真是一个动态迭代的过程,通过迭代过程逐步获得系统特性的信息。其中的关键就是对系统建立数学模型,使之构成仿真模型,并对模型求解。
定常连续系统采用的数学模型在时域中是微分方程、传递函数和状态空间表达式,而在频域中是频率特性。此外,在数学模型中,还包含了大量的系统参数信息,例如元件质量、流体粘性、摩擦系数、弹簧刚度、油腔容积、油液弹性模数等,有些参数往往难以精确给定,因此往往需要通过实验得到数据,依据参数辩识技术来进行确定。另一方面分析液压系统的动态特性时,往往会涉及到液压技术中普遍存在的非线性因素,如流量阀的流量特性中的饱和特性、阀口重迭引起死区或泄漏、机构中的齿轮传动中齿隙引起空回。此外液压系统描述工程用常微分方程组,有时为刚性方程(Stiff)即病态方程,这是由于小质量、小容腔引起大数量级特征根造成的,因而求解困难,凡数学模型是微分方程、传递函数和状态空间表达式这几种形式时,采用时域分析法。其模型在计算机上的实验研究称为时域仿真,而用频率特性数学模型表示时,采用的数字仿真为频域数字仿真。通常动态特性分析时,认为输入阶跃函数是最恶劣的条件,如能满足稳定要求,对其它输入函数时一般也能满足要求,因此这里我们只介绍时域仿真。
(1)数学模型的形式
时域仿真常用的数学模型的形式有微分方程、传递函数和状态空间表达式。
A.微分方程
设连续系统的输出量为y(t),输入量为u(t),则系统用微分方程表示为
式中 a1,a2,…,an-1,an,c0,c1,…,cn-1为常数。
B.传递函数
对式(6.1-1)等号两边逐项进行拉氏变换,并考虑初值为零时,可得到
系统的传递函数
微分方程或传递函数是用系统的输入输出之间的关系来描述系统的,表示了系统的外部特征,所以称其为外部模型。
用微分方程表示的系统可以是非线性或线性系统,而对于传递函数表示的系统,只适用于单输入—单输出的线性定常系统,所以传递函数的模型表示有一定的局限性。
C.状态空间表达式
状态空间表达式可以由三个途径获得,由微分方程、系统结构图及液压系统功率键合图导出,本节将仅对微分方程推导作简单说明。
设系统由不含输入量导数项的n阶微分方程表示
定义n个状态变量为x1,x2,…,xn,令
写出各个状态变量的一阶微分方程形式
将上述n个一阶微分方程写成矩阵向量形式
A,B,C为系数矩阵。式(6.1-4)为状态方程,式(6.1-5)为输出方程,两式合称状态空间表达式。
由于状态空间表达式,反映系统内部特性又称为内部模型。这是一个由外部模型转化为内部模型的例子。实际上,外部模型与内部模型是可以相互转化的。
(2)模型转化——实现问题
状态方程是一阶微分方程组,适宜于数字计算机求解。对于一个用状态空间表达式描述的方程,其数学模型和仿真模型是一致的,不需要转换。对于许多实际系统,特别是比较复杂的系统,其数学模型往往是通过实验、经过参数辨识,得到传递函数形式。为了便于数字仿真,就必须把它们转换成状态空间表达式,将传递函数或微分方程转换成等效的状态空间表达式,称为实现问题。
(3)数值解法
液压系统的动态仿真一般可归结为用数值解法求解状态方程的初值问题,也即是一阶微分方程组的初值。数值解法是求出在给定区间[a,b]内若干个离散点a≤t0<t1<…<tn≤b处的近似值x(t1),x(t2),…,x(tn)。常用的数值解法有龙格库塔法、吉尔(Gear)法等。用龙格库塔法求解一阶微分方程组初值问题的公式是通过用多项式近似泰勒级数而推出的。最常用的多项式包含直至四阶导数的泰勒级数,这时的龙格一库塔法就称为四阶龙格—库塔法。
对于一阶微分方程组的初值问题:
x=F(x,y),x(to)=x0(6.1-6)
它的解可用四阶龙格—库塔递推公式计算
以上求出的数值解是近似解,与泰勒级数展开的精确解相比有一个误差O(h5),称之为截断误差。截断误差表示数值方法的精度。
利用数值解法求一阶微分方程组的初值问题存在计算稳定性问题,通常一个微分方程或传递函数表征的系统利用稳定性理论可以明确地判断该系统的稳定性。可是如果一个稳定的系统进行数值解可能发生计算结果不收敛,产生的原因是数值解是一个近似积分方法,在反复计算中误差的积累会使计算出现不稳定,导致错误的结果。影响稳定性的因素是步长的正确选择,对于四阶龙格—库塔法,只具有有限的稳定范围,即|hλ|≤2.8,λ是特征方程的根,λ的实部Reλ<0,均在s平面的左半部时,系统是稳定的。
(4)液压系统的刚性(Stiff)问题
液压系统在数值积分中常遇到系统或方程的病态问题或称数学刚性问题。
A.刚性系统和刚性方程的基本概念
一个系统由若干个元件或环节组成,不同元件或环节有不同的时间常数T。时间常数T即指衰减速度,如方程y=λy的解为Ceλt,若λ为负值,则y在t=1/λ时衰减e-1倍,这个-1/λ即为时间常数T。
当一个系统有几个时间常数分别为Tmax,T1, T2,…,Tmin,令之比为刚度,且Tmin<h。
若比值很大,刚度达到几个数量级,计算达到Tmax需很多次数,计算时间很长,而且舍入误差增大,这是病态问题或刚性问题。该方程为刚性方程,系统是刚性系统。
B.液压系统数学刚性问题
液压仿真时,常遇到下述问题,如小容腔问题,由于小的受压容腔在流量有微量阶跃变化时,会使压力上升率达到10kMPa/s,计算步长取10-6s时,计算时间很长。其他如溢流阀在开阀时速度很快,按此选择步长,h很小,也会使计算时间加长。又如液压系统中节流口及长管道系统的存在,均使液压系统会成为刚性系统,对于刚性问题的处理方法,一般可将某些因素略去,简化模型,在不能略去的情况下,则采用其他数值算法。如Gear法是数值积分法中针对Stiff问题的最好解法。此外,对于线性系统单输入情况下,采用增广矩阵法将是解决Stiff问题的最好解法。
(5)一般数字仿真程序的主要功能和结构
数字仿真程序是实现计算机求解微分方程组或其他形式数学模型的程序。数字仿真程序有下述功能:
·能将使用者输入的系统模型转变成为仿真模型;
·能给使用者提供一种或多种积分算法;
·能显示、打印仿真结果,绘制图形曲线;
·能提供多次仿真运行控制,以便研究参数变化对系统性能影响和进行优化设计。
仿真程序结构如图6.1-7所示。仿真程序分为三层,由主程序、功能程序、基本子程序组成。主程序是仿真程序的上层,由它进行仿真逻辑控制,调用下面的功能块:输入块、运行块和输出块完成仿真的过程控制及输出仿真结果。其中输入块完成系统参数初值及仿真参数的设定及修改;运行块完成方程参数计算及显示;输出块完成文字图形的输出。
图6.1-7 仿真程序结构
(6)时域仿真系统的分类
因为采用数字模型的形式不相同,数字仿真程序将分为微分方程组、传递函数、结构图这几种形式。
微分方程组,即一阶微分方程组,可直接进行数值积分,后两种都需要进行模型转化。工程上的结构图形式的数学模型应用更为广泛,图6.1-8就是结构图系统的框图。所谓结构图,即将一个系统看成由一些典型环节,如积分环节、惯性环节、比例环节、振荡环节等组成,各环节之间由连接矩阵连接。为了编程方便,可以用表示上述典型环节,通过模型转化,对状态方程x=Ax+Bu求解。
图6.1-8 结构图系统框图
三种仿真程序的具体使用可参看有关仿真书籍。此外还有按环节离散化的数字仿真,其数学模型类似结构图法,但求解状态方程是采用离散化后的差分方程求响应,即
x=Ax+Bu
离散后得
x[(n+1)T]=G(T)x(nT)+H(T)u(nT)(6.1-8)
G(T),H(T)分别为离散系数矩阵。
该式是在系统入口设置一个虚构采样器及一个零阶保持器后得到的,有关典型环节的状态变量方程、传递函数及函数G(T),H(T)可参见有关文献。
这种系统在环节的入口或出口可以加上非线性环节,因此适用于线性和非线性系统。针对线性典型输入的情况,为了提高仿真精度,缩短仿真时间,宜采用快速数字仿真方法,如增广矩阵法。这种方法除了具有上述优点外,对于液压系统中常出现的刚性系统的求解具有更明显的优点。