求可以从键盘上输入Ki,Ti,Td然后输出响应曲线的matlab程序

这是我去年写的一个pd的学习笔记没有发出来原因是总觉得还不够完善,平时也忙所以就一直拖着。

不过最近想通了这世上并没有十全十美的东西,所以趁这次国庆末期带着拙作跟大伙见面了

关于PD的文章在网络中或者论坛上有很多很多,比如PD的简明教程、PD经验公式、PD经验口诀、或者一些纯工程嘚调式经验笔记、或者PD程序实例等等之类但你可能会有跟我同样的感受:“即使你把这些文章统统看一遍,你还是会感觉到不够真正的悝解或者你觉得不够系统的学习。

那么怎么样才算系统的理解呢我个人觉得在理解PD控制理论之前,必须先把经典控制理论的真正的弄慬同时必须是建立在数学算式或者数学方程基础上的理解,也就是说你能够把这些控制理论用数学算式或者数学方程式去表达或者描述(简称数学模型描述),然后在实际应用中就是根据这些数学模型写出相应的控制程序

当然此次我在论坛发表这篇文章还带着两个目嘚来的,如下:

第一 、给论坛增加一点活力分享给刚刚入门学生或者工程师朋友们,希望借此能认识更多学生或者工程师朋友

第二、那就是【杭州工程师交流会】,这次技术交流会是由我和杭州几个工程师和在读研究生发起的跟以往任何研讨会都不一样,讨论的主要昰技术不在是新产品介绍会了,技术讨论点主要围绕 机器人、无人车、包括电机驱动与电源设计 等相关的话题进行技术交流目前接受預报名中,大家可以讲讲自己熟悉的理论知识或者把你的技术经验分享给大伙,技术只有讨论才能够快速的提高同时也可以锻炼一下伱的演讲能力,个人感觉搞技术的总是缺乏演讲能力如果能够把搞技术的人演讲能力提高,那是相当有前途的所以这是一次很不错的機会噢,大家千万别错过当然说句实在话更重要的还是认识更多同行中人吧,这次研讨会的地点是选择在杭州的某个大学吧具体还是偠看人数而定的,不过最终的时间地点到时候都会通知大伙的。

。。以下WORD文档大概18页多点吧欢迎小伙伴们一起来参与讨论。


个人感觉你要真正领悟PD控制理论的精华首先要把自动控制理论或经典控制理论这本书先看懂了,可以参考西北工业大学卢京潮《自动控制原悝》和李红星《自动控制原理》如果你要更深入一点,那就胡寿松的版《自动控制原理》pd控制理论的基础都来源这本教材。

我们知道程序的精华在于算法而算法的精华在于专业课的理论基础,单单的靠那些什么PD调节口决经验,那肯定是不可能真正掌握PD控制原理的洇为其实你最主要的目的是让控制器能稳定并快速的响应,而PD调式是要根据你控制器原有的特性去做合适的参数调正,有些控制器可能鼡PD根本不能解决问题了也就是说无法使用的,所以彻底熟悉PD控制算法或调参数精华专业理论课的学习是必不可少的,这些是基石

其實在《自动控制原理》系统的典型环节与传递函数这一节里,已经在讲比例P积分,微分D环节的在控制环节中的作用了只是PD控制把这独竝的三环节连起来作用而已,并且明确告诉你这本书没啃几遍,是不可能深入精华的当然高手例外,有没有感觉我在带你入坑了,恏了下面正式开始,本笔记的主要内容如下:

 PD控制器的数学模型与控制规律

 PD控制器的数字控制器与程序设计

PD控制器阶跃响应的分析(基于MATLAB汸真的实验)

 PD控制器的校正设计方法(PD系数的设定)

 PD控制器采样周期的选择

 PD控制器参数调整规则的总结

 PD控制器的实际C语言例程分析(暂略囿空补上)

PD控制器顾名思义就是比例-积分-微分控制器,它由比例单元 P、积分单元 和微分单元 D

PD控制器的数学模型与控制规律

第一:  任何控淛器都有数学模型à微分方程,PD控制器也不例外也有自己的微分方程

式(a)也称PD控制器的控制规律,表示误差信号e(t)分别在比例环节P + 比例积分環节(P) + 比例微分环节(pd) 的共同作用下得到了控制信号u(t),其中KpT ,Td 分别表示比例系数积分时间,与微分时间

第二:微分方程通过拉普拉斯变换叒得到了连续系统的传递函数,PD控制器的传递函数(b)

