嵌入式硬件篇---PID控制
文章目录
- 前言
- 第一部分:连续PID
- 1.比例(Proportional,P)控制
- 2.积分(Integral,I)控制
- 3.微分(Derivative,D)控制
- 4.PID的工作原理
- 5..实质
- 6.分析
- 7.各种PID控制器
- P控制器
- 优点
- 缺点
- I控制器
- 优点
- 缺点
- PI控制器
- 优点
- 缺点
- D控制器
- 注意
- 优点
- 缺点
- 第二部分:离散PID
- 分类
- 1.位置式PID
- 2.增量式PID
- 第三部分:额外小知识点
- 总结
- 总结
前言
以上就是今天要讲的内容,本文简单介绍了连续型PID和离散型PID的原理及各种PID的优缺点。
第一部分:连续PID
PID:
PID控制器,即比例-积分-微分控制器,是一种广泛应用于工业控制系统中的反馈回路控制器。它通过**控制系统的偏差(即设定值与实际值之间的差)**来调节控制变量,使得系统稳定并达到预期的性能指标。PID控制器由以下三个基本控制作用组成:
1.比例(Proportional,P)控制
作用:比例控制的作用与当前偏差成正比。偏差越大,比例控制作用产生的调节量就越大。
特点:可以快速减少偏差,但不能完全消除静态误差(即系统稳定后存在的偏差,即系统的实际值和目标值之间恒定存在的差值),如果P过大会导致超调(控制器输出量变化过大)。
参数:比例增益,决定了比例作用的强度。
2.积分(Integral,I)控制
作用:积分控制的作用与偏差的累积量成正比。只要偏差存在,积分控制就会不断累积,从而产生调节作用。
特点:可以消除静态误差,提高系统的稳态精度,但可能会引起系统的响应速度变慢和超调。
参数:积分时间,决定了积分作用的累积速度。
3.微分(Derivative,D)控制
作用:微分控制的作用与偏差变化的速率成正比。它预测偏差的未来趋势,并提前产生调节作用。
特点:可以减小超调,提高系统的动态性能,对噪声敏感,可能会引起系统的振荡。
参数:微分时间,决定了微分作用的强度。
4.PID的工作原理
PID控制器的工作原理: PID控制器通过以下步骤对系统进行控制:
- 测量系统的输出(或过程变量)。
- 计算设定值与实际输出之间的偏差。
- 根据偏差及偏差的变化率,分别计算出比例、积分、微分三个控制作用。
- 将这三个控制作用相加,得到总的控制量。
- 利用这个控制量对系统进行调节。
5…实质
- 实质:通过改变PWM等的输出值,将实际目标参量始终围绕在设定目标参量附近
- 公式:目标值与实际反馈值通过比例、微分、积分计算获得控制器输出值
- 示例:带编码器(测量电机的位置和素速度)的直流减速(降低速度、提高扭矩)电机的速度跟踪(不会因为电压波动或者电机负载变化导致的电机速度变化)
6.分析
-
首先点明受控对象、目标值、控制器输出值、反馈实际值是谁
-
-
静态误差的存在判断:如果控制器输出量为0,判断控制对象是否会发生自发偏移
-
无论是P、I、D参数都是与误差有关(目标值-反馈实际值)
7.各种PID控制器
P控制器
优点
反应快
缺点
存在静态误差,过大会导致振荡输出或者超调
I控制器
优点
反应慢
缺点
不存在静态误差
PI控制器
优点
反应快、没有稳态误差
缺点
没有D项,无法对未来进行预测,因此无法有效控制振荡输出或者超调
D控制器
注意
通常与P控制器或者PI控制器一起使用,不单独使用
优点
对未来进行预测,产生阻碍作用,解决振荡输出或者超调
缺点
过大会导致系统卡顿
第二部分:离散PID
实质:离散PID:将调控周期进行适当控制
分类
1.位置式PID
- 位置式PID就是连续型PID离散化后的PID公式,输出完整控制量
- 涉及到:本次、上次误差
2.增量式PID
- 增量式PID,第k次与第(k-1)次输出结果做差的结果,输出的是控制量的变化值
- 涉及到:本次、上次、上上次三次误差量
- 注意:增量式PID可以通过控制器内积分的操作实现位置式PID类似的功能
第三部分:额外小知识点
- STLINK:给STM32下载程序和调试程序
- USB转串口模块:用于STM32与上位机进行通信
- 离散型PID的调控周期T:取决于被控制对象的变化速度
- STM32等单片机,使用中断操作时,注意中断和主函数内的硬件操作的冲突问题(避免同时进行操作)
- PID调试,可以使用串口工具(SerialPlot)显示PID波形。使用串口时,注意适当的延迟作用。
总结
最后使用哪一种PID形式,需要根据自己项目的需求具体来确定
总结
以上就是今天要讲的内容,本文仅仅简单介绍了连续型PID和离散型PID的原理及各种PID的优缺点。
相关文章:

