基于Amesim的蓄能器建模仿真(一):Amesim中的蓄能器模型
蓄能器是液压系统中广泛使用的一种重要辅件。总结起来,蓄能器最主要的功用表现在两方面:一是“储能”,它在适当的时机将系统中的能量转变为压缩能或位能储存起来,当系统需要时,又将压缩能或位能转变为液压能释放出来;二是“吸振”,它可以有效缓解换向阀突然换向、执行元件运动突然改变等引起的液压冲击,也可以大量吸收系统流量和压力周期性变化导致的液压脉动,从而对液压系统的平稳运行起到重要作用。按照加载方式,蓄能器可分为弹簧式、活塞式、气体式等。其中,皮囊式蓄能器(气体式的一种)在液压系统中应用非常广泛,其工作时的充放液过程如图1所示。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665218003443_oyf5qg.jpg?imageView2/0)
更多关于蓄能器的知识,大家可查阅相关资料,这里不再做过多解释,下面主要讲解Amesim中蓄能器的建模仿真方法。
鉴于这部分内容篇幅较长,因此分为两篇文章分享给大家,第一篇(本篇)主要讲解Amesim中蓄能器模型的基本原理和参数设置等,第二篇分享含蓄能器的回路仿真实例。Amesim的液压库提供了两个元件用来模拟不同类型的蓄能器,分别是springaccumulator和accumulator(图2所示)。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665218002981_w4zzla.jpg?imageView2/0)
图2 Amesim中的蓄能器模型
其中,springaccumulator元件用来模拟弹簧式蓄能器,包含HASP0/1两个子模型,在液压系统仿真中的应用较少。
accumulator元件用来模拟气体式蓄能器,包含三组六个子模型,分别是HA001/0、HA0011/0和HA0021/0。三组子模型的主要区别在于描述和计算蓄能器气体状态所采用的数学方程不同:HA001/0采用多变气体方程计算气体状态,只考虑了气体的体积和压力,没有考虑气体温度;HA0011/0采用理想气体状态方程计算气体状态,考虑了气体的体积、压力和温度;HA0021/0采用了更接近实际气体的数学模型来描述气体状态,考虑了气体的体积、压力和温度。
一般情况下,如果仿真只关心蓄能器在系统中的作用效果,那么选用HA001/0建模即可;如果要专门研究蓄能器特性,或者更关心蓄能器中的气体状态,则需采用HA0011/0或HA0021/0进行建模。本文主要介绍HA001/0子模型的基本原理和参数设置。
如前所述,子模型HA001/0采用压力P和体积V两个状态量来描述蓄能器中气体的状态,它们遵循如下形式的多变气体定律(polytropic gas law):![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665218000191_a4cf6k.jpg?imageView2/0)
式中,当蓄能器的充放液速度较慢时(3 min以上),例如用于补偿泄漏和补偿压力的情况时,可按等温过程来计算,此时取γ=1;当蓄能器充放液的速度很快时(1 min以内),例如作辅助动力源或应急动力源时,可按绝热过程来计算,此时取γ=1.4。
HA001和HA000均采用多变气体定律来计算蓄能器中气体状态的变化,二者的主要区别在于,前者没有考虑节流效应,输入变量是流量,输出变量是压力;而后者考虑了蓄能器出入口处的节流效应,输入变量是压力,输出变量是流量。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665218014795_z8ajck.jpg?imageView2/0)
下文主要介绍HA001的参数设置和使用方法,大家可以结合上述区别对比理解HA000的用法。
HA001需要设置的参数有6个,如图4所示,包括1个状态变量的初始值、2个整型参数和3个实型参数。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665218000652_klvv6m.jpg?imageView2/0)
其中,参数①用来设置压力状态变量的初始值Pgas(0),参数②用来表明引用的油液属性,参数③用来确定蓄能器状态初始化方法,参数④和⑤分别是蓄能器的预充气压力P0和总体积V0,参数⑥是多变指数γ。另外,参数④、⑤和⑥共同决定了多变气体定律公式中的常数。
大家可能已经注意到了,表征蓄能器状态的变量有两个,即气体体积Vgas和压力Pgas,但在参数设置时只设置了压力的初始值Pgas(0),并没有设置体积的初始值Vgas(0)。因此,必须首先根据已知参数计算Vgas(0),才能确定蓄能器的初始状态。求解Vgas(0)即蓄能器状态初始化。
蓄能器状态初始化的方法有两种,即等温初始化(isothermal initialization)和绝热初始化(adiabatic initialization)。
当参数③设置为0时,Amesim按下列方程进行等温初始化计算:![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665218001217_9ozgux.jpg?imageView2/0)
当参数③设置为1时,Amesim按下列方程进行绝热初始化计算:
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665217999381_k24eum.jpg?imageView2/0)
『注:在Amesim中,我们设置压力参数时一般采用相对压力值,但软件在计算时通常采用绝对压力值。例如在上式中,P0表示气体的预充气相对压力,Patm表示大气绝对压力,二者相加即为气体的预充气绝对压力。』
『还有一点要说明的是,如果气体压力状态变量的初始值Pgas(0)小于蓄能器的预充气压力P0,则通过蓄能器状态初始化求解得到的气体体积初始值Vgas(0)会大于蓄能器总体积V0,这显然是不符合实际的。这种情况下,Amesim在计算时会调整蓄能器初始状态为Pgas(0)=P0,Vgas(0)=V0,并给出图5所示的警告信息。因此,在设置参数时,最好使参数①(即Pgas(0))的值大于参数④(即P0)的值。』
图5 Pgas(0)小于P0时的警告信息
从理论上看,只要持续向蓄能器中充液,那么蓄能器气体体积将会无限接近0,压力也会持续增大。为了避免气体体积接近0所带来的软件计算问题,Amesim假定当气体体积为V0/1000时,蓄能器完全充液,此时气体压力为:
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665218002528_jh0wbx.jpg?imageView2/0)
当蓄能器完全充液时,气体的压力和体积保持恒定,不再随输入流量而变化:
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665217998966_tyb6ab.jpg?imageView2/0)
当HA001处于完全放液状态时,蓄能器中气体体积、压力保持恒定,不再随输入流量而变化:
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1665217999784_r26i2w.jpg?imageView2/0)
此外,当蓄能器完全放液时,Amesim假定蓄能器具有V0/1000的死区容积,用于计算输出压力对时间的导数。
『注:一般情况下,系统中蓄能器的压力范围处于某个最高工作压力P1和最低工作压力P2之间。其中,P1通常是由溢流阀决定的最高系统压力,P2通常由最小负载决定,它们通常处于P0和Pmax之间,因此并不会发生完全充液和完全放液的极限状态。所以在仿真时,当蓄能器出现上述两种极限状态时,很有可能参数的设计或设置出现了问题,这一点一定要注意。』
以上就是本文对Amesim中蓄能器元件基本原理和参数设置等内容的介绍。由于笔者水平有限,本文并未能涵盖蓄能器模型的方方面面,希望本文的内容对大家学习蓄能器的仿真能有一定启发。在下次的文章中,笔者会向大家分享含蓄能器的回路仿真实例,敬请期待。。。。。。