【PID控制技术】
PID控制技术
- 简介
- 控制原理
- 相关术语
- 调参技巧
- 相互作用
- 相似算法
- 与PWM对比
- 应用范围
- 优缺点
- 硬件支持
简介
PID控制是一种在工业过程控制中广泛应用的控制策略,其全称是比例-积分-微分(Proportional Integral Derivative)控制。它的基本原理是根据期望值与实际值的比较,产生一个误差信号,然后对这个误差信号进行比例、积分和微分三个环节的处理,以产生一个控制信号,最后用这个控制信号去调节被控对象的输出,以达到减小误差、提高控制精度的目的。
控制原理
假设我们有一个小车,我们希望通过控制其电机转速来达到一个目标轨迹。我们可以通过以下步骤来实现这个目标:
设定目标:我们设定一个目标轨迹,比如从A点移动到B点,需要小车按照这个轨迹行驶。
采集数据:我们使用编码器等传感器来测量小车的实际位置和速度,并与目标轨迹进行比较,得出偏差。
比例控制:根据偏差的大小,我们通过比例控制器来调整电机的转速。比如,如果小车偏离目标轨迹,我们可以通过增加电机的转速来使小车回归到目标轨迹。这是比例控制器的功劳。
积分控制:除了比例控制外,我们还需要考虑偏差的累积。如果小车在偏离目标轨迹后一直未回归,那么比例控制器将不断调整电机的转速,使小车回归目标轨迹。这是积分控制器的功劳。
微分控制:除了比例和积分控制外,我们还需要考虑偏差的变化率。如果小车即将偏离目标轨迹,我们可以提前调整电机的转速,使小车提前回归目标轨迹。这是微分控制器的功劳。
通过以上步骤,我们就成功地利用PID控制器来控制小车的电机转速,使其按照我们设定的目标轨迹行驶。
相关术语
偏差:这是期望状态与当前状态的差异,通过眼睛(观测器)观测得到。例如,小车编码电机中,偏差=目标值转速(编码器值)-编码器采集值。
比例控制:根据比例增益,计算比例调整量P = Kp * error。比例增益(Kp)是调节控制器输出的一个参数,error是当前状态和目标状态之间的差值。
积分控制:根据积分增益,计算积分调整量I = Ki * ∫(error dt)。积分增益(Ki)是另一个调节控制器输出的参数,∫(error dt)表示error在时间上的累积。
微分控制:根据微分增益,计算微分调整量D = Kd * d(error)/dt。微分增益(Kd)是调节控制器输出的又一个参数,d(error)/dt表示error随时间的变化率。
PID控制器是一种线性控制器,它通过负反馈调节过程来达到目标值,如水温的恒温控制,电机转速控制,舵机打角控制等。PID控制过程就是给定目标值,观察实际值,得出偏差,然后根据偏差进行比例、积分、微分控制,并将这些控制量作用于被控对象上,使其达到并在给定值附近稳定。
调参技巧
- 首先给大家简单介绍一下PIDPID就是通过系统误差利用比例、积分、微分计算出控制量进行控制的。不同厂家的公式稍有不同,但是基本上都离不开三个参数:比例、积分时间、微分时间。
- 采样周期在进行PID调节之前要先设定好PID的采样周期,采样周期设定主要根据被控对象的特性决定。被控对象变化快的(如:流量),可将采样周期设定在100ms左右,采样周期变化慢的(如:液位)可将采样周期设定在1000ms,对于特别缓慢的(如:温度)可设置成5-10S。简单的理解是多长时间比较一次采样值与设定值。当然需要注意的是,采样周期必须大于程序的执行周期(PLC的运行周期)。
- 比例比例作用是依据偏差的大小来动作.比例有时又被称为增益用Gain表示,当控制量与被控量成正比例关系时(例如:阀位与流量)增益为正数;当控制量与被控量成反比例关系时(例如:液位与频率)增益。
- 积分时间积分时间是PID参数的关键之一。它的主要作用是消除系统的稳态误差。积分时间通常需要通过实验和经验来确定,它与系统的采样周期和滞后时间有关。在选择积分时间时,需要权衡系统的稳定性和响应速度。较小的积分时间可能会导致系统频繁振荡,而较大的积分时间则会降低系统的响应速度。
- 微分时间微分时间是PID参数中反应系统未来误差的重要因素。微分时间的设定需要考虑系统的动态性能和稳定性。较大的微分时间有助于减小系统的动态误差,但可能会导致系统稳定性降低。微分时间的设定需要经验丰富的工程师进行调试,通常可以通过试错法进行确定。
- 比例、积分、微分三者之间的关系比例、积分和微分三者之间存在密切的关系。比例调节是快速的,但它不能消除稳态误差。积分调节可以消除稳态误差,但需要牺牲系统的响应速度。微分调节可以预测未来的误差,但需要避免系统出现振荡。在调整PID参数时,需要综合考虑三者之间的关系,以实现系统的最佳控制效果。
7.PID调试过程中的注意事项在调试PID参数时,需要注意以下几点:首先,先调比例,再调积分,最后调微分。其次,观察系统的响应速度和超调量,如果存在振荡或超调量过大,可能需要调整积分时间和微分时间。最后,调试过程中要保持系统的稳定性,避免系统出现频繁的振荡。
8.PID参数的在线调整在实际应用中,PID参数通常需要进行在线调整。在线调整是通过实时采集系统的数据,根据系统响应情况对PID参数进行调整的过程。在线调整需要经验丰富的工程师进行操作,以确保系统的稳定性和响应速度。
相互作用
首先,比例单元(P)的作用是按比例反应系统的偏差。当系统出现偏差时,比例单元会立即产生调节作用,减小偏差。具体来说,如果系统的当前状态与期望状态之间存在差异,比例单元会根据这个差异的大小和方向,按比例产生一个调节信号,这个信号会作用于系统,使其向消除偏差的方向运动。
然后,积分单元(I)的作用是消除系统的稳态误差。当系统存在稳态误差时(即系统无法达到期望状态,一直存在一个微小的偏差),积分单元会对这个误差进行积分,即计算误差随着时间的变化量。这个积分值会作为一个调节信号,对系统进行进一步的调节,直至消除稳态误差。
最后,微分单元(D)的作用是反应系统的未来误差。微分单元会对系统的未来状态进行预测,并计算预测值与期望值之间的误差。这个误差的变化率(即微分值)会被作为调节信号,提前对系统进行调节,以避免在未来出现大的误差。
PID这三个单元各有侧重,但又相互配合,共同作用,使得系统能够快速、准确地对各种复杂的工况进行响应,并达到期望的控制效果。
相似算法
PID调节和以下几种控制算法相似:
- 比例积分微分控制算法(PI控制算法)。PI控制算法是在PID算法的基础上去掉微分项得到的一种算法,只包含比例控制和积分控制。与PID相比,PI算法更加稳定,能够减少振荡和过冲现象。
- 比例积分控制算法(P控制算法)。P控制算法是在PID算法的基础上去掉积分项和微分项得到的一种算法,只包含比例控制。与PID相比,P算法更加简单,并且能够在一定程度上控制系统性能。
除上述控制算法之外,还存在其他与PID调节相似的算法,如模糊控制、自适应控制等。这些算法在处理复杂和非线性系统方面具有优势,可以在特定情况下实现更好的控制效果。
与PWM对比
PID控制和PWM控制是两种常用的控制技术,它们在不同的应用中有不同的作用和工作原理。
PWM控制是通过调整脉冲的占空比来控制输出信号的平均电平。它是通过周期性地开关电源,控制开关时间和关闭时间的比例,从而控制所需的输出。PWM控制常用于需要模拟连续信号的应用,例如直流电机速度控制、LED亮度调节、音频放大器等,它适用于那些可以通过调整脉冲宽度来控制的设备或系统。
PID控制是一种基于反馈的控制算法,根据当前误差、误差积分和误差变化率的信息,计算出一个控制量,用于调节输出,以使系统的实际值与期望值尽可能接近。PID控制适用于需要精确控制和稳定性的应用,例如温度控制、位置控制、速度控制等。PID控制具有自适应能力,可以根据实际情况动态调整控制参数。
在某些应用中,PID和PWM可以结合使用。例如,在电机控制系统中,PID控制可以用于调节电机的速度和位置,而PWM控制可以用于调节电机的电流和电压。两者的结合使用可以实现更精确的电机控制。
应用范围
PID控制算法在以下领域中有广泛应用:
温度控制:在工业过程、热处理、恒温箱等方面,PID控制算法可以实现对温度的精确控制。
机械控制:在电机速度控制、位置控制、压力控制等方面,PID控制算法可以实现机械系统的精确控制。
液位控制:在液位高度控制、油罐液位控制等方面,PID控制算法可以实现液位的精确控制。
流量控制:在化工流程控制、供水系统控制等方面,PID控制算法可以实现对流量的精确控制。
此外,PID控制算法还应用于速度控制、位置控制、飞行器姿态控制、汽车稳定性控制、电力调度等各个领域。总的来说,PID控制算法适用于需要自动控制和调节的各种物理过程,使其达到预定的控制目标。
优缺点
PID控制器被广泛应用于各种控制系统中,其主要的优点有:
- PID算法蕴涵了动态控制过程中过去、现在、将来的主要信息,并且配置几乎最优。比例(P)代表当前的信息,起纠正偏差的作用,使过程反应迅速。微分(D)在信号变化时有 超前控制作用,代表将来的信息。在过程开始时强迫过程进行,过程结束时减小超调,克服振荡,提高系统的稳定性,加快系统的过渡过程。积分(I)代表了过去积累的信息,能消除静差,改善系统的静态特性。
- PID控制适应性好,有较强的鲁棒性,对各种工业场合,都可在不同的程度上应用。特别适于“一阶惯性环节+纯滞后”和“二阶惯性环节+纯滞后”的过程控制对象。
- PID算法简单明了,各个控制参数相对较为独立,参数的选定较为简单,形成了完整的设计和参数调整方法,很容易为工程技术人员所掌握。
- PID控制根据不同的要求,针对自身的缺陷进行了不少改进,形成了一系列改进的PID算法。例如,为了克服微分带来的高频干扰的滤波PID控制;为克服大偏差时出现饱和超调的PID积分分离控制等。
然而,PID控制器也存在一些缺点:
5. PID控制器对参数调整的要求比较高,如果参数调整不当,可能会导致系统性能不佳。
6. PID控制器对反馈信号的依赖度高,如果反馈信号受到干扰或者出现故障,系统的性能也会受到影响。
7. PID控制器对噪声敏感,如果系统中存在噪声,可能会导致控制系统出现震荡或者不稳定。
8. PID控制器可能存在积分饱和的问题,如果积分项发生饱和,可能会导致控制系统出现稳态误差或者振荡。
硬件支持
PID控制需要以下硬件支持:
控制器:PID控制算法需要一个控制器来实现。控制器可以是嵌入式系统、单片机、PLC等,用于接收输入信号,根据PID算法计算输出信号,并将输出信号传递给被控对象。
执行器:PID控制的执行器是用于将控制信号转换为实际动作的装置。常见的执行器包括电动机、气缸、液压马达等。
反馈装置:PID控制需要一个反馈装置来检测被控对象的输出信号,并将其反馈给控制器。反馈装置可以是传感器、编码器等。
电源:PID控制系统的电源是用于提供能量的设备。对于不同的被控对象和控制器,需要选择相应的电源来提供合适的能量。
此外,根据具体的被控对象和控制系统要求,可能还需要其他辅助设备,如信号转换器、继电器、接触器等。
相关文章:
【PID控制技术】
PID控制技术 简介控制原理相关术语调参技巧相互作用 相似算法与PWM对比 应用范围优缺点硬件支持 简介 PID控制是一种在工业过程控制中广泛应用的控制策略,其全称是比例-积分-微分(Proportional Integral Derivative)控制。它的基本原理是根据…...
docker openjdk:8-jdk-alpine 修改时区、添加字体
新建Dockerfile文件,制作新镜像 FROM openjdk:8-jdk-alpine 1、解决字体问题 RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* 2、解决时差问题 # 解决时差8小时问题ENV TZAsia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /et…...
9+单细胞+实验验证,探讨单基因对癌细胞转移作用的思路方向
今天给同学们分享一篇单细胞实验的生信文章“Identification of RAC1 in promoting brain metastasis of lung adenocarcinoma using single-cell transcriptome sequencing”,这篇文章于2023年5月18日发表在Cell Death Dis期刊上,影响因子为9。 本研究旨…...
《计算机视觉中的多视图几何》笔记(7)
7 Computation of the Camera Matrix P P P 这章讲的是摄像机参数估计。摄像机标定,本质上就是求摄像机矩阵 P P P,当我们知道足够多的 X ↔ x X \leftrightarrow x X↔x,我们该如何计算 P P P?如果知道3D和2D点的对应ÿ…...
Python经典练习题(四)
文章目录 🍀第一题🍀第二题🍀第三题 🍀第一题 题目:打印出如下图案(菱形): 我们首先分析一下,本题实现的步骤主要有两个,分别是前四行和后三行 前四行:第一…...
Mac Pro在重装系统时提示“未能与恢复服务器取得联系”
检查网络连接: 确保你的Mac Pro连接到稳定的网络。尝试更换其他网络,例如切换到不同的Wi-Fi或使用有线连接。 系统时间校正: 错误的系统时间有时会导致与恢复服务器的连接问题。在恢复模式下打开终端(在实用工具菜单中选择终端&a…...
【C/C++】指针常量、常量指针、指向常量的常指针
目录 1.概念2. const pointer3. pointer to a constant3.1 (pointer to a constant)-constant3.2 poiner-constant3.3 (pointer to a constant)-variable3.4 poiner-variable3.5 多层级关系时的兼容3.6 用处 4. a constant pointer to a constant 1.概念 首先明确这几个术语的…...
【VUE复习·4】计算属性computed:原理、完整写法(不常用)、与 methods 的区别、简写(最常用)、应用案例!
总览 1.简介计算属性 2.computed 与 methods 的区别 3.computed 的简写(不修改计算属性,只显示) 4.经典应用场景 一、计算属性 1.为什么需要计算属性? 首先,如果我们要写一个插值语法,而 {{ }} 内的内容…...
Linux 基本语句_编译C过程
Linux撰写C语言并编译的过程 1、预处理 将所有的#define删除,并且展开所有的宏定义,并且处理所有的条件预编译指令,比如#if #ifdef #elif #else #endif等。处理#include预编译指令,将被包含的文件插入到该预编译指令的位置。删除…...
MYSQL8解压版 windows 主从部署步骤及配置(包含配置文件,教程文件,免积分下载)
MYSQL8解压版 windows 主从部署步骤及配置 一.安装MSYQL 这里只讲大概,详细步骤、my.ini文件、安装包等会在页尾文件中(正常情况按首个mysql安装,只是名字有区别) 1.主库my.ini配置 [mysqld] #典型的值是5-6GB(8GB内存),8-11GB(16GB内存), 20-25GB(32GB内存)&…...
RabbitMQ的基本介绍
什么是MQ 本质是一个队列,只不过队列中存放的信息是message罢了,还是一种跨进程的通信机制,用于上下游传递信息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦物理解耦”的消息通信服务。使用了MQ之后,信息发送…...
AI智能视频监控技术如何助力美好乡村建设?
随着城市化发展,很多乡村设施也在逐渐完善,智能监控也成了乡村发展必不可少的一环,智能视频监控应该在乡村建设里如何发挥作用呢? 1、有效提升安全意识 通过在乡村重要区域、公共场所、道路等设置智能视频监控设备,可…...
【网络安全】2023年堡垒机品牌大全
随着大家网络安全意识的增加,随着国家等保政策的严格执行,越来越多的企业开始采购堡垒机。这里就给大家总结了部分堡垒机品牌,让大家参考参考。 2023年堡垒机品牌大全 1、行云堡垒 2、JumpServer 3、安恒 4、骞云 5、齐治 6、阿里云 …...
makefile相关知识的讲解
目录 makefile文件的介绍 step1:手动创建一个makefile文件 step2:在文件当中编辑指定的命令 step3:退出makefile文件并使用make执行文件当中的命令 step4:使用clean指令清除生成的文件 makefile当中的命令编写方式 目标文件和依…...
OpenCV中的HoughLines函数和HoughLinesP函数到底有什么区别?
一、简述 基于OpenCV进行直线检测可以使用HoughLines和HoughLinesP函数完成的。这两个函数之间的唯一区别在于,第一个函数使用标准霍夫变换,第二个函数使用概率霍夫变换(因此名称为 P)。概率版本之所以如此,是因为它仅分析点的子集并估计这些点都属于同一条线的概率。此实…...
Xilinx FPGA 程序固化重新上电程序不运行的问题
问题描述 FPGA直接下载bit文件,功能正常。 FPGA擦除FLASH,烧写FLASH,正常。 电源断电,重新上电,FALSH里面的程序没有启动,FPGA程序没有跑起来。–FLASH启动不正常。 解决办法 在XDC约束文件里边增加约束: ## Configuration options, can be used for all designs se…...
c++ 使用rapidjson对数据序列化和反序列化(vs2109)
RapidJSON是腾讯开源的一个高效的C JSON解析器及生成器,它是只有头文件的C库,综合性能是最好的。 1. 安装 在NuGet中为项目安装tencent.rapidjson 2. 引用头文件 #include <rapidjson/document.h> #include <rapidjson/memorystream.h> #…...
4.迭代最近点ICP及非线性优化求解
使用非线性优化方法求解ICP 文章目录 使用非线性优化方法求解ICP前情提要ICP问题回顾对矩阵变量求导数 ICP问题的非线性解法代码示例 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 前情提要 在迭代最近点算法ICP及SVD求解中介绍了ICP问…...
【redis总结】
文章目录 1、redis简介2、为什么要选择redis做缓存3、数据结构4、redis多线程模型redis6.0的变化 5、redis持久化AOF的实现过程RDB的实现过程 6、redis集群的搭建7、 redis过期删除和淘汰策略8、redis的内存淘汰策略 1、redis简介 Redis(Remote Dictionary Server&…...
图数据库:释放关系的力量
【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 在数据管理领域,图数据库已经成为一种强大的工具,它彻底改变了我们处理和分析复杂关系的方式。与依赖表和列的传统关系数据库不同,图…...
Windows系统如何临时关闭“Windows安全中心实时保护”
前言 启动windows depender实时保护可能会使系统不太流畅,也可能会导致我们的程序无法正常运行,因为它会拦截或搜索我们的正常工作。 暂时关闭windows depender的实时保护对许多用户来说非常重要。 一、Win10系统关闭方法 打开Windows安全中心&#…...
二叉树MFC实现
设有一颗二叉树如下; 这似乎是一颗经常用作示例的二叉树; 对树进行遍历的结果是, 先序为:3、2、2、3、8、6、5、4, 中序为:2、2、3、3、4、5、6、8, 后序为2、3、2、4、5、6、8、3;…...
Nginx之客户并发数限制解读
目录 基本介绍 配置指令 limit_conn_zone limit_conn 其他 limit_rate limit_rate_after limit_req_zone limit_req 基本介绍 在我们进行系统开发设计中,要考虑服务器流量异常,负载过大等问题。对于大流量恶意的攻击访问,会带来带宽…...
白捡一个存储型XSS
本文由掌控安全学院 - 杳若 投稿 起因 利用fofa搜索时发现 org"China Education and Research Network Center" && body"/register" 任意用户注册 在找到该CMS的时候发现存在任意用户注册的情况 http://xxxx.edu.cn/student/Register.ashx …...
SpringMVC 学习(五)转发,重定向和传参
6. 转发和重定向 Spring MVC 的底层是 servlet,因此在 Spring MVC 中也存在转发和重定向的概念。 对于转发而言,其目的页面可以在 WEB-INF 目录下。重定向的目的页面不允许在 WEB-INF 目录下,因为重定向相当于用户再次发起一次请求…...
selenium不定位元素直接使用键盘操作(如弹框操作)
今天在使用selenium进行定位时,发现直接定位不了chrome的弹框,如这种弹框: 使用的是下面这行代码 driver.switch_to.alert.accept() 运行报错,说是没有 alert windown。。。。 啊?难道chrome的弹框不是用alert写的&…...
Inno Setup安装中文语言
以版本6.2.2为例: 默认安装的Inno Setup是不支持中文语言的,需要我们自行下载安装。 一、打开官网Inno Setup Translations (jrsoftware.org) 下载的文件如下 二、然后重命名放到Inno Setup的如下安装目录中 三、然后重启Inno Setup即可。 打包后的…...
【数据库——MySQL】(10)视图和索引
目录 1. 视图1.1 创建视图1.2 查询视图 2. 索引2.1 索引的分类2.2 索引的建立 参考书籍 1. 视图 1.1 创建视图 基础语法: CREATE [OR REPLACE] VIEW 视图名[(列名表)]ASSELECT语句[WITH CHECK OPTION]说明: 在默认情况下,将在当前数据库创…...
No servers available for service: renren…。 Gateway 网关报503错误 ,已解决
目录 环境配置问题描述loadbalancer的作用 环境配置 问题描述 配置spring cloud gateway使用端口访问就可以,使用lb:// 就报503 gateway:routes:- id: admin_routeuri: lb://gulimall-admin # uri: http://localhost:8080predicates:- Path/api/**filter…...
【Spring Cloud】深入理解 Eureka 注册中心的原理、服务的注册与发现
文章目录 前言一、微服务调用出现的问题1.1 服务消费者如何获取服务提供者的地址信息?1.2 如果有多个服务提供者,消费者该如何选择?1.3 消费者如何得知服务提供者的健康状态? 二、什么是 Eureka2.1 Eureka 的核心概念2.2 Eureka 的…...
工作是工作/外汇seo公司
专栏目录: 《重学Java高并发》Sempahore的使用场景与常见误区 《重学Java高并发》手写一个生产者消费者线程模型 《重学Java高并发》你管这“破玩意儿”叫锁 学习的主要目的是知识储备,最终运用在生产实践中,助力工作,同样对于多线…...
ui界面设计app/今日头条seo
网游数据收集 1.投资风险加大 数据显示, 2009年上线的国内自主研发客户端网游数量为321款,其中进入公测的仅64款; 2010年上线网游356款,截止2010年8月,仅公测41款。 业内人士估算,国内至少有1000个团队…...
中电云主机怎样登入创建的网站/能让手机流畅到爆的软件
1.Spring容器的实例化 1.1. 用构造器去实例化bean <!-- id/name属性用于执行bean的名称 用于从spring中获取这个对象, class用于指定bean的类型,会自动调用无参数构造器创建对象 --><beanid"calendarobj1"class"java.util.GregorianCalendar" /&…...
创建网页用什么软件/深圳网站设计专业乐云seo
在这个例子中,主要会用到python内置的和OS模块的几个函数:os.walk() : 该方法用来遍历指定的文件目录,返回一个三元tuple(dirpath, dirnames, filenames) ,其中dirpath为当前目录路径,dirnames为当前路径下…...
购物网站排名大全/谷歌chrome官网
Ossim应用入门——在《OSSIM在企业网络管理中的应用》http://chenguang.blog.51cto.com/350944/802007 这篇文章发布之后,很多同行对ossim表示了极大关注纷纷来信咨询如何使用和部署,在接下来的时间里我将总结这套系统的安装和使用的方法给大家分享。1 …...
网站全程设计技术/win10优化大师免费版
界面中并没有提供增加硬盘容量的方法。只能在命令行形式下执行。安装所在盘的Program Files\VMware\VMware Workstation下有一个vmware-vdiskmanager.exe,就是它。命令参数如下:------------------------------------------------------------------Usag…...