您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 系统非线性环节的仿真
2.5系统非线性环节的仿真在实际系统中,往往存在各种非线性特性,可将此当作非线性环节处理,这种环节的输入和输出之间关系是一种非线性函数关系,因此非线性环节的仿真就是用仿真语言来描述这些关系。本节介绍几种典型的非线性环节的仿真算法。2.5.1饱和环节饱和环节在控制系统中较普遍,例如饱和放大器、限幅装置、伺服阀饱和特性等。饱和环节特性如图所示。图2.5-1饱和特性该特性对应的数学表达式为:cuccuccuuy(2.5-1)式中,c为饱和环节特征参数,斜率为1,该环节特性可用MATLAB编程仿真,利用上面算法的编写的MATLAB函数SATURATION,调用格式为:),(cusaturationy其中,u为输入;c为饱和环节特征参数,y为饱和环节输出。Saturation.m;amp209.m2.5.2死区环节在控制装置中,放大器的不灵敏区,伺服阀和比例阀阀芯正遮羞特性,传动元件静摩擦等造成的死区特性。典型死区非线性环节特性如图2.5-2所示。图2.5-2死区特性可用下面数学关系来描述:cucucucucuy0(2.5-2)式中,c为死区特征参数,斜率为1。该环节可根据上述算法编写MATLAB函数deadzone供调用,格式如下:),(cudeadzoney其中,u为环节输入;c为死区环节特征参数,y为死区环节输出。Deadzone.m;amp210.m。2.5.3齿隙非线性环节齿轮传动副和丝杆螺母传动副中存在传动间隙都属这一类非线性因素,它对系统精度带来影响。齿隙非线性环节特性如图2.5-3所示。图2.5-3齿隙特性当输入u增加时,输出沿dba线段变化;当输入u减小时,输出沿aed线段变化。在线段bd上,输入增加时,当前输出值y(k)总是大于前一时刻的输出值y(k-1)。而在ea上,输入减小时,当前输出y(k)总是小于前一时刻的输出值y(k-1)。在ab段和de段,y(k)=y(k-1)。以上特性的数学描述如下:其余kyckuk且ykuk当uckuckuk且ykuk当uckuky)1()()1(0)1()()()()1(0)1()()()((2.5-3)式中,c为齿隙环节特征参数,斜率为1。根据(2.5-3)算法编写的MATLAB函数backlash,调用格式如下:),0,0,1(1cyuubacklashy其中,u0,u1分别为前一时刻和当前时刻输入值;y0,y1分别为前一时刻和当前时刻输出值;c为齿隙特征参数。Backlash.m,amp211.m.2.5.4继电非线性环节继电非线性环节特性如图2.5-4所示,(b)为具有死区继电环节,(a)为(b)特例,即c=0。对于图(b)所示特性,可用下面数学关系描述:图2.5-4继电环节特性ckuckuckuy)(1)(1)(0(2.5-4)根据(2.5-4)算法编写的MATLAB函数relaydead,调用格式如下:),(curelaydeady其中,u为环节输入,c为环节输出,y为死区特征参数。Relaydead.m,amp212.m.2.5.5具有滞环的继电环节具有滞环的继电非线性环节特性如图所示,可用下面数学关系描述:图2.5-5带滞环继电特性其他kyck且ukukuhck且ukukuhky)1()()1()()()1()()((2.5-5)根据(2.5-5)算法编写的MATLAB函数relaydelay,调用格式如下:),,0,0,1(hcyuurelaydelayy其中,u0,u1分别为前一时刻和当前时刻环节输入值;y0,y1分别为前一时刻和当前时刻输出值;c,h为环节特征参数。Relaydelay.m,amp213.m.2.5.6库仑—粘性摩擦力环节图2.5-6库仑-粘性摩擦特性机械摩擦具有非线性如图所示,它由库仑摩擦和粘性摩擦两部分组成。当物体运动速度不为零时,出现的库仑摩擦力为和相对运动速度相反的、与速度大小无关的恒定力,而粘性摩擦力则速度大小成正比。上述特性可用数学关系来描述:其他cuGusignk且vkvck且vkvckf)()(0)1()0)(0)1(0)()((2.5-6)根据式(2.5-6)的算法,编写的MATLAB函数friction,调用格式为:),,1,(Gcuufrictiony其中,u,u1分别为当前时刻和下一时刻的输入值(速度);y为输出值(摩擦力);c为库仑摩擦力值;G为粘性摩擦系数。2.6采样控制系统仿真2.6.1采样控制系统的基本组成采样控制系统是指系统一处或几处信号是以采样形式来传递的,而被控对象是连续的。典型的采样控制,是一种连续—离散混合系统,系统如图2.6-1所示。图2.6-1采样控制系统随着计算机技术的发展,计算机控制系统成为采样控制系统的主要形式。系统(a)和系统(b)的主要区别在于系统闭环的输入信号类型,前者是模拟信号,后者是数字信号。系统中的A/D转换器是采样开关,将连续模拟量转变为离散的数字量并根据计算量的位数进行进行量化处理;D/A转换器是将离散的数字量转变为模拟量,同时它也是一个保持器,且一般具有零阶保持器特征。A/D和D/A转换器在模拟量和数字量之间存在确定的比例关系,相当于系统中的比例环节。2.6.2采样控制系统仿真特点采样控制系统包含连续部分和离散部分。对于连续部分仿真方法和连续系统仿真一样,可采用数值积分法或离散相似法。若采用数值积分法则需要确定积分步长,若采用离散相似法则需要确定虚拟的采样周期。对于离散部分,A/D转换器和D/A转换器是实际存在的,采样周期和保持器类型也均是实际存在的。因此采样控制系统仿真中,仿真步距或虚拟采样周期和系统实际采样周期之间存在同步问题。2.6.3仿真步长和采样周期对采样控制系统进行仿真时,连续部分仿真步长的选择必须根据被控对象的动态特性、系统采样周期大小、仿真精度的要求等综合考虑。一般按下面两种情况处理:(1)仿真步长h等于采样周期T;(2)仿真步长h小于采样周期T。第一种方法适用于系统连续部分参数变化较缓慢或系统幅值穿越频率c较小的系统。对于大多娄机电类采样控制系统,系统连续部分参数变化较快,常采用第二种方法,以保证系统中连续部分足够的仿真精度。若仿真步长h小于采样周期T,为了全球仿真程序的实现,通常取采样周期T恰好是仿真步长h的整数倍速,即NTh,其中N为正整数。采样系统仿真采用定步距,对于连续部分在每个计算点均作仿真运算,而对于离散部分(数字控制器)只有在采样时刻才执行仿真运算,在其他计算点不执行仿真运算。在仿真程序中,采样时刻点可借助仿真时间/采样周期为整数的关系来确定。采样控制系统仿真程序流程如图2.6-2所示。2.6.4采样控制系统仿真方法如前所述,采样控制系统分为连续部分和离散部分。对于连续部分仿真有不同的处理办法,采样控制系统仿真方法分为两种。一、基于数值积分法图2.6-2采样控制系统仿真程序流程图对系统连续部分仿真采用数值积分法,图2.6-2是基于数值积分的采样控制系统仿真程序框图。这种方法需选择连续部分仿真步长、仿真数值积分方法等。一般采用定步距,且仿真步长一般小于离散部分采样周期。离散部分仿真是基于递推法,十分简单。二、基于离散相似法系统的连续部分先进行z变换,若连续部分模型)(sG已知,则可借助MATLAB函数C2D将连续模型转换为离散模型)(zG,将)(zG和原系统离散部分模型)(zD合并后可求得采样控制系统的离散模型)(zW,这样就可以进行仿真运算。在连续部分离散化时,可优先选择虚拟的采样周期和系统实际采样周期相同。在仿真运算时可根据仿真速度和精度要求,采用不同的采样周期,但这时需用MATLAB函数D2D对模型)(zW进行变换。以下实例介绍基于数值积分法的采样控制系统仿真程序的编写。[例2-9]已知一个计算机控制的电液伺服位置控制系统框图如图2.6-3所示,度用MATLAB编写仿真程序。图2.6-3例2-9示意图系统主要参数如下:(1)数字控制器,仅考虑比例控制,取2pK;(2)数字限幅:1024;(3)12位D/A转换器系数2048/5VKda;(4)伺服放大器:电压放大器增益系数2.1aK;电压/电流转换系数VmAKvi5.2/48;电流限幅:mA40;(5)伺服模型:12)(22nvvnvsvvsKIQsG或以状态空间表达式描述,状态空间参数矩阵如下:01021022nvsvvvnvvnvvKcba式中,伺服阀自然频率sradnv/200;伺服阀阻尼比5.0;伺服阀流量系数svK可通过阀额定参数和实际工作点计算;伺服阀额定工作电流为mA40;(6)液压缸动力模型)12(/1)()()(222sssAsQsYsGnhhnhh或以状态空间模型来描述,状态空间系数矩阵为:001002010001022cAbanhnhhnh其中,状态变量],,[],,[321yyyxxxX,nh为液压缸固有频率,h为液压缸阻尼比,A为液压缸面积。(7)数字式位移检测装置:感应同步器,精度一个脉冲/0.01mm。(8)感应同步器接口电路:感应同步器脉冲信号转换为数字量,1/bit每个脉冲。这是一个典型的采样控制系统,包含有连续部分:电液伺服阀、伺服放大器、液压缸装置;离散部分:计算机控制器;接口部分:D/A转换器、感应同步器接口板等。系统采样周期为10ms,采用四阶R-K法对连续部分进行仿真,仿真步长为1ms,仿真程序包括:主程序hm45.m,电液伺服阀模型的m函数valve(),液压缸模型的m函数hysys(),数据文件svdada.m。主程序运行时首先调入数据文件,两个m函数文件,给一些参数初始化,然后进行仿真循环计算,最后输出仿真结果及存储仿真数据。主程序中用到MATLAB函数FEVAL,其功能是执行字符串所描述的函数,调用格式为:],,1,[],,1[XnXFfevalYnY其中,F为一个函数名的字符串;XnX,,1为该函数的输入参数;YnY,,1为该函数的输出参数。程序运行结果如图2.6-4所示。改变比例控制器增益Kp可看出Kp对系统动态性能的影响。图2.6-4系统的阶次响应2.7Simulink动态仿真Simulink是MATLAB软件包之一,用于可视化的动态系统仿真,它适用于连续系统和离散系统,也适用于线性系统和非线性系统。它采用系统模块直观地描述系统典型环节,可十分方便地建立系统模型而不需要花较多时间编程。利用Simulink进行系统仿真的步骤是:(1)启动Simulink,打开Simulink模块库和模型窗口;(2)在Simulink模型窗口下,创建系统框图模型并调整模块参数;(3)设置仿真参数,进行仿真;(4)输出仿真结果。2.7.1启动Simulink启动Simulink就是进入Simulink的工作环境,并且打开Simulink模块库和一个Simulink模型窗口,为建立系统的Simulink模型作准备。2.7.2系统Simulink模型的建立系统Simulink模型是一种以系统环节方块图为基础的方块图模型,十分直观。系统典型环节或常用环节的方块图在Simulink模块库中都可以找到,因此建立系统的Simulink模型十分方便和快捷。建立新的系统Simulink模型的主要步骤如下:(1)打开Simulink模型窗口(untitled);(2)选取模块或模块组;(3)模块拷贝及删除;(4)模块调整;(5)模块参数设置;(6)模块的连接;(7)模块文件的取名和保存。2.7.3系统仿真运行在建立系统的Simulink框图模型后,就可以进行系统动态仿真。系统仿真运行有两种方式进行,一种是利用Simulink模型窗口的菜单Simulation下的选项,二是在M
本文标题:系统非线性环节的仿真
链接地址:https://www.777doc.com/doc-6803544 .html