串联型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[ ...
随机推荐
- List、Set、Map有什么异同(详解)
引言:Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 Java集合框架(常用接口): Collection 接口存储一组不唯一,无序的对象(父类接口 ...
- 一个更好用的.NET Core程序瘦身器,减小程序尺寸到1/3
一.为什么要开发.NET Core程序瘦身器? .NET Core具有[剪裁未使用的代码]的功能,但是由于它是使用静态分析来实现的,因此它的剪裁效果并不是最优的.它有如下两个缺点: 不支持Window ...
- 十进制数转IEE754单精度浮点数以及浮点数转换的python实现
十进制数转IEE754单精度浮点数 理解题目 单精度浮点数:单精度浮点数是用来表示带有小数部分的实数,一般用于科学计算.占用4个字节(32位)存储空间,包括符号位1位,阶码8位,尾数23位.其数值范围 ...
- hive从入门到放弃(一)——初识hive
之前更完了<Kafka从入门到放弃>系列文章,本人决定开新坑--hive从入门到放弃,今天先认识一下hive. 没看过 Kafka 系列的朋友可以点此传送阅读: <Kafka从入门到 ...
- MacOS新功能“通用控制”,多台设备操作互联太方便了!
昨天看到macOS推送了12.3的更新,记得之前预告过一个"通用控制"的功能,所以赶紧升级一波体验一下,效果惊艳到我了,赶紧安利一波! 先交代一下现在隔离在家的办公情况,我主要是用 ...
- Mysql数据库索引的使用
1.索引的使用 查询 表的锁show index from qk_auth_employee 2.走索引 EXPLAIN SELECT * from qk_auth_employee where Da ...
- Ansible 使用配置
1.配置 /etc/ansible/hosts 文件,添加被管控主机ip #vim /etc/ansible/hosts 文件末尾添加组[group1]和被管控主机的IP [group1] 192 ...
- ArcGIs创建企业级数据库
本文主要描述ArcGIs创建企业级数据库. 目标:创建企业级地理数据库,使用ArcMap通过SDE引擎 与Oracle交互数据,创建完成后将本地的mdb数据库中数据迁移到Oracle的地理数据库当中. ...
- 开启路由器的TCP拦截
TCP拦截即TCP intercept,大多数的路由器平台都引用了该功能,其主要作用就是防止SYN泛洪攻击.SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击 ...
- redis不重启,切换到RDB备份到AOF备份
redis不重启,切换RDB备份到AOF备份 确保redis版本在2.2以上 查看redis版本 redis-server -v 实验环境准备 本文是在redis4.0中,通过config set命令 ...

