第4章 基于MATLAB的控制系统仿真
第4章 基于MATLAB的控制系统仿真
4.1 MATLAB简介
随着控制理论的发展以及对磁悬浮系统性能要求的不断提高,磁悬浮系统控制器需要实现的控制算法的复杂程度目渐加大。传统的模拟控制器虽然具有成本低、速度快、性能稳定、对控制算法适应良好等优点,但存在着参数调整不太方便,硬件结构不易改变等缺点,难以满足用户日益增高的要求。于是数字控制成为磁悬浮系统控制的主流趋势。
在磁悬浮系统控制中,普遍采用了基于DSP构建的数控平台。此平台难以克服其硬件成本高、开发周期长、延续性差、对用户软件、硬件能力要求高等缺点。开发一种低成本、高效率、易开发、易维护的控制器实验平台便成为迫切的需要。计算机技术的发展给控制系统开辟了新的途径。
MATLAB是美国Math Works公司开发的软件,是一种使用简便的工程计算语言,完成系统从概念到技术实现全过程设计的CAD工具箱,是目前世界各国科学研究与工程设计领域普遍采用的标准设计软件[7]。
其主要功能有:工程计算;算法开发;系统建模;仿真和实时应用;信号处理与可视化;图形用户界面。
除此之外,MATLAB还提供了一个实时开发环境,可用于实时系统仿真和应用,这一点是通过特殊应用工具箱——Real Time Workshop(实时工作空间RTW) 实现的,在RTW中运行某种目标(比如:实时窗口目标、xPC目标),用户只需安装相关软件、编译器和I/O设备板,就可通过计算机转变成一个实时操作系统,来控制外部系统。
MATLAB以其良好的开发性和运行的可靠性,使原先控制领域里的封闭式软件包纷纷淘汰,而改以MATLAB为平台加以重建。
主要优点有:语句书写简单;功能强大;具有丰富的图形用户界面;界面友好;命令易设计;操作简单。
Simulink是运行在MATLAB环境下的用以对动态系统建模、仿真和分析的集成软件包。它功能强大,使用方便,已经在学术和工业领域得到了广泛的应用。
Simulink犹如一个理想实验室,它可对现实世界中存在的动态系统:线性、非线性、连续、离散及混合系统;单任务、多任务离散事件系统的仿真和分析。且由于Simulink已经包含丰富的模块,不论对于多么复杂的动态系统,都可以用鼠标简单操
19
磁悬浮小球的PID控制
作,方便快捷的构造出复杂的快速模型,以便进行算法验证。
Simulink仿真是交互式的。用户可以需要快速修改模型,对比实验各种方案,可通过Simulink菜单或在MATLAB命令窗口输入命令,任意改变仿真参数,可采用Scope或其他的画图模块对仿真结果进行可视化分析。模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰的了解各器件各子系统间的信息交换,掌握各部分的交换影响。
4.2 Simulink介绍
Simulink是运行在MATLAB环境下的用以对动态系统建模、仿真和分析的集成软件包。它功能强大,使用方便,已经在学术和工业领域得到了广泛的应用。Simulink犹如一个理想实验室,它可对现实世界中存在的动态系统:线性、非线性、连续、离散及混合系统;单任务、多任务离散事件系统的仿真和分析[16]。
由于Simulink已经包含丰富的模块,不论对于多么复杂的动态系统,都可以用鼠标简单操作,方便快捷的构造出复杂的快速模型,以便进行算法验证。
Simulink仿真是交互式的。用户可以需要快速修改模型,对比实验各种方案,可通过Simulink菜单或在MATLAB命令窗口输入命令,任意改变仿真参数,可采用Scope或其他的画图模块对仿真结果进行可视化分析。模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰的了解各器件各子系统间的信息交换,掌握各部分的交换影响。
本文中对PID参数的确定以及对整个磁悬浮控制系统的仿真都是运用Simulink工具包进行建模、仿真和分析,来达到系统各项性能指标,其便利性大大节约了本数控系统的开发时间。
4.3 MATLAB下数学模型的建立
下面是磁悬浮实验系统对象的数学模型在MATLAB下编程的实现: %实验系统参数初始化 %%%%%%%%%%%%%% m=0.028; g=9.82; R=13; L=0.118;
20
第4章 基于MATLAB的控制系统仿真
x0=0.0155; i0=1.2;
K=(m*g*x0^2)/i0^2; %%%%%%%%%%%%%% %数学模型建立
A=[0 1 0;2*K*i0^2/(m*x0^3) 0 -2*K*i0/(m*x0^2);0 0 -R/L]; B=[0;0;1/L]; C=[1 0 0]; D=0;
[num,den]=ss2tf(A,B,C,D);
变量num、den分别为开环传递函数的分子与分母系数。 A、B、C、D为状态空间方程中的相应矩阵。
4.4 开环系统仿真
在Simulink中的把在新建文件中的各个模块连接起来,进行仿真。 仿真框图如图4.1所示,其仿真结果如图4.2所示。
图4.1 系统开环阶跃仿真框图
21
磁悬浮小球的PID控制
图4.2 系统开环阶跃响应仿真图
4.5 闭环系统仿真
在Simulink中,对系统进行开环控制进行如图4.1所示仿真,对系统给定一个单位阶跃信号,得系统响应曲线如图所示是发散不稳定的。因此必须增加反馈控制环节。系统闭环控制结构框图如图4.3所示。Controller即为要设计采用的控制器,Plant为被控对象磁悬浮系统模型,由Sensor构成反馈通路。对图4.3进行简化可得图4.4,即简单地用单位负反馈来代替。
图4.3 系统闭环控制结构框图
22
第4章 基于MATLAB的控制系统仿真
图4.4 系统简化后控制框图
先尝试用常规PID控制方法。常规PID控制系统原理框图如图4.5所示,系统主要由PID控制器和被控对象组成。作为一种线性控制器,它根据设定值y(t)和实际输出值y(t)的偏差e(t),通过PID线性组合构成控制量u(t),对被控对象进行控制。
图4.5 PID控制系统原理框图
Simulink 工作环境中,利用传递函数模块建立系统被控对象的传递函数如图4.6。
图4.6 被控对象的传递函数
功放部分的函数,其关系为Uout?2Uin,闭环系统传感放大如图4.7所示。
图4.7 传感放大的传递函数
23