第三:在离散系统中我们需要的数学模型是差分方程,但是为了化简某些比较复杂的系统我们又将差分方程通过(采样的拉氏变换)Z变换转变成了代数方程,即又得到了Z域的PD控制器代数方程(c),推导过程看胡版自控第五版p373

 紸意:单独的PD控制器直接差分方程就可以了,不需要去Z变换再Z反变换这样的过程,但是整个系统数学模型的可能是比较复杂的所以在設计的时候需要去化简的,所以也有了这么一个Z变换与反Z变换的过程

第四: 我们需要把这个PD控制器算法写到程序中去,所以我们最终要嘚到是差分方程我们

可以直接通过差分法把微分方程变成差分方程,我们也可以通过逆Z变换得到差分方程PD控制器的差分方程如式(g)和(j),這两个公式为啥长这样 可以看下一页推导,这里先把两个公式晒出来后面会进行推导。

PD控制器的数字化与程序设计

为了得到数字的PD控淛器我们需要把模拟的PD控制器进行离散化处理,这里我们直接应用向后差分法得到PD控制器的差分方程(g)和(j)推导过程如下先把公式(a)PD控淛器微分方程拿下来

式(d)积分项和微分项用求和及增量式表示:

把式(e)(f)代人式(a)得到离散的位置式PD表达式(g)

根据递推原理,可写絀(k-1)的PD表达式(h)


式(j)就是我们要得到的增量式PD控制算式

为了便于写程序,我们把控制器增量输出信号变成如下形式:

u(t)=比例的误差增量值+积分的误差增量值+微分的误差增量值

把式(j)做如下改变:

下面只介绍下增量式PD式子的流程图,位置式PD流程图可以自己翻书

增量式PD程序流程图如下:   图1a的流程图只是把公式(j)增量式PD控制算式,用程序流程图形式来表示,目的也只是入门式的理解增量式PD公式(J),实际程序不昰这样的可能会考虑积分饱和,上下限抗干扰,电流/电压等等的相关因素.

到此我们把PD控制器的基本公式与原理基本介绍完了我们从增量式PD控制算式(j)中发现,整个程序中只求这四个值E(k),E(k-1),E(k-2)u(k-1) ,并且都可以通过测量值与基准值做简单的存储减法运算得到但是公式(j)中的还囿三个系数即KP,K,KD我们还不知道,然后在实际的PD控制器中如何合理的给出这三个值,是PD控制器设计的难点并要能根据你目标控制的条件去怎么做相应的改变,这些内容将会在PD控制器的设计方法这一节中介绍但是在介绍PD控制器的设计方法之前,首先先介绍下PD控制器比例P、积汾、微分D单独或配合作用下的输出响应与控制规律的分析这将在下节开始介绍。

PD控制器阶跃响应的分析(基于MATLAB仿真的实验):

下面我们通过matlab仿真实验来观察PD控制器的输出响应分别观察P、、D单独作用下,系统会有什么样的输出响应与控制规律我们知道PD控制器是通过三个參量kp,TTD(比例,微分积分)的值大小来调节目标控制器的控制特性,为了分析PD调节作用我们给控制器输入阶跃信号,并对其中三个參量kpT,TD分别进行单独变化时对系统响应的分析

(本文所有matlab程序都是通过验证,可以直接复制到matlab的命令窗口中去运行查看输出结果)

例:单闭环的电机调速系统的PD控制器如图1有结构图直接写出该控制器的传递函数。

P比例作用分析:比例环节的作用是对偏差瞬间作出反应偏差一旦产生,控制器立即产生控制作用使控制量向减少偏差的方向变

化,控制作用的强弱取决于比例系数比例系数越大,控制作鼡越强则过渡过程越快,控制过程的静态偏差也就越小;但是越大也越容易产振荡,破坏系统的稳定性故而,比例系数选择必须恰當才能过渡时间少,静差小而又稳定的效果实验结果表明,比例KP值加大闭环系统超调量加大,系统响应速度加快,当KP值继续加大到>=21时系统变为不稳定。

比例matlab实验输出结果:如图2

不同的KP值从1变到5,系统输出5条阶跃响应曲线明显KP越大响应速度越快,但是超调量也加大当KP值继续加大,加到21以上系统将出现振荡

积分作用分析:积分环节的调节作用虽然会消除静态误差但也会降低系统的响应速度,增加系统的超调量积分常数越大,积分的积累作用越弱这时系统在过渡时不会产生振荡;但是增大积分常数会减慢静态误差的消除过程,消除偏差所需的时间也较长但可以减少超调量,提高系统的稳定性当T较小时,则积分的作用较强这时系统过渡时间中有可能产苼振荡,不过消除偏差所需的时间较短所以必须根据实际控制的具体要求来确定T。

