网站建设白云/优化工作流程
PID 算法可以用于温度控制、水位控制、飞行姿态控制等领域。
后面我们通过PID 控制电机进行说明。
自动控制系统
在直流有刷电机的基础驱动中,如果电机负载不变,我们只要设置固定的占空比(电压),电机的速度就会稳定在目标范围。然而,在实际的应用中,负载可能会发生变化,此时如果还是输出固定的电压,电机的速度就偏离目标范围了,为了解决这个问题,我们需要引入自动控制系统中的闭环控制。接下来我们开始学习自动控制系统的内容。
概念
:用自动控制装置,对关键参数进行自动控制,使它在受到外界干扰而偏离正常状态时,能够被自动地调节回到目标范围内。应用场景
:电水壶保温系统 、大棚温控系统、水位控制系统,等等。分类
:自动控制系统分为开环控制系统和闭环控制系统 。
① 开环控制系统
在开环控制系统中,系统输出只受输入的控制,没有反馈回路,控制精度和抑制干扰的特性都比较差。电风扇风力控制系统就是一个开环控制的系统,我们设置好目标风力之后,控制电路就输出相应的电压(假设是电压控制),此时电机的扇叶转速就被控制在目标范围了。
理想状态下,风扇的输出风力确实可以稳定在目标值附近,然而,在实际的使用中,电机会逐渐老化,扇叶上的灰尘也会让负载增大,此时我们所设定目标风力和实际风力可能就存在偏差了。
②闭环控制系统
在闭环控制系统中,引入了反馈回路,利用输出(实际值)和输入(目标值)的偏差,对系统进行控制,避免偏离预定目标。
大棚温控系统就是一个闭环控制的系统,我们设置好目标温度之后,温度传感器会采集棚内的实际温度,然后将
目标温度
和实际温度
进行偏差的计算,计算后的结果输入到控制电路中,控制电路进一步控制温控设备进行升温和降温,此时棚内的实际温度就被控制在目标范围了。当实际温度因外部影响偏离目标值时,温度传感器(反馈电路)就能及时的反馈偏差
,让系统自动调节温控设备,使得实际温度逐渐回到目标范围。
PID 算法
PID 算法是闭环控制系统中常用的算法,
PID 分别是 Proportion(比例)
、Integral(积分)
、Differential(微分)
的首字母缩写。它是一种结合比例、积分和微分三个环节于一体的闭环控制算法。
我们将输入
目标值
和实际输出值
进行偏差的计算,然后把计算结果输入到 PID控制算法中,经过比例、积分和微分三个环节的运算,运算后的输出作用于执行器,从而让系统的实际值逐渐靠近目标值。
以大棚温控系统为例,来理解 PID 算法中三个环节的作用。
比例环节( Proportion)
比例环节可以成比例地反应控制系统的偏差信号,即输出与输入偏差成正比,可以用来减小系统的偏差。公式如下:
- u ——- 输出
- Kp——- 比例系数
- e ——- 偏差
我们可以通过大棚温控去理解PID公式。例如需要调节棚内温度为 30℃,而实际温度为 10℃,此时的偏差 e=20,由比例环节的公式可知,当 e 确定时,Kp 越大则输出u 越大,也就是温控系统的调节力度越大,这样就可以更快地达到目标温度;而当 Kp 确定时,偏差 e 越大则输出 u 越大。由此可见,在比例环节中,比例系数 Kp 和偏差 e 越大则系统消除偏差的时间越短,
- 当 Kp 的值越大时,其对应的橙色曲线达到目标值的时间就越短,与此同时,橙色曲线出现了一定幅度的超调和振荡,这会使得系统的稳定性下降。所以我们在设置比例系数的时候,并不是越大越好,而是要兼顾消除偏差的时间以及整个系统的稳定性。
- 在实际的应用中,如果仅有比例环节的控制,可能会给系统带来一个问题:静态误差。
- 静态误差是指系统控制过程趋于稳定时,目标值与实测值之间的偏差。
如果我们在需要调节棚内温度为 30℃,而实际温度为 25℃,此时偏差 e=5,Kp 为固定值,那么此时的输出可以让大棚在半个小时之内升温 5℃,而外部的温差可以让大棚在半个小时之内降温 5℃,也就是说,输出 u 的作用刚好被外部影响抵消了,这就使得偏差会一直存在。
我们可以通过增大 Kp 来增大输出,以此消除偏差。在实际应用中,此方法的局限性很大,因为我们不能确定偏差的大小,它是在实时变化的,如果我们把 Kp 设置得太大,就会引入超调和振荡,让整个系统的稳定性变差。因此,为了消除静态误差,我们引入了积分环节。
积分环节(Integral)
积分环节可以对偏差 e 进行积分,只要存在偏差,积分环节就会不断起作用,主要用于消除静态误差,提高系统的无差度。引入积分环节后,比例+积分环节的公式如下:
- u ——- 输出
- e ——- 偏差
- ∑e——- 累计偏差
- Kp——- 比例系数
- Ki——- 积分系数
通过以大棚温控分析可以知道,如果温控系统的比例环节作用被抵消,存在静态误差 5℃,此时偏差存在,积分环节会一直累计偏差,以此增大输出,从而消除静态误差。从上述公式中可以得知,当积分系数 Ki 或者累计偏差越大时,输出就越大,系统消除静态误差的时间就越短。
点击 ⑤-1 学习PID--什么是PID - 古月居可查看全文
相关文章:

