-
--
P
I
D
控制算法解析
在工作中,我是作为三名“随动
系统人员”中的一人,也是唯一一个利用软
件测试控制回路的人。所以
< br>,
我有很多机会为各种工程设计数字控制回路。当然
也有
一些需要我利用所掌握的经验去解决的控制问题
,
但是大量的控
制问题都可
以用简单的控制器解决,而不用求助任何控制理论知识。
这篇文章将会告诉你如何使用和调试一个简单的控制器而不需要复杂的数
学和控制理论知识。这个技术用来调试控制器是已经被验证且正确的方法
,
并且
可以成功解决任何控制问题。
P
I
D
控制<
/p>
P
I
D
控制器的各种应用形式已经存在超过一个世纪了。
PID
控制器非常适
合作为纯粹的机械设备,气动设备和电子设备。这种数字
PID
控制器利用微处
理器已经成功进入到工
业中。正如你看到的
,
将
PID
控制写入到你的程序代码中
时一个迫切的任务。
PI
D
代表“比例,积分,微分”
。这三个词语描述了
PID
控制器的基
本元
素。每种元素实现一种不同的功能并且对系统的运行产生不同的影响。
在传统的
PID
控制器中
,
这些元素是由系统的期望值和被控对象的反馈信号
的综合驱动的。这些元素的输出值加起来作为系统的输出。
图
1
展示了
PID
控制器的基本方框图。在这个例子中
,
微分原件
仅仅由装置
的反馈信号驱动。期望值减去这个装置的反馈信号得到一个误差值
,
这个误差值
是比例和积分的驱动信号。
这些信号值加到一起用来驱动这个装置。
现在还不能
描述这些元素怎么工作的,
在下面的文章中会解释的。
利用
一个交替的装置研究
比例元素
,
这个可
以为比例元素提供比较好的位置
,
并且取决于你希望这个系统如
何实现指令。
--
--
图
1
控制系统
为了能够用可实现的理论来
讨论这个课题
,
我们需要一些试样系统。在这篇
文章中我将用三个系统展示不同的控制器对它们的影响:
电机驱动齿轮系统
精密定位系统
热力系统
每种系统都有不同的特征并
且需要不同的控制器才能实现最好的控制效果。
1、电机和齿轮
第一个是电机驱动齿
轮系统
,
齿轮的输出位置信号由电位计或一些定位计监
控。
你将会看到这种机械装置会用来驱动打印机上的输送装置或是作为节
流装置
安装在汽车的巡航装置上,
或是任意位置精确定位的控制
器上。
图
2
展示了这种
系统。
这个电机是由软件控制的电压驱动的。
电机的输
出是用齿轮向下转动实际
的机械装置
,
最终的驱动位置是由电位计监测的。
一个直流电动机最好是由
与被控电压成比例的速度驱动。
通常电机电枢会有
电阻
,
所以在输入电压和输出速度上会有一些延误。齿轮组会将电机的运转乘
以
一个常数
,
最终电位计会检测输出轴
的位置。
图3展示了电机驱动齿轮系统的阶跃响应。
我正在用
0-0.
2的一个时间常数
值。
这个系统的阶跃响应仅仅是对输入从
0
到一些常数值的反应。
所以我们在这
处理相对
普通的例子,
我已经展示了一小部分的阶跃响应。
图
3
展示了阶跃输入
和电机响应。这个电机由于时间
常数所以响应很慢
,
但是一旦开始电机就会以固
定的速率转动。
--
--
图
2
2、精确执行器
有时我们必须精确控
制装置的位置。
一个精确的定位系统需要一个自由的机
械平台,
一个扬声器和一个非接触式位置传感器。
你可能希望这种机械
装置作为一个光学系统的稳定原件或是定位一些技术
装备或传感器。
软件指定线圈的趋势。
这个线圈建立的磁场能在磁体上产生磁力。
< br>这个磁体安装在机械平台上并且与线圈的运动趋势成比例运动。
最终这个平台的<
/p>
位置由非接触式位置传感器监测。
因为
这种安置,
磁力与平台的转动独立开。
好处是将平台和外部的效
果联系
在一起
,
缺点是导致系统的不稳
定
,
成为控制的一个挑战。并且用电子设备构建一
个好的直流输出放大器和非接触式传感器的界面也会是一个挑战。
如果你将要
设
计这种系统时你要祈祷你有一个相当聪明的团队。
这个系统的
运动方程非常简单。平台的转力仅仅与要求的驱动力成比例<
/p>
,
所以系统的加速和驱动力成精确的比例。
后面我们将会看到由于平台启动的延缓使控制问题更具挑战性。
--
--
图
3
3
、温度控制
第三个例子是一个加热器。
这个容器由电子加热器加热,
容器
内的温度由温
度检测装置测量。
热力
系统一般会有复杂的响应。
我会忽视很多小的细节并给出一个相似的模
< br>型。除非你对效果很严苛
,
那么不需要一个精确的模型。
系统的阶跃响应V
d
的改变时间常数t1
-0.
1s,
t2-0.3s
。这个响应一般用
来解决给定驱动的常温问
题,而且时间充裕。同样由于绝缘少
,
热力系统对外界
的影响很敏感。
控制器
这里介绍的
< br>PID
控制器的元素的输入信号或者是装置的输出信号或者是误
< br>差信号,这个误差是指装置的输出值和系统期望值的差。
我将用浮点的方法写这个控制代码从而能够实现讨论过的细节。
如果你将用
积分或是其他固定算法实现你的控制,这将取决于你是否采纳这个方法。
随着讨论的进行
,
你将会看到数据结构
和函数内部的形成。
我用忽视
PID
的常规更新误差来代替忽视指定误差的原因是你想要与误差
开玩
笑。
在主要代码中除去误差计算使
P
I
D
得应用更有一般性。
比例控制
比例控制是最
简单的回路控制
,
单一的比例控制可能是最普遍的控制回路。<
/p>
一个比例控制器就是将误差信号乘以一个常数然后输出给设备。
这种比例控制通
--