嵌入式硬件篇---PID控制
文章目录 前言第一部分:连续PID1.比例(Proportional,P)控制2.积分(Integral,I)控制3.微分(Derivative,D)控制4.PID的工作原理5..实质6.分析7.各种PID控制器P控…...

小程序获取微信运动步数
1、用户点击按钮,在小程序中触发getuserinfo方法,获取用户信息 <scroll-view class"scrollarea" scroll-y type"list"><view class"container"><button bind:tap"getLogin">获取</button&…...

5G 核心网 相关概念快速入门
在我们开始阅读3GPP协议来学习5G核心网之前, 不妨来看看我之前整理的PPT,快速学习核心网相关概念, 以及5G转发面PFCP协议的相关核心知识。 涵盖了最精简的核心骨干内容,助你轻松上阵。 讲解目标 3GPP和相关协议 5G核心网架构模…...

【2024 年度总结】从小白慢慢成长
【2024 年度总结】从小白慢慢成长 1. 加入 CSDN 的契机2. 学习过程2.1 万事开头难2.2 下定决心开始学习2.3 融入技术圈2.4 完成万粉的目标 3. 经验分享3.1 工具的选择3.2 如何提升文章质量3.3 学会善用 AI 工具 4. 保持初心,继续前行 1. 加入 CSDN 的契机 首次接触…...

SAP POC 项目完工进度 - 收入确认方式【工程制造行业】【新准则下工程项目收入确认】
1. SAP POC收入确认基础概念 1.1 定义与原则 SAP POC(Percentage of Completion)收入确认方式是一种基于项目完工进度来确认收入的方法。其核心原则是根据项目实际完成的工作量或成本投入占预计总工作量或总成本的比例,来确定当期应确认的收…...
vue3+three.js加载glb模型
<template><div><!-- 亮度调节滑块 --><div class"controls"><label for"brightness">背景光亮度:</label><inputtype"range"id"brightness"v-model"brightness"min&quo…...

Golang Gin系列-4:Gin Framework入门教程
在本章中,我们将深入研究Gin,一个强大的Go语言web框架。我们将揭示制作一个简单的Gin应用程序的过程,揭示处理路由和请求的复杂性。此外,我们将探索基本中间件的实现,揭示精确定义路由和路由参数的技术。此外ÿ…...

