嵌入式硬件篇---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 工具更好地辅助自己写代码,或许…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...