PID控制算法解析英文翻译Word下载.docx
《PID控制算法解析英文翻译Word下载.docx》由会员分享,可在线阅读,更多相关《PID控制算法解析英文翻译Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
这些元素的输出值加起来作为系统的输出。
RTCrpUDGiT
图1展示了PID控制器的基本方框图。
在这个例子中,微分原件仅仅由装置的反馈信号驱动。
期望值减去这个装置的反馈信号得到一个误差值,这个误差值是比例和积分的驱动信号。
这些信号值加到一起用来驱动这个装置。
现在还不能描述这些元素怎么工作的,在下面的文章中会解释的。
利用一个交替的装置研究比例元素,这个可以为比例元素提供比较好的位置,并且取决于你希望这个系统如何实现指令。
5PCzVD7HxA
图1
控制系统
为了能够用可实现的理论来讨论这个课题,我们需要一些试样系统。
在这篇文章中我将用三个系统展示不同的控制器对它们的影响:
jLBHrnAILg
电机驱动齿轮系统
精密定位系统
热力系统
每种系统都有不同的特征并且需要不同的控制器才能实现最好的控制效果。
1、电机和齿轮
第一个是电机驱动齿轮系统,齿轮的输出位置信号由电位计或一些定位计监控。
你将会看到这种机械装置会用来驱动打印机上的输送装置或是作为节流装置安装在汽车的巡航装置上,或是任意位置精确定位的控制器上。
图2展示了这种系统。
这个电机是由软件控制的电压驱动的。
电机的输出是用齿轮向下转动实际的机械装置,最终的驱动位置是由电位计监测的。
xHAQX74J0X
一个直流电动机最好是由与被控电压成比例的速度驱动。
通常电机电枢会有电阻,所以在输入电压和输出速度上会有一些延误。
齿轮组会将电机的运转乘以一个常数,最终电位计会检测输出轴的位置。
LDAYtRyKfE
图3展示了电机驱动齿轮系统的阶跃响应。
我正在用0-0.2的一个时间常数值。
这个系统的阶跃响应仅仅是对输入从0到一些常数值的反应。
所以我们在这处理相对普通的例子,我已经展示了一小部分的阶跃响应。
图3展示了阶跃输入和电机响应。
这个电机由于时间常数所以响应很慢,但是一旦开始电机就会以固定的速率转动。
Zzz6ZB2Ltk
图2
2、精确执行器
有时我们必须精确控制装置的位置。
一个精确的定位系统需要一个自由的机械平台,一个扬声器和一个非接触式位置传感器。
dvzfvkwMI1
你可能希望这种机械装置作为一个光学系统的稳定原件或是定位一些技术装备或传感器。
软件指定线圈的趋势。
这个线圈建立的磁场能在磁体上产生磁力。
这个磁体安装在机械平台上并且与线圈的运动趋势成比例运动。
最终这个平台的位置由非接触式位置传感器监测。
rqyn14ZNXI
因为这种安置,磁力与平台的转动独立开。
好处是将平台和外部的效果联系在一起,缺点是导致系统的不稳定,成为控制的一个挑战。
并且用电子设备构建一个好的直流输出放大器和非接触式传感器的界面也会是一个挑战。
如果你将要设计这种系统时你要祈祷你有一个相当聪明的团队。
EmxvxOtOco
这个系统的
运动方程非常简单。
平台的转力仅仅与要求的驱动力成比例,所以系统的加速和驱动力成精确的比例。
后面我们将会看到由于平台启动的延缓使控制问题更具挑战性。
图3
3、温度控制
第三个例子是一个加热器。
这个容器由电子加热器加热,容器内的温度由温度检测装置测量。
热力系统一般会有复杂的响应。
我会忽视很多小的细节并给出一个相似的模型。
除非你对效果很严苛,那么不需要一个精确的模型。
SixE2yXPq5
系统的阶跃响应Vd的改变时间常数t1-0.1s,t2-0.3s。
这个响应一般用来解决给定驱动的常温问题,而且时间充裕。
同样由于绝缘少,热力系统对外界的影响很敏感。
6ewMyirQFL
控制器
这里介绍的PID控制器的元素的输入信号或者是装置的输出信号或者是误差信号,这个误差是指装置的输出值和系统期望值的差。
kavU42VRUs
我将用浮点的方法写这个控制代码从而能够实现讨论过的细节。
如果你将用积分或是其他固定算法实现你的控制,这将取决于你是否采纳这个方法。
y6v3ALoS89
随着讨论的进行,你将会看到数据结构和函数内部的形成。
我用忽视PID的常规更新误差来代替忽视指定误差的原因是你想要与误差开玩笑。
在主要代码中除去误差计算使PID得应用更有一般性。
比例控制
比例控制是最简单的回路控制,单一的比例控制可能是最普遍的控制回路。
一个比例控制器就是将误差信号乘以一个常数然后输出给设备。
这种比例控制通过下面的代码来计算:
我们用一个电机反馈系统作为例子。
为了小的增益,电机需要达到正确的目标,但是这样做太慢了。
加速一个点的响应来增加增益。
除了KP-5,KP-10点,电机加快启动,但是越过了目标。
最终这个系统的低增益有任何的加快,而只是越过了目标。
如果我们一直增加增益,只能使系统在目标值上震荡变得不稳定。
M2ub6vSTnP
这个电机和齿轮开始超过高的增益是因为电机响应的延误造成的。
这个延误加上高的反馈增益造成超调。
单一的比例控制很明显对系统没有帮助。
这里有太多的延误,增益太低,这样系统将会震荡。
当增益增加时,系统的输出频率增加,但系统的问题没有解决。
0YujCfmUCw
这个系统存在外界温度的时间常数变化的干扰。
即使没有这个干扰,比例系统也不能达到设定的温度。
增加增益有帮助,但即使是KP-10输出仍然低于目标值,你将会看到超调连续的出现。
eUts8ZQVRd
在前面的例子看到,单一的比例控制只是偶尔有帮助。
装置设备有太多的延误了,比如精密驱动装置,在比例控制下不能稳定工作。
一些装置,像温度控制器,不能得到期望的温度。
电机驱动齿轮装置可能会工作,但它们可能比单一比例控制工作的更快。
为了解决这些问题,你需要加入积分和微分控制。
sQsAEJkW5T
积分控制
积分控制用来给系统增加长期的精度,在大多时候和比例控制结合使用。
实现积分控制的代码如下所示。
iState是所有前期的输入之和。
参数iMin和iMax是积分状态变量的最小值和最大值。
GMsIasNXkA
单一积分控制降低稳定性或是完全破坏系统。
例如,电机驱动齿轮在单一的积分控制下不能达到目的。
就像单一比例控制的精确定位装置,积分控制的电机驱动齿轮会越来越震荡最终超过安全界限。
TIrRGchYzg
研究这个系统要比比例控制花更多的时间,但当它解决了,即使有误差也能达到目标值。
如果你现在的问题不需要马上解决可以研究下这个系统。
7EqZcWLZNX
积分状态变量能够记住之前的信息,这样可以消除任何输出的长期误差。
这个记忆对不稳定性也有好处,被控装置在加速后响应太慢。
为了使前面两个系统稳定,你需要一些之前的数值,这个数值可以从比例中得到。
lzq7IGf02E
例如,我们考虑一个比例积分电机驱动齿轮控制系统。
目的位置确定要比纯比例控制需要时间长,但不会选择错误的目标点。
zvpgeqJ1hk
另一个是加热的比例积分控制系统的例子。
纯积分控制的加热器能够确定准确的温度值,但加入比例控制后能够提高2-3倍的速度。
从这看出利用比例积分控制可以在可获得的极限速度下漂亮的运转系统。
NrpoJac3v1
在我们结束积分控制之前,还有两点需要指出。
第一,随着时间增加误差也逐渐增加,你设定的取样时间非常重要。
第二,你需要注意积分范围而导致结束。
1nowfTG4KI
积分状态变量的改变速率等于误差平均值乘以积分增益乘以取样速率。
由于积分最终趋于平缓,所以你可以选奇特的取样速率,但这个速率要最终达到一个平衡的常数。
最坏的情况下,取样速率不能超过10个样本间距的正负20%。
甚至你可以丢失一些样本只要你的平均样本在这个范围内。
尽管如此,对一个PI控制器来说,每个采样降低正负1%到正负5%的正确采样时间,一个长期的平均速率是准确的。
fjnFLDa5Zo
如果你的控制器驱动装置很困满,那你的控制器会浪费大量的时间在你的控制器实际可驱动的范围以外。
这种情况叫做饱和。
如果你使用PI控制器长时间处在饱和状态将会导致非常大的数值。
当装置达到目标值,积分器的值仍然很大,所以如果装置驱动在目标值以外而积分器肆意发展接近安全界限时,这种情况非常糟糕,再也不能达到预期值,仅仅是在预期值附近震荡。
tfnNhnE6e5
对这种情况举例,我们检测一个驱动边界为正负0.2的电机。
不仅是控制器的输出比电机驱动的有效值大很多而且电机出现超调。
这个电机在5秒左右达到目标值,但是反方向直到8秒最终15秒稳定在目标值。
HbmVN777sL
处理积分结尾问题最简单和直接的方法是限制积分变量。
当你限制积分变量时,积分控制器的输出值仍然很大,但是积分器的结尾不会很远,系统5秒达到目标值,最后结束在6秒。
V7l4jRB8Hs
注意你在利用上面的代码例子时如果改变积分增益一定要记录最大值和最小值。
通常你可以设置积分器的最大值和最小值以至于你可以匹配驱动装置的最大值和最小值。
如果你知道干扰将变小你可以更多的限制积分器使你能快速的达到目标值。
83lcPA59W9
微分控制
在前面我一点也没有介绍精密驱动器,因为精密驱动器不能在PI控制器下稳定工作。
一般来说,一个装置如果不能再P控制器在稳定工作那么也不能在PI控制器下稳定工作。
mZkklkzaaP
我们知道P控制器解决的是当前的问题,PI控制器解决的是过去的问题。
如果我们有一些原件能够预言未来的状态就可以使装置稳定工作。
微分控制器可以实现这个预言。
AVktR43bpw
下面的代码展示了PID控制器中的微分部分。
我宁愿使用实际装置的位置也不使用错误的因为当指定值变化时可以平稳的过渡。
微分本身就是位置的最后一个值减去位置的当前值。
这会使你对速率有一个粗糙的估计,从而预测位置的下一个落点。
ORjBnOwcEd
利用微分控制可以使精密驱动稳定工作。
PD控制下的精密驱动可以在不到半秒确定目标位置,相比其他系统快很多秒。
2MiJTy0dTT
微分控制非常有效,但也是这些系统中问题最严重的。
你最有可能遇到的三个问题是采样不规则,噪声和高频振荡。
gIiSpiue7A
我写的微分代码是输出时和位置的变化成比例的。
如果你的位置以一个固定速率变化,但是采样时间从一个采样到另一个采样,你会看到微分噪声。
因为微分的增益通常很大,这个噪声会放大很多倍。
uEh0U1Yfmh
当你使用微分控制是需要密切注意采样问题。
我会告诉你采样间距要一直保持在全体的1%越近越好。
如果你不能设置硬件限制采样间距那么你将软件对采样设计为具有很高的优先权。
你不需要必须以严格的精度执行控制器仅仅需要确保ADC转换器在适当的时间工作。
最好使你的所有采样发生在ISR或是首要任务,然后执行控制代码。
IAg9qLsgBX
微分控制一直有噪声问题,噪声通常贯穿整个频率范围。
控制要求和装置输出的大部分信号都在低频率下。
比例控制没有噪声烦扰。
WwghWvVhPE
积分控制使输入信号平衡从而消除噪声。
微分控制提高频率信号,所以提高了噪声。
观察一下我上面提到的微分控制的增益并想一下在存在噪声的前提下每个采样改变一点数值会发生什么。
这个数值乘以一个不同的的频率增益2000并想一下原因。
asfpsfpi4k
你可以对你的微分输出低通滤波来降低噪声,但这仅仅影响你的有效性。
如何做和怎样确定超出了这篇文章的讨论范围。
可能解决这个问题最好的办法就是观察你是否有可能看到噪声,需要多久能得到安静的输入和你从这个控制中得到的最坏后果。
如果你这样做,你可以避免微分控制的问题,告诉你的硬件员工们输入低噪声信号或是寻找期望的控制系统。
ooeyYZTjj1
调试
关于对PID控制器很好的一点是,你不需要对上面提到的理论有很好的理解就可以很好的完成这个工作。
世界上90%的闭环控制器在相对好的调整下就可以很好的工作。
BkeGuInkxI
如果可以把你的系统和测试设备应用在一起。
如果你的系统足够慢那么找出一些合适的变量值画一幅电子数据表。
你能够观察到驱动输出和装置输出。
而且你可以将矩形波作为设定输入信号。
写一些能够生成合适指令的测试代码是非常容易的。
PgdO0sRlMo
一旦你将设备准备好,增益调为零。
如果你觉得不会用到微分控制然后直接跳到对比例增益的调整,否则从对微分增益的调整开始。
3cdXwckm15
你不能只用微分控制编写代码。
将比例增益设定为较小的值然后观察系统怎么工作。
如果震荡那么调整微分增益。
首先以100倍比例增益的数值作为微分增益,观察驱动信号。
现在开始增加微分增益直到看到输出出现震荡,过多的噪声或超调。
注意由于微分的震荡要比不是微分的速度快很多。
我一般将增益调整到系统达到震荡边界然后往后调回2到4个增益值,确保驱动信号比较好。
这时你的系统响应可能比较慢,那么现在开始调节比例和积分增益。
h8c52WOngM
如果还没有准备好,那么把比例增益调整到1-100中的一个数值。
你的系统不是响应很慢就是处于震荡中。
如果是震荡那么向下调整8-10个比例增益直到震荡消失。
如果不是震荡那么向上调整8-10个增益直到出现震荡或是超调。
当在微分控制器下,我会将超调点向右调整很多,然后减少1-2个增益。
当你接近目标时很好的调整两个因素直到看到你希望得到的结果。
v4bdyGious
一旦你设定好比例增益,开始调整积分增益,从0.0001到0.01开始调整。
再次调整直到你找到积分增益的范围,在这范围内可以没有太多超调和不是很接近震荡的情况下快速实现。
J0bm4qMpJ9
采样率
在这之前我只讨论了采样率如何保持方面的问题,没有告诉你怎样确定采样率。
如果你的采样率很低那么由于采样率的延迟可能不会实现你想要的结果。
如果你的采样率很高,那么可能会产生在微分控制下的噪声和积分下的溢出。
XVauA9grYP
对数字控制系统的原则是,采样时间在期望设定时间的1/10th-1/100th。
系统的设定时间是从出现饱和的一刻开始到控制系统很好的达到期望值的时间。
如果你能承受1秒的设定时间那么你可以将采样率设定在10HZ。
bR9C6TJscw
应该灵活对待采样率。
任何事情都可能使控制问题更困难提示你提高采样率。
例如一个较难控制的装置,微分控制装置,精确控制都需要提高采样率。
如果你处理一个简单的控制问题,那么尽量降低采样率。
若果你不需要微分器或者对积分控制很仔细的控制,那么你可以调整设定时间的1000倍。
pN9LBDdtrd
这篇文章包含了执行器的基本知识和PID控制器的调试方法。
运用这些知识你在遇到下个控制问题时能够用自己的方法解决并使系统稳定在控制器下。
DJ8T7nHuGT
TimWescott