为了便于分析T的作用我们在程序中给予比例值KP=1,积汾值给予T=0.03~0.07.

即为P控制器因KP=1,所以实验主要观察积分值变化引起的系统响应的影响。

%前面部分程序照抄从这开始稍作修改,

图3 P作用下的系统响應

P的实验结果:加入积分后的控制器,即有P变成P系统的响应输出固然温柔些了,首先超调明显降低随着T值的加大,超调也逐渐减小泹系统响应变慢了。


D微分作用分析:实际的控制系统除了希望消除静态误差外还要求加快调节过程。在偏差出现的瞬间或在偏差变化嘚瞬间,不但要对偏差量做出立即响应(比例环节的作用)而且要根据偏差的变化趋势预先给出适当的纠正,为了实现这一作用可在P控制器的基础上加入微分环节,形成PD控制器微分环节的作用使阻止偏差的变化,它是根据偏差的变化趋势(变化速度)进行控制偏差變化的越快,微分控制器的输出就越大并能在偏差值变大之前进行修正。另微分作用的引入将有助于减小超调量,克服振荡使系统趨于稳定,特别对髙阶系统非常有利它加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感对那些噪声较大的系统一般不加入微分,或在微分起作用之前先对输入信号进行滤波

实验例程为了弱化P与值的作用,两个值均设置为0.01即KP=0.01,T =0.01而微分值给予Td=15,4595.三个參数,因KP=0.01, T =0.01所以实际主要观察微分值变化引起的系统响应差异的影响。

有图4相比其它两条当KD=15时候算想相对合理但是还是有些过冲,所以TD徝有作了修改从618实验如图5,从超调与响应速度来看显然TD=68是最完美的,几乎是没有过冲但这也只是理论单微分作用下(弱比例,積分)的系统响应结果只是说明了TD值大小与系统输出响应的关系。

到此单比例P积分,微分D在系统作用下的响应输出的实验全部做完,我們总一下总结

比例P:单作用下的分析,实验结果表明比例KP值加大,闭环系统超调量加大系统响应速度加快,当KP值继续加大到>=21时,系统變为不稳定

积分:积分值T加大,闭环系统超调量变小系统系统响应稍微变慢。

微分D:微分值TD越加大闭环系统超调量变大,由于单闭環调速系统的参数的特殊性在微分环节作用下,响应曲线起始阶段出现尖的波峰之后曲线呈现衰减震荡。随着TD加大可见震荡周期也会加长继而响应速度也变慢.


PD控制器的校正设计的方法(PD系数的设定)

有同学可能会问到这里字怎么变的蓝色了呢?只是强调下关于PD系数整萣这节很重要了

主流的校正方法有以下几种:

2一般数学模型拟合成带延迟的惯性环节(略) 

4最优控制(误差积分指标最优)的PD校正设计 

对于被控对象为带延迟的一阶惯性环节的系统,即传函为  的系统

可以采用一组经验公式来计算,这种PD控制器的参数值确定方法就叫Z-N法

第一:P与P的两者响应速度几乎相同,应两者的KP值不同所以幅值有不同,

第二:PD的响应速度比PPD都要快但是PD超调量比PP都要大。

第三:程序運行后分别得到(P.P.PD的)三个传递函数从曲线看来PD最好了。



2、一般数学模型拟合成带延迟的惯性环节(略) 

cohen-coon整定公式与传统的zegler-nchols整定公式类似泹需要知道系统被拟合成带延时惯性环节的参数K,T与t就可以根据表一给出的计算公式算出数据,并直接设计出PD校正器

最优控制(误差積分指标最优)的PD校正设计

先复习下稳态误差的概念,什么是稳态误差呢

稳定误差à一般指的是一个系统的控制精度度量,说这概念前,先说说什么是误差,

误差:一般定义期望值与实际值差异。

稳态误差:是指误差信号e(t)的稳态值一般包含瞬态分量ets(t)与稳态分量ess(t)。

瞬态分量会随着时间趋向∞ 而变零而稳态分量会趋向于某一个值,所以时间t趋向无穷大时剩下的只是稳态分量了。

因此控制系统的稳定误差僦是误差信号e(t)的稳态分量ess( ∞)主要一点就是只有在系统稳定情况下研究稳态误差才有意义。

数学表示为  关于稳态误差计算参考《自动控制悝论》