⑤-1 学习PID--什么是PID
PID 算法可以用于温度控制、水位控制、飞行姿态控制等领域。后面我们通过PID 控制电机进行说明。 自动控制系统 在直流有刷电机的基础驱动中,如果电机负载不变,我们只要设置固定的占空比(电压),电机的速度就会稳定在…...

【OTA】STM32-OTA升级——持续更新
【OTA】STM32-OTA升级——持续更新 文章目录 前言一、ymodem串口协议1、Ymodem 协议2、PC3、蓝牙4、WIFI云平台 二、UDS车载协议1.UDS协议 总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、ymodem串口协议 1、Ymodem 协议 STM32 Ymodem …...

java 字符集
ASCII 与 GBK ASCII:英文专用GBK:中文专用 万国码 unicode想要统一这个世界上所有的语言,所以创造了UTF-32但是使用32位,也就是4个字节,对于很多语言来说,过于奢侈,也会造成通信效率和存储效率变低 UTF-8 unicode 创造…...

Alibaba --- 如何写好 Prompt ?
如何写好 Prompt 提示工程(Prompt Engineering)是一项通过优化提示词(Prompt)和生成策略,从而获得更好的模型返回结果的工程技术。总体而言,其实现逻辑如下: (注:示例图…...

用html写一个雨的特效
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>雨特效</title><link rel"stylesheet" href"./style.css"> </head> <body> <div id"wrap-textu…...

前端 接口返回来的照片太大 加载慢如何解决
现象 解决 1. 添加图片懒加载 背景图懒加载 对背景图懒加载做的解释 和图片懒加载不同,背景图懒加载需要使用 v-lazy:background-image,值设置为背景图片的地址,需要注意的是必须声明容器高度。 <div v-for"img in imageList&quo…...

003 传参
文章目录 传参http 状态码传参方式(1)URL请求参数 key 与 方法中的形参名一致(2)URL请求参数 key与RequestParam("id") 中的别名一致(3) 形参是POJO类,URL 参数 key 与pojo类的 set方…...

QT写Windows按键输出(外挂)
一、前言 玩游戏的时候遇到些枯燥无味反反复复的按鼠标键盘的情况时,就想写个外挂自动释放。刚好在学qt所以试验了下QT能不能对外输出按键与鼠标。 二、思路 qt中的按键鼠标全是输入,没有直接对外输出键盘鼠标指令的类,但是我们换个思路&…...

Stable Diffusion之文生图模型训练
1、数据准备 提前准备好一组相关的照片。 在线的图片处理网站 BIRME - Bulk Image Resizing Made Easy 2.0 (Online & Free) 将图片转成统一大小,支持批量处理,效率高 2、生成提示词 进入stable diffusion webui页面 旧版直接使用 train/proproc…...

SpringBoot整合支付宝沙箱支付
环境说明:SpringBoot3.0.2 支付宝沙箱地址:沙箱地址 获取配置信息 因支付需要回调地址,回调地址必须是公网,如果有公网的话,那直接在下面配置文件填写自己的公网,没有的话,就需要我们借助第三…...

探索进程控制第一弹(进程终止、进程等待)
文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么?进程终止的情况代码跑完,结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...

在mac环境下使用shell脚本实现tree命令
文章目录 使用ls实现tree使用find实现tree 使用ls实现tree 实现思路 使用ls -F 打印文件类型,如果是目录后面跟/,如果是可执行文件后面跟*;使用grep -v /$ 筛选文件排除目录,-v为反向筛选;使用grep /$ 仅筛选目录&am…...

递归时间复杂度分析方法:Master 定理
编写算法时,可能因为对自己代码的复杂度的不清晰而导致错失良机,对于普通的递推或者说循环的代码,仅用简单的调和级数或者等差数列和等比数列即可分析,但是对于递归的代码,简单的递归树法并不方便,理解并记…...

实例名不规范导致mds创建失败
概述 在部署ceph集群时,规划主机名、关闭防火墙、配置免密、关闭selinux,配置hosts文件这几步同样重要,都是初期部署一次麻烦,方便后续运维的动作。遇到过很多前期稀里糊涂部署,后续运维和配置时候各种坑。 近期遇到…...

OpenGL中的纹理过滤GL_NEAREST和GL_LINEAR
一、GL_NEAREST(最近邻插值) 1.1 原理 当需要从纹理中采样颜色时,GL_NEAREST模式会选择离采样点最近的纹理像素(通常是最接近采样点的纹理元素的中心),并直接使用该像素的颜色值作为输出。这种模式不进行任…...

vue 性能优化
data 层级不要太深 data 层级太深会增加响应式监听的计算,导致页面初次渲染时卡顿。 合理使用 v-show 和 v-if 频繁切换时,使用 v-show无需频繁切换时,使用 v-if 合理使用 computed computed 有缓存,data 不变时不会重新计算&…...

互联网大厂ssp面经(操作系统:part1)
1. 什么是进程和线程?它们之间有什么区别? a. 进程是操作系统中运行的一个程序实例。它拥有独立的地址空间和资源,可以独立执行。 b. 线程是进程内的一个执行单元,一个进程可以包含多个线程。 c. 线程共享进程的资源,…...

Android Activity 启动涉及几个进程
Zygote进程: Zygote进程在Android系统启动时被初始创建,并且初始化了虚拟机(Dalvik或ART),预加载了Android系统的核心类库。所有的Android应用进程都是通过fork()从Zygote进程派生出来的,这允许应用快速启动࿰…...

说说你对链表的理解?常见的操作有哪些?
一、是什么 链表(Linked List)是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,由一系列结点(链表中每一个元素称为结点)组成 每个结点包括两个部分&…...

每天五分钟深度学习:逻辑回归算法的损失函数和代价函数是什么?
本文重点 前面已经学习了逻辑回归的假设函数,训练出模型的关键就是学习出参数w和b,要想学习出这两个参数,此时需要最小化逻辑回归的代价函数才可以训练出w和b。那么本节课我们将学习逻辑回归算法的代价函数是什么? 为什么不能平方差损失函数 线性回归的代价函数我们使用…...

llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署
文章目录 简介支持的模型列表2. 添加自定义数据集3. lora 微调4. 大模型 lora 权重,部署问题 参考资料 简介 文章列表: llama-factory SFT系列教程 (一),大模型 API 部署与使用llama-factory SFT系列教程 (二),大模型在自定义数…...

C语言游戏实战(11):贪吃蛇大作战(多人对战)
成果展示: 贪吃蛇(多人对战) 前言: 这款贪吃蛇大作战是一款多人游戏,玩家需要控制一条蛇在地图上移动,吞噬其他蛇或者食物来增大自己的蛇身长度和宽度。本游戏使用C语言和easyx图形库编写,旨在…...

腾讯测试岗位的面试经历与经验分享【一面、二面与三面】
腾讯两个月的实习一转眼就结束了,回想起当时面试的经过,感觉自己是跌跌撞撞就这么过了,多少有点侥幸.马上腾讯又要来校招了,对于有意愿想投腾讯测试岗位的同学们,写了一些那时候面试的经历和自己的想法,算不上经验,仅供参考吧! 一面 — —技术基础,全面…...

手机移动端网卡信息获取原理分析
有些场景我们需要获取当前手机上的网卡信息(如双卡双待、Wifi等)。本文准备研究一下这块的原理,以便更好的掌握相关技术原理。 1、底层系统接口 getifaddrs 使用 getifaddrs 接口可以达到我们的目的,该接口会返回本地所有网卡的信…...

无人新零售引领的创新浪潮
无人新零售引领的创新浪潮 在数字化时代加速演进的背景下,无人新零售作为商业领域的一股新兴力量,正以其独特的高效性和便捷性重塑着传统的购物模式,开辟了一条充满创新潜力的发展道路。 依托人脸识别、物联网等尖端技术,无人新…...

SD-WAN提升企业网络体验
在现代企业中,网络体验已成为提升工作效率与业务质量的关键因素。SD-WAN技术的出现,以其独特的优势,为企业提供了优化网络连接、加速数据传输、提升服务质量和应用访问体验,以及增强网络稳定性的解决方案。接下来,我们…...

Docker搭建Let‘s Encrypt
Let’s Encrypt是一个免费、开放和自动化的证书颁发机构(CA),它提供了一种简单、无需重复的机制来获取和更新SSL/TLS证书。Let’s Encrypt Docker镜像允许用户在容器化环境中轻松部署和使用Let’s Encrypt的服务。 主要功能包括:…...

单链表讲解
一.链表的概念以及结构 链表是一种物理结构上不连续,逻辑结构上连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表的结构与火车是类似的,一节一节的,数据就像乘客一样在车厢中一样。 与顺序表不同的…...

DFS算法系列 回溯
DFS算法系列-回溯 文章目录 DFS算法系列-回溯1. 算法介绍2. 算法应用2.1 全排列2.2 组合2.3 子集 3. 总结 1. 算法介绍 回溯算法是一种经典的递归算法,通常被用来解决排列问题、组合问题和搜索问题 基本思想 从一个初始状态开始,按一定的规则向前搜索&…...

Linux C应用编程:MQTT物联网
1 MQTT通信协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传 输)是一种基于客户端-服务端架构的消息传输协议,如今,MQTT 成为了最受欢迎的物联网协议,已广泛应用于车联网、智能家居、即时聊…...