1、第8章 从控制理论到数字实现,本章导读:本章作为补充参考章节,如果读者对控制理论具有很深的理解,且熟练使用各种仿真和设计工具,可以忽略本章。本章主要针对一些非控制工程专业、控制理论稍欠缺的读者。一般这些读者虽然在“控制理论”相关课程上学到各种传递函数,各种系统的稳定性判别原理,以及各种各样的控制校正算法,诸如PID、滞后超前校正、甚至神经网络、模糊控制等,但仍然很难充分理解其物理意义,并不能将各种传递函数、校正环节和实际的物理意义一一对应起来,深刻理解其原因,并且也不熟悉MATLAB中对控制系统进行仿真设计的基本工具或命令,以及Simulink动态仿真工具的使用,这样,这些读者就很难在实际的控
2、制系统中应用所学到的控制理论。本章主要内容就是解释一些控制理论中的基本但重要的概念和理论、校正环节设计方法等,并简单介绍一些MATLAB中关于控制理论或实现的基本命令、工具和控制系统分析中最常采用的Simulink动态仿真环境的使用。希望帮助读者在控制理论与数字实现之间搭建一个桥梁,使所学到的控制理论在实际的硬件电路和程序中得以实现,使抽象的理论不再晦涩难懂,与实际工程现象形成基本映射。,8.1 基本控制理论,8.1.1 基本概念 传递函数:是贯穿整个控制理论的最普遍的概念,而频域的传递函数是把某个系统的输出和输入的关系描述成一个关于s或z的函数,便于频域分析。例如,积分器的时域表达如下: 8
3、.1.2 校正算法控制领域的校正算法很多,这里只介绍串联校正算法中的滞后超前校正算法和PID校正算法。串联校正时最常用的一种控制方案,其基本控制结构如下图。,8.1 基本控制理论,1. 超前校正器 如果一个串联校正器频率特性具有正的相位角,就称为超前校正器。其数学模型为:该控制器的bode相频特性在 时具有最大的正值,若超前校正器设计合理,则将增加开环系统的剪切频率和相位裕度,使得校正后的闭环系统带宽增加,阶跃响应速度加快,且超调量减小。2. 滞后校正器 滞后校正器的数学模型为:该控制器的bode相频特性在 时具有最大的负值,所以如果滞后校正器设计合理,则减小开环系统的剪切频率,但可能增加相位
4、裕度,意味着闭环系统的超调量将减小,但其阶跃响应将变慢。,8.1 基本控制理论,3. 滞后超前校正器一般系统的固有特性很难满足要求的时候,就需要进行校正,而单纯的超前或滞后校正很难满足要求,所以可以同时采用这两种方法,滞后超前校正器可以看成是超前校正器和滞后校正器的串联形成的。从相频特性来看,在低频段滞后超前校正器的相位是负角,呈滞后校正器的特性;而在高频段,其相位是正角,呈超前校正器的特性。常采用的PID控制器就属于滞后超前器。滞后超前校正器的数学表达形式是: 可以很容易看出这是超前和滞后校正器的串联组合。4. PID控制器 PID控制器是目前工程领域采用最广泛的校正控制器。PID控制器由比
5、例环节、积分环节、微分环节串联组合而成,其一般形式为:,8.1 基本控制理论,8.2 MATLAB的应用,8.2.1 万能的MatlabMATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大应用数学软件,其强大的数值计算能力在众多的数学类科技应用软件中首屈一指,独占鳌头。MATLAB的功能很多,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,目前主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,这也是其被称为矩阵实验室的原
6、因。它的大部分指令表达式与数学、工程中常用的形式十分相似,不像C等高级语言需要掌握复杂的语法,所以用MATLAB来解算问题相对简单,使用户可以花费更多的精力去关注算法本身设计。此外,MATLAB在最近的新的版本中也加入了对C,FORTRAN,C+ ,JAVA,VHDL,Verilog等的支持,可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,另外丰富的网上资源可以作为标准模块调用,用户可以直接下载使用,节省开发时间,加快研发进度。 MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATL
7、AB的符号计算,包括可视化建模仿真、文字处理、实时控制等功能;学科工具包是专业性比较强的工具包,按专业进行分类,常见的控制工具包、信号处理工具包、通信工具包、图像处理工具包等都属于此类。如下表是部分Matlab2008a自带的工具箱。,8.2 MATLAB的应用,8.2 MATLAB的应用,8.2.2 MATLAB的一些常用命令 在实际工程设计初期,采用matlab前期仿真是必不可少的环节。通过仿真,可以模拟被控对象特性,可以模拟校正环节的效果,尽可能减小后续设计工作量。Matlab除了一些基本的数学运算(如加减乘除、开方、乘方等),数组操作(如数组或矩阵的加减乘除等),逻辑运算(与、或、非等
8、)、画图操作等,在对不同的应用领域,还有特殊的命令。 8.2.3 常用工具 为了方便使用,节省开发时间,Matlab自带了各种常用工具箱,其具有友好的用户界面,简洁明了,易于使用。Matlab的工具箱式根据应用领域划分的,这个在前面已经有所介绍。,8.2 MATLAB的应用,8.2.4 Simulink与S函数Simulink环境是1990年前后由Math Works公司推出的产品,原名Simu-LAB,1992年改为现在的名称。其名称有两层含意:仿真(simu)和模型连接(link),组合起来就表示该环境可以以用框图的形式对系统进行仿真分析。在该环境中,无需大量编写和调试程序,而只需要通过简
9、单直观的功能模块组合,就可构造出复杂的系统,而这只需要简单的鼠标操作就可以实现。1. Simulink的使用 2. 子系统的构造 3. 模块封装技术 4. S函数的设计 5. simulink仿真设置,8.3 连续信号和数字信号之间的转换,8.3.1 信号的采样 以一定的时间间隔对连续信号进行采样,使连续信号转换成时间上离散的脉冲序列的过程,即为采样过程。在实际控制系统中把连续信号变换成一串脉冲序列的部件,称为采样器。 8.3.2 采样信号的复现经过采样,可以得到离散的信号,但是在实际的系统中,物理信号是连续的,所以需要将离散信号近似转换成连续信号。如上所述,离散信号在采样点上可以完全真实的反
10、映信号实际特征,但是在两个采样点之间默认为零,这就造成很大的误差。在两个采样点之间采取何种算法计算信号值,即采取何种保持器。1. 零阶保持器,8.3 连续信号和数字信号之间的转换,2. 一阶保持器 8.3.3 ADC的原理与应用 ADC是集采样和量化为一体的模数转换器件,是现实模拟信号和数字控制单元之间的桥梁,是数字伺服控制系统中不可或缺的重要部分。,8.3 连续信号和数字信号之间的转换,1. ADC的基本原理 ADC基本类型大致有两种:一种是间接比较型,即将输入的模拟信号先转换成某种中间量,然后再根据中间量转换成数字量输出。这种转换方式有“电压-时间(V/T)”和“电压-频率(V/F)”转换
11、等。这种转换器转换精度高,抗干扰性好,但是转换速度慢。但是由于其一般价格低廉,在一些对转换速度要求不高的场合中应用广泛;另外一种是直接比较型,即将输入信号采样后和参考电压进行比较,根据比较结果直接转换成二进制数字码。目前常用的直接比较型的ADC有:双积分型、逐次逼近型、计数式和并行式A/D转换器。计数式A/D转换器价格便宜,但是转换速度慢;双积分型转换器转换精度高,速度快,采用较多;逐次逼近型ADC结构简单,转换速度较高,能很好的兼顾速度和精度,在实际系统中采用很多;并行式A/D转换器转换速度快,但结构复杂,价格也较高。2. 量化效应 ADC将经过采样保持后的离散幅值信号量化为数字信号。假设A
12、DC的分辨率为q,即所说的LSB,ADC的转换位数为 ,分辨率 。,8.3 连续信号和数字信号之间的转换,3. ADC的一些关键参数 (1)分辨率:指数字量变化一个最小量时模拟信号的变化量,又称为灵敏度或精度。(2)转换速率:指完成一次从模拟信号到数字信号的AD转换所需的时间的倒数。(3)量化误差:这是由于AD的有限分辩率而引起的误差,即有限分辩率AD的阶梯状转移特性曲线与无限分辩率AD(理想AD)的转移特性曲线(直线)之间的最大偏差。 8.3.4 DAC的原理与应用1. DAC基本原理 在实际应用中,数字量也需要转换为模拟量后驱动相应的机构。DAC的工作原理很简单,可以总结为按一定的权值展开
13、和相加。DAC把输入数字量的每位按其权值分别转换成模拟量,并通过运算放大器求和相加。DAC内部有一个解码网络,以实现按权值分别进行D/A转换。,8.3 连续信号和数字信号之间的转换,2. DAC的一些关键参数 分辨率:指DAC输出端所能变化的最小值。 满幅范围(FSR):指DAC输出信号幅度的最大范围,不同的DAC有不同的FSR。该范围可以是正或负的电流,电压等模拟量。 差分非线性度(DNL):用于测量小信号非线性误差,计算方法是本输入代码和其前一输入代码之间模拟量的变化减去1LSB。 单调性:是指如果增加输入代码其输出模拟量也会保持相应的增加或不变的特性。该特性对使用在反馈环电路之中的DAC
14、非常重要,它能保证反馈环不会被死锁在两个输入代码之间。 积分非线性度:指对一个输入代码所有非线性度的累计。这一参数可以通过测量该代码相应的输出模拟量与传输函数直线之间的偏差来完成。 偏置:指DAC的输入代码为0 时DAC输出模拟量与理想输出的偏差。 增益误差:指DAC的输入代码为最大时DAC实际输出模拟量与理想输出的偏差。 精度:指DAC满量程时实际模拟输出与理论值之间的近似程度,对于T型电阻网络的DAC,与参考电压、电阻值等有关。通常,DAC的转换精度一般为分辨率的一半、即LSB/2。,8.3 连续信号和数字信号之间的转换,信噪比(SNR):通过给DAC施加一个满幅的正弦波数字代码再分析其输
15、出波形频率特性而得到的。DAC的输出经过滤波滤除基波分量以及所有谐波分量后剩下部分就是噪声。SNR就是基波分量与所有噪声分量之和的比值。 最大转换速率:当DAC的输入变化时,其输出需要一段时间才能得到稳定的相应输出值。最长的稳定时间就是最大转换速率。 建立时间:指输出值达并稳定在预定值的 1/2LSB范围之内所需的时间。,8.4 控制算法的离散化,8.4.1 各种离散化方法 1. 反向差分法,8.4 控制算法的离散化,2.正向差分法,8.4 控制算法的离散化,3.双线性变换法 该方法又被称为梯形积分法,它是基于梯形数值积分原理来实现连续传递函数离散化的。为了便于说明,现以一个积分系统为例,其输
16、入信号为 ,输出为 ,则:4.脉冲响应不变法 根据离散脉冲传递函数和连续传递函数的脉冲响应在采样时刻瞬时相等的原则,建立与之间的关系。Z表示z变换,这在很多自动控制原理中都有详细的说明,这里不做赘述。5.阶跃响应不变法 阶跃响应不变法要求脉冲传递函数和连续传递函数的单位阶跃输出响应在采样时刻相等,即:,8.4 控制算法的离散化,6.零极点匹配法在很多场合,传递函数通常以零极点的形式给出,或者很容易转换成此种模式:零极点匹配法进行z变换的基本思想是将 的极点 和有限零点 按照 映射关系一一对应的变换为 的极点 和零点 。,8.4 控制算法的离散化,8.4.2 数字式PID在连续控制系统的控制中,
17、PID控制是被最广泛采用的控制算法,其控制结构如图8-57所示。,8.5 本章小结,本章首先介绍了一些重要的基本控制理论和概念,进而介绍了工程控制领域常采用的串联校正控制器,包括滞后超前控制器和PID控制器,介绍了这两种常见控制器的设计方法,物理意义,以及关键参数的作用;由于MATLAB提供了强大的控制设计工具箱和工具,而过程设计中若采用MATLAB辅助,则能简化运算量,所以进而针对控制工程领域,介绍了常用命令、主要工具SISOTOOL、以及动态仿真软件Simulink的简单使用方法,由于很多控制算法在Simulink提供的工具模块中很难找到,所以简要说明了S函数的运行逻辑和编写方法,以帮助读者建立自己的Simulink功能模块;若在连续系统中设计好了控制算法,并得到理想效果,就需要在DSP中数字实现,所以,最后本章介绍了信号的采样离散方法以及控制算法的离散化方法,以便在DSP中编程实现。,Thank You !,