串联型PID,并联型PID与标准型PID简要说明
PID广泛应用于工业生产各个环节,然而对于不同PID结构会有一些差异,导致在调参时若按照常规的经验调试,结果将会有非常大的不同。
串联型PID(Serial PID)
串联型PID的三个环节由比例,积分和微分项串级而成,结构简图如下:

其传递函数为:
若使用后向欧拉法将其离散化,即将:
带入式(1-1)中,可得到:
其中:
—— 第m时刻控制器输出
—— 第m时刻的误差
—— 离散化控制周期
式(1-3)即为串联型PID的离散化增量式实现。利用递推的方法可得到绝对式实现如下:
并联型PID(Parallel PID)
并联型PID的三个环节由比例,积分和微分项并联而成,其结构简图如下:

其传递函数为:
串联型与并联型二者的系数有所不同,其关系如下:
使用后向欧拉离散化,可得到并联型PID的离散化增量式实现如下:
若使用Tustin方式离散化,即将:
带入式(2-1)中,并将置为0,可得到:
此即为并联型PI的离散化增量式实现。同样利用递推的方法可以得到绝对式实现如下:
标准型PID(Standard or mixed or Ideal PID)
标准型PID与上述二者都不同,其结构简图如下:

其传递函数为:
此时有:
使用后向欧拉离散化方法,可得到标准型PID的离散化增量式实现:
若使用Tustin方式离散化,并将置0,则得到标准型PI的离散化增量式实现:
式(3-4)即为TI的快速电流环(FCL)中速度优化型PI控制器实现原理。值得注意的是,FCL中的各变量均为标幺值,因此实际实现需要稍作转换,即:
其中:
—— 电压标幺基值
—— 电流标幺基值
最后,使用同样的递推法,可以得到绝对式实现:
三者区别
三者最重要的区别在于不同结构的参数对于控制器行为影响的不同。并联型PID实现了比例项,积分项和微分项的完全解耦,调节其中的
与
即可独立的作用在比例,积分和微分项上;而标准形式的
将同时影响比例,积分和微分三项行为。串联型类似。工业应用中,标准形式和并联形式的PID应用的最为广泛,且Simulink中也可以看到,PID的形式选择分为Parallel及Ideal(即Standard):
Simulink Parallel PID
Simulink Ideal(Standard) PID值得注意的是比例项和积分项都与前文相同,而微分项,MATLAB中用
代替了纯微分项
。将其化简可以得到:
前面为正常的微分项,后面则乘上了一个一阶低通滤波器,而
即为低通截止频率,对于Ideal类型的控制器,此即为改进型标准PID。该部分的离散化与标准型PID描述相同,唯一的差别在于微分项需要经过一次滤波处理。此处给出绝对式的两种实现(改进型并联PID同理),实现一(先滤波,后微分):
其中:实现二(先微分,后滤波):
其中:
Note
- 无论是串联型,并联型还是标准型,在实现上都分为绝对式PID还是增量式PID。这与PID类型无关,只是实现手段不同。
参考资料
<div id="refer-anchor-1"></div>
作者:SmartFish
链接:https://www.jianshu.com/p/caa2423d82db
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
串联型PID,并联型PID与标准型PID简要说明的更多相关文章
- Python基础:数值(布尔型、整型、长整型、浮点型、复数)
一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...
- JSON转换类(一)--过滤特殊字符,格式化字符型、日期型、布尔型
/// <summary> /// 过滤特殊字符 /// </summary> private static string String2Json(String s) { St ...
- PDO 查询mysql返回字段整型变为String型解决方法
PDO 查询mysql返回字段整型变为String型解决方法 使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 ...
- USB 2.0 A型、B型、Mini和Micro接口定义及封装
USB全称Universal Serial Bus(通用串行总线),目前USB 2.0接口分为四种类型A型.B型.Mini型还有后来补充的Micro型接口,每种接口都分插头和插座两个部分,Micro还 ...
- oracle 非数字型转数字型
原文:oracle 非数字型转数字型 oracle中如果一个字段内容不全是数字型 可以通过以下方式过滤 to_number(substr(translate(a.vital_signs_cvalues ...
- Java 中的 int 型转为 long 型
先将 int 型转为 String 型,然后再将 String 转为 long 型,如下图: public class TestIntToLong { public static void main( ...
- 范型方法 & 范型参数 & 范型返回值
Java范型类 public class FanXingClassTest { public static void main(String args[]){ Test<Integer> ...
- Starting MySQL....The server quit without updating PID file[失败]/lib/mysql/ip12189.pid). 错误一例
[root@ip12189 etc]# service mysqld startStarting MySQL....The server quit without updating PID file[ ...
随机推荐
- POJ1990 题解
题目大意:有若干头牛,每个牛有一个音量值,两头牛能互相听见对方说话需要发出两头牛中音量值较大者的音量*两头牛的距离的音量,求使任意两头牛都互相听见对方需要发出的音量总和.每头牛的音量值可以相同,但坐标 ...
- HTML分块
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>菜鸟 ...
- SHA算法(及示例)演变历史
安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法.能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的 ...
- 01-RocketMQ介绍
一.MQ介绍 1.什么是MQ?为什么要用MQ? MQ:MessageQueue,消息队列. 队列,是一种FIFO 先进先出的数据结构.消息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进 ...
- selenium+python自动化-元素定位
自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 本篇主要讲几种基本的元素定位方法元素定位在这四个环节中是至关重要的,如果说按学习精力 ...
- JS类型判断&原型链
JS类型检测主要有四种 1.typeof Obj 2.L instanceof R 3.Object.prototype.toString.call/apply(); 4.Obj.constructo ...
- 关于BFS
嗨,又是躺平的一天呢 下文有很多未经版权允许而私自转载,不喜勿喷 今天我来整理亿下关于 BFS 这个"高级"的东西: 首先,我不得不提亿句 关于队列 是个啥 队列(queue)是一 ...
- Rafy 框架:领域控制器
本文简要说明如何使用 Rafy 框架中的领域控制器. 简介 领域控制器是 Rafy 框架中用于封装领域逻辑的主要方式. 在控制器中,开发者可以封装大量的业务逻辑,并向外暴露业务接口.内部的逻辑在实现时 ...
- python写一个web目录扫描器
用到的模块urliib error #coding = utf-8 #web目录扫描器 by qianxiao996 #博客地址:https://blog.csdn.net/qq_36374896 i ...
- (一)【转】asp.net mvc生成验证码
网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录.灌水等危害网站的操作.验证码被广泛应用在注册.登录.留言等提交信息到服务器端处理的页面中. ...