25西湖ctf
2025西湖冬季 图片不全去我blog找👇 25西湖 | DDLS BLOG 文章所有参考将在文末给出 web web1 ssti 太简单的不赘述,知道用就行 {{cycler.__init__.__globals__.__builtins__[__import__](os).popen($(printf "\150\145\141\144\40\57\146\1…...
AI Agent:AutoGPT的使用方法
AutoGPT的使用方法 准备工作: 安装Python:确保你的电脑上安装了Python 3.8或更高版本。获取OpenAI API密钥:访问https://platform.openai.com/account/api-keys获取API密钥,并保存备用。获取Google API及Google Search Engine ID(可选):若要使用谷歌搜索功能,需访问htt…...
2024年博客之星主题创作|Android 开发:前沿技术、跨领域融合与就业技能展望
目录 引言 一、推动 Android 应用创新的核心力量 1.1 人工智能与机器学习的崛起 1.2 增强现实(AR)与虚拟现实(VR)的应用扩展 1.3 5G技术的推动 1.4 跨平台开发技术的成熟 1.4.1 React Native 1.4.2 Flutter 1.4.3 Taro …...
蓝桥杯小白备考指南
一、了解蓝桥杯 蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事 ,旨在促进软件和信息领域专业技术人才培养,提升高校毕业生的就业竞争力。比赛涵盖多个编程语言组别,如 Java、C/C、Python 等。不同组别和参赛类别&…...

面向对象的程序设计:以对象的方式进行思考
1 理解接口与实现的区别 以上一篇文章的电视机需要插电使用的例子继续来讲解: 对电视而言,插电使用,只需要标准的插座即可,具体的电从哪里来,是火力发电厂,或是太阳能发电,亦或是畜电池逆变供电,电视机是不需要关心的。 发电厂或供电设备属于实现,220V交流电插座属于…...

酵母三杂交实验全解析:从技术到应用【泰克生物】
酵母三杂交实验(Yeast Three-Hybrid, Y3H)是酵母双杂交(Y2H)技术的扩展,专门用于研究更复杂的分子相互作用,尤其是小分子与蛋白质间的相互作用。通过引入小分子作为第三方调节因子,酵母三杂交技…...
Git 分支合并
Merge(合并) Merge 是 Git 中最常用的分支合并方式之一。当你想要将一个分支的更改合并到另一个分支时,你可以使用 Merge 操作。 合并步骤: 通常是从开发分支往主分支上合并代码的时候用 merge 1、git checkout master&#x…...
C# 以管理员方式启动程序全解析
引言 在 Windows 应用程序开发的领域中,C# 语言凭借其强大的功能和广泛的适用性,被众多开发者所青睐。然而,在实际的开发过程里,我们常常会遭遇这样的情况:程序需要访问特定的系统资源,像是系统文件夹、注…...

CSS:语法、样式表、选择器
目录 一、语法 二、创建 外部样式表 内部样式表 内联样式 三、选择器 ID选择器 类选择器 伪类选择器 :hover a:link a:active a:visited 属性选择器 伪元素选择器 ::first-letter ::first-line ::selection ::placeholder ::before 和::after 通配选择器 标…...

python轻量级框架-flask
简述 Flask 是 Python 生态圈中一个基于 Python 的Web 框架。其轻量、模块化和易于扩展的特点导致其被广泛使用,适合快速开发 Web 应用以及构建小型到中型项目。它提供了开发 Web 应用最基础的工具和组件。之所以称为微框架,是因为它与一些大型 Web 框架…...

SQL和MySQL以及DAX的日期表生成?数字型日期?将生成的日期表插入到临时表或者实体表中
几种生成日期表的方法 如何用SQL语句生成日期表呢? 如何用MySQL语句生成日期表呢? 如何用DAX语句生成日期表呢? 1. MySQL生成日期表 1.1 日期格式:yyyy-MM-dd 字符型 2024-01-02 -- 生成日期表 WITH RECURSIVE temp_dateTable …...
文件下载时利用redis的队列模式顺序下载文件,防止多文件任务下载导致OOM
1、controller层控制 Resourceprivate RedissonClient redissonClient;Slf4j Service public class CustomerSettlementExportServiceImpl implements ICustomerSettlementExportService { /*** 文件加入队列顺序导出** param pubFileExportList 参数* return 结果*/public Aja…...
第13章:Python TDD完善货币加法运算(二)
写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...