当前位置: 首页 > web >正文

工业PID算法在温控器的应用与参数说明

在工业应用中 PID 及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握 PID 算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在很多控制算法当中,PID 控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的。

PID数学模型

PID 算法通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。这里我们规定(在 t 时刻):
输入量为: I n p u t ( t ) Input(t) Input(t),输出量为: O u t p u t ( t ) Output(t) Output(t),那么偏差量为: e ( t ) = I n p u t ( t ) − O u t p u t ( t ) e(t) = Input(t) - Output(t) e(t)=Input(t)Output(t).
PID算法的一般形式为:
u ( t ) = k p ( e ( t ) + 1 T i ∫ 0 T e ( t ) d t + T d d e ( t ) d t ) (连续型模型) u(t) = k_p (e(t) + \frac{1}{T_i} \int_0^Te(t)dt + T_d \frac{de(t)}{dt}) \tag{连续型模型} u(t)=kp(e(t)+Ti10Te(t)dt+Tddtde(t))(连续型模型)

但是我们一般在工业中实际应用的都是离线型的:
u k = k p ( e k + Δ t T i ∑ j = 0 k e j + T d e k − e k − 1 Δ t ) = k p e k + k i ∑ j = 0 k e j + k d ( e k − e k − 1 ) (离散型模型) u_k = k_p (e_k + \frac{\Delta t}{T_i}\sum_{j=0}^k e_j + T_d \frac{e_k - e_{k-1}}{\Delta t}) \\ =k_pe_k + k_i\sum_{j = 0}^k e_j + k_d(e_k - e_{k-1}) \tag{离散型模型} uk=kp(ek+TiΔtj=0kej+TdΔtekek1)=kpek+kij=0kej+kd(ekek1)(离散型模型)

上式中, u k u_k uk为第k次的输出, ∑ j = 0 k e j \sum\limits_{j = 0}^ke_j j=0kej为前k次的累加, ( e k − e k − 1 ) (e_k - e_{k-1}) (ekek1)为当前次和前一次的误差, Δ t \Delta t Δt为采样周期。
其中:
k p kp kp,为比例项参数
k i = k p Δ t T i k_i = k_p \frac{\Delta t}{T_i} ki=kpTiΔt,为积分项参数, k d = k p T d Δ t k_d = k_p \frac{T_d}{\Delta t} kd=kpΔtTd为微分项参数,有的设备使用的PID参数就是这里的 k p k_p kp k i k_i ki k d k_d kd
但是更多的设备使用的是 δ p = 1 k p \delta_p = \frac{1}{k_p} δp=kp1——比例带, T i T_i Ti——积分时间, T d T_d Td——微分时间。 k p k_p kp称为比例增益。这里比例带和比例增益互为倒数关系,只有在输出和输入量纲一致的情况下成立。

后面我们按照大多数设备采用的PID参数:比例带、积分时间、微分时间、采样周期来进行处理。
这里我们假设输出和输入量纲是一致的,比如以温度控制器为例,输出和输入都是温度。

我们调整的参数为 δ p \delta_p δp T i T_i Ti T d T_d Td,那么第k次的输出:
u k = 1 δ p e k + Δ t δ p T i ∑ j = 0 k + T d δ p Δ t ( e k − e k − 1 ) u_k = \frac{1}{\delta_p} e_k + \frac{\Delta t}{\delta_p T_i}\sum_{j=0}^k + \frac{T_d}{\delta_p \Delta t}(e_k - e_{k-1}) uk=δp1ek+δpTiΔtj=0k+δpΔtTd(ekek1)

http://www.xdnf.cn/news/14154.html

相关文章:

  • 《单调队列》题集
  • list is not in GROUPBY clause and contains nonaggregated column ‘*.*‘
  • Windows10电脑开始菜单快速查找应用程序
  • I/O模式之epoll,本文会讲到epoll的相关接口以及底层,还会涉及水平和边缘工作模式,以及通过epoll相关接口实现一个水平工作模式服务端
  • 【DRL】强化学习中的概念和术语
  • 用数学融智学人力资源模型的核心架构:建立可量化的理论框架
  • openMP的简单介绍以及c++执行实例
  • JS递归了解
  • k3s入门教程(三)部署控制面板
  • 第六章 进阶19 琦琦的追求
  • AI数字人:几分钟克隆,短视频制作新革命
  • leetcode-hot-100 (链表)
  • C语言结构体与联合体详解
  • Windows批处理脚本(.bat脚本、.bat语法)关闭回显@echo off、延迟变量扩展setlocal enabledelayedexpansion
  • 【教程】Windows安全中心扫描设置排除文件
  • Ubuntu Server 24.04|22.04|20.04|18.04 安装GUI DESKTOP xfce4
  • 文本表示的发展概述
  • SpringAI使用总结
  • [蓝桥杯 2023 国 B] AB 路线 (BFS)
  • 事务传播行为详解
  • 学习日记-day29-6.13
  • SpringBoot+vue前后端分离系统开发(期末)
  • 让高端装备“先跑起来”:虚拟仿真验证平台重塑研制流程
  • HarmonyOS5 运动健康app(二):健康跑步(附代码)
  • 多文件,多开发环境配置 Spring boot
  • 【QT】字符串类应用与常用基本数据类型
  • 驭码CodeRider 2.0深度体验:全流程智能体如何重塑研发协作范式?
  • 双向链表——(有头双向循环链表)
  • 轻量级密码算法Grain-128a的Python实现
  • Java求职者面试指南:Spring, Spring Boot, Spring MVC, MyBatis技术深度解析