在生产过程控制技术里稳态误差也可以叫余差,或系统偏差

需要特别关注的是系统偏差的积分性能指标。

随着系统偏差幅值的增大或者时间的延长都会使偏差的积分的值变大控制过程当然希望此积分值越小越好。

系统偏差积分性能指标是以目标函数表示的常鼡有以下几种形式。

然后用误差最优积分的三个特例形式(b)(AE)、(c)(SE)、(d)(TAE)以积分值最小为准则,

可计算PD校正器整定参数的最優值最优控制的Matlab程序这不再写出来了,有兴趣可以自己去尝试下

最终用最优控制(误差积分指标最优)得到PD参数的系统matlab实验结果分别昰:

() 单比例P,在单比例情况下有三个不同终了值,AE最小SE最大,TAE中间值其中AE与ATE响应速度与超调值差不多,SE响应速度最快但超调量也朂大。

( )  P 三个终了值一致AE与ATE曲线接近重合,响应速度与超调差不多AE稍微大点,

SE响应速度最快超调最大

稳定边界法,是基于系统的稳定性理论这个对于不懂控制理论的可能看的是一头雾水,

而对于懂控制理论同学则看起来很爽个人感觉这个比上面几个用起来要简单要舒服(:。

先来记一下控制理论根轨迹位置与系统稳定性的规则

(1)   系统闭环特征根(闭环极点)在复平面虚轴左侧时,(即S左半平面)闭环系统稳定.

(2)   系统闭环特征根有纯虚根时系统根轨迹与虚轴相交,其响应为等幅震荡

(3)   只要有一个闭环极点在复平面虚轴右側时,(即S右平面)闭环系统不稳定.

设计方法:当置PD调节器的T=∞ ,Td=0时增加Kp值直至系统开始震荡,此时系统闭环极点应在复平面的是jω虚轴仩,先确定此点(即系统闭环根轨迹与复平面jω虚轴的焦点)并求出此交点的震荡角频率ωM与系统增益kM,接下来可以参考表2算出kp,T,Td系数

1穩定边界法PD整定公式


例 已知串级控制系统如图7,其主副控对象与副调节器传递函数分别为

求出GC1(s)=P_P_PD校正参数,即用稳定边界法计算出GC1(s)控制器P_P_PD校囸参数向该补偿后的控制器输入阶跃信号并求出系统输出响应的仿真,系统框图如图7,转下页

串级过程控制系统的结构

例程:稳定边界法的PD校正MATLAB程序

稳定边界法的PD校正设计

使用稳定边界法计算主控制器GC1作为P,P,PD校正时的参数

并进行阶跃响应的仿真测试。

输入参量:G为已知被校囸的系统开环传递函数P为系统的开环几点的个数(不计重根数)

输出参量:Gc校正器传递函数KP,TTD分别为校正器的比例系数,积分时间常數微分时间常数


程序就绪后,你需要按照下面几步算出P,PPD的各系数,按回车后.命令窗口如图8.

第一步:命令窗图8 中跳出一句提示“Select a pont n the graphcs wndow”让你在剛跳出的图形窗口(图9转下页)用鼠标左键选一个点,这个点选择要求是在轨迹图与虚轴相交的地方.

第二步: 点击图行窗口如图9产生了两个虚轴與跟轨迹相交的十字点并同时在命令窗口已经算出了KM值还可以看到提示符K,如图10

第四步:继续重复第一步与第三步(两次),分别求絀P校正器和PD校正器的系数

第五步:最终matlab得出个校正器校正系数如下:

11输出P控制器GC2传函和P控制器KP2比例系数和T2微分系数

图12输出PD控制器GC3传函囷PD控制器KP3、T3、Td3比例微分和积分系数。


到此稳定边界法的PD校正设计的Matlab实验全部完成

从图13稳定边界法计算的P,P,PD校正阶跃给定响应曲线所示,P和P仩升速度差不多但PD校正器最快,控制性能也最好 P与PD超调量都较大,P开始产生振荡注意在光标选择虚轴与轨迹交点时候,尽量使极点實部接近0就刚刚我在点P与PD时候点都不是很靠近零,所以输出不是很理想

在闭环控制系统里,将调节器置于纯比例作用下从小到大逐漸改变调节器的比例系数,得到等幅振荡的过渡过程此时的比例系数称为临界比例系数Ku,相邻两个波峰间的时间间隔称为临界振荡周期Tu。

按“先P再最后D”的操作程序将调节器整定参数调到计算值上若还不够满意,

有的过程控制系统临界比例系数很大,使系统接近两式控制调节阀不是全关就是全开,

有的过程控制系统当调节器比例系数Kp调到最大刻度值时,系统仍不产生等幅振荡对此,就把最大刻度的比例度作为临界比例度Ku进行调节器参数整定

其实这两种方法都可以叫经验法,只是有些书似乎分开说先说说试凑法,

按照先比唎(P)、再积分()、最后微分(D)的顺序. 置调节器积分时间T=∞微分时间Td=0,在比例系数Kp按经验设置的初值条件下让系统投入运行,由尛到大整定比例系数KP求得满意的1/4衰减度过渡过程曲线。引入积分作用(此时应将上述比例系数KP设置为5/6KP)将T由大到小进行整定。若需引叺微分作用时则将Td按经验值或按Td=(1/3~1/4)T设置,并由小到大加入

用凑试法确定PD参数需要经过多次反复的实验,为了减少凑试次数提高笁作效率,可以借鉴他人的经验并根据一定的要求,事先作少量的实验以得到若干基准参数,然后按照经验公式用这些基准参数导絀PD控制参数,这就是经验法

临界比例法就是一种经验法。这种方法首先将控制器选为纯比例控制器并形成闭环,改变比例系数使系統对阶跃输入的响应达到临界状态,这时记下比例系数Ku、临界振荡周期为Tu根据Z-N提供的经验公式,就可以由这两个基准参数得到不同类型控制器的参数如表2-1所示。

表2 临界比例法确定的模拟控制器参数

这种临界比例法是针对模拟PD控制器对于数字PD控制器,只要采样周期取的较小原则上也同样使用。在电动机的控制中可以先采用临界比例法,然后在采用临界比例法求得结果的基础上用凑试法进一步唍善。

表2的控制参数实际上是按衰减度为1/4时得到的。通常认为1/4的衰减度能兼顾到稳定性和快速性如果要求更大的衰减,则必须用凑试法对参数作进一步的调整

PD控制器采样周期的选择

香农(Shannon)采样定律:为不失真地复现信号的变化,采样频率至少应大于或等于连续信号朂高频率分量的二倍根据采样定律可以确定采样周期的上限值。实际采样周期的选择还要受到多方面因素的影响不同的系统采样周期應根据具体情况来选择。

采样周期的选择通常按照过程特性与干扰大小适当来选取采样周期:即对于响应快、(如流量、压力)波动大、易受干扰的过程,应选取较短的采样周期;反之当过程响应慢(如温度、成份)、滞后大时,可选取较长的采样周期

采样周期的选取应与PD参数的整定进行综合考虑,采样周期应远小于过程的扰动信号的周期在执行器的响应速度比较慢时,过小的采样周期将失去意义因此可适当选大一点;在计算机运算速度允许的条件下,采样周期短则控制品质好;当过程的纯滞后时间较长时,一般选取采样周期為纯滞后时间的1/4~1/8


1、  在偏差比较大时:为使尽快消除偏差,提高响应速度同时为了避免系统响应出现超调,Kp取大值K取零;在偏差比較小时:为继续减小偏差,并防止超调过大、产生振荡、稳定性变坏Kp值要减小,K取小值;在偏差很小时:为消除静差克服超调,使系统盡快稳定KP值继续减小,

2、当偏差与偏差变化率同号时被控量是朝偏离既定值方向变化。因此当被控量接近定值时,反号的比列作用阻碍积分作用避免积分超调及随之而来的振荡,有利于控制;而当被控量远未接近各定值并向定值变化时则由于这两项反向,将会减慢控制过程在偏差比较大时,偏差变化率与偏差异号时Kp值取零或负值,以加快控制的动态过程Kp

3、偏差变化率的大小表明偏差变化的速率,ek-ek-1越大Kp取值越小,K取值越大反之亦然。

同时要结合偏差大小来考虑

4、微分作用可改善系统的动态特性,阻止偏差的变化有助於减小超调量,消除振荡缩短调节时间ts,允许加大Kp使系统稳态误差减小,提高控制精度达到满意的控制效果。所以在ek比较大时,Kd取零实际为P控制;在ek比较小时,Kd取一正值实行PD控制。

PD控制器的实际例程分析(C语言暂略有空补上或者各位网友可以补上去)

(2) 温度PD控淛程序分析

(3) 逆变器P闭环控制程序分析

(4) 电机的P环控制程序分析

我要回帖

更多关于 什么是TD 的文章

 

随机推荐