ModelCoder模块系列:PID模块介绍
温馨提示:这篇文章已超过1016天没有更新,请注意相关的内容是否还可用!
ModelCoder是一款支持多种嵌入式系统建模并可以自动生成高安全可靠的C代码的软件设计和开发工具。ModelCoder当前拥有9个基础模块库,40余个模块,PID Controller为ModelCoder实现PID控制算法的模块。
01.PID模块简介
PID是Proportional(比例)、Integral(积分)、Differential(微分)三者的缩写。PID控制算法是工业控制领域数十年来应用最为广泛的经典控制算法之一,其理论原理易于理解,算法结构简单可靠,易于工程实现,这也是其受到工程师们青睐的重要原因。
PID模块的输出为输入信号、输入信号积分与输入信号导数三者的加权和,权重为比例、积分和导数各自对应的增益系数,即PID控制是将误差信号e(t)的比例(P)、积分(I)和微分(D)通过线性组合构成控制量进行控制,其输出信号为:
对该式进行拉普拉斯变换,整理后得到PID控制器的传递函数形式为:
在此基础上对微分项D增加滤波器,一般为低通滤波器,最终得到ModelCoder中PID Controller在Parallel形式下传递函数表达为:
其中,P为比例系数,对误差进行比例放大,减小上升时间,减小系统误差,但会增加超调;I为积分系数,对过去的误差值进行累加,能够消除超调和误差,但是会增加调节时间;D为微分系数,对误差的变化趋势进行判断,能够减小超调量;N为滤波器系数,对微分后的信号进行滤波处理。
此外,PID Controller模块中可配置的选项包括:
1)控制器类型(PID、PI、PD、仅 P 或仅 I)。
2)控制器形式(Parallel 或 Ideal)。
3)时域(连续或离散)。
4)初始条件和重置触发器。
在典型的PID闭环控制模型中,PID Controller模块在反馈回路的前馈路径中运行。
▲图1:期望信号与受控系统模块的输入通常是一个误差信号,即期望信号与系统输出之间的误差,在PID Controller模块作用下,示波器显示为:
▲图2:PID作用效果示例02.PID相关属性参数及限制条件
PID Controller模块中可配置的选项分为输入、输出。
输入
1. Port_1(u)-误差信号输入
参考信号与受控系统输出之间的差异,如图1所示。当误差信号是向量时,
该模块分别对每个信号起作用,从而向量化PID系数并产生相同维度的向量输出信号。
2. P-比例增益
内部比例增益,或从模块外部的信号源提供。
3. I-积分增益
内部积分增益,或由模块外部的信号源提供。
4. D-微分增益
内部微分增益,或由模块外部的信号源提供。
5. N-滤波器系数
微分滤波器系数由模块内部配置。
6. Reset - 外部重置触发器
用于将积分器和滤波器重置为其初始条件的触发器。External reset参数的值确定重置发生在上升信号、下降信号还是水平信号上。
7.I0/D0内初初始值,或由模块外部的信号源提供。
内初初始值,或由模块外部的信号源提供。
输出
1. Port_1(y)-控制器输出
控制器输出,通常基于输入信号、输入信号的积分与输入信号的导数,经由比例、积分和微分增益系数加权求和得到。
(1) Controller - 控制器类型
指定在控制器中包含比例项、积分项和导数项中的哪几项。
PID:比例、积分和微分动作。
PI:仅比例和积分动作。
PD:仅比例和微分动作。
P:仅比例动作。
I: 仅积分动作。
(2) Form - 控制器结构
Parallel:控制器输出是比例、积分和导数动作的总和,三者分别用P、I和D独立进行加权。例如,对于连续时间并行形式PID控制器,传递函数为:
Ideal:比例增益P作用于所有动作的总和。例如,对于连续时间理想形式PID控制器,传递函数为:
03.PID相关示例说明
以一个简单搭建的油箱液面控制系统为例,如下图所示。首先,通过调节PID控制器的参数使液面较好地达到预期水平。初始时,在设置P=1,I=1,D=0的情况下,系统表现如图3所示:
▲图3:系统表现1随后,根据P/I/D各系数的作用调整P/I/D各系数的大小。由于预期系统具有较小的超调量且同时要具备较短的响应时间,经过多次参数试调后,最终将控制参数设定为P=1.03,I=0.97,D=-0.22,滤波系数N=1.72,系统仿真结果如图4所示:
▲图4:系统表现204.总结
在当代常用的工业应用当中,PID及其衍生算法是应用最广泛的算法之一,是当之无愧的经典算法。参数整定是PID的主要难点,往往依赖于有经验的开发人员不断调试,得出一个较为合理的PID参数,才能满足系统的要求。
ModelCoder作为基础工业软件,实现了PID算法的模块化,提高了工程参调效率,促进了PID在工业领域的有效应用。
更多ModelCoder相关内容,欢迎关注公众号迪捷软件或访问 www.digiproto.com 进行了解!
九七分享吧所有文章来源于网络收集整理,如有侵权请联系QQ2387153712删除,如果这篇文章对你有帮助或者还不错的请给小编点个小赞(◠‿◠),小编每天整理文章不容易(ಥ_ಥ)!!!
还没有评论,来说两句吧...