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

嵌入式硬件篇---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控制器通过以下步骤对系统进行控制:

  1. 测量系统的输出(或过程变量)。
  2. 计算设定值与实际输出之间的偏差。
  3. 根据偏差及偏差的变化率,分别计算出比例、积分、微分三个控制作用。
  4. 将这三个控制作用相加,得到总的控制量。
  5. 利用这个控制量对系统进行调节。

5…实质

  1. 实质:通过改变PWM等的输出值,将实际目标参量始终围绕在设定目标参量附近
  2. 公式:目标值与实际反馈值通过比例、微分、积分计算获得控制器输出值
  3. 示例:带编码器(测量电机的位置和素速度)的直流减速(降低速度、提高扭矩)电机的速度跟踪(不会因为电压波动或者电机负载变化导致的电机速度变化)

6.分析

  1. 首先点明受控对象、目标值、控制器输出值、反馈实际值是谁

  2. PID流程图

  3. 静态误差的存在判断:如果控制器输出量为0,判断控制对象是否会发生自发偏移

  4. 无论是P、I、D参数都是与误差有关(目标值-反馈实际值)

7.各种PID控制器

P控制器

优点

反应快

缺点

存在静态误差,过大会导致振荡输出或者超调

I控制器

优点

反应慢

缺点

不存在静态误差

PI控制器

优点

反应快、没有稳态误差

缺点

没有D项,无法对未来进行预测,因此无法有效控制振荡输出或者超调

D控制器

注意

通常与P控制器或者PI控制器一起使用,不单独使用

优点

对未来进行预测,产生阻碍作用,解决振荡输出或者超调

缺点

过大会导致系统卡顿

第二部分:离散PID

实质:离散PID:将调控周期进行适当控制
积分项离散
微分项等效

分类

1.位置式PID

  1. 位置式PID就是连续型PID离散化后的PID公式,输出完整控制量
  2. 涉及到:本次、上次误差

2.增量式PID

  1. 增量式PID,第k次与第(k-1)次输出结果做差的结果,输出的是控制量的变化值
  2. 涉及到:本次、上次、上上次三次误差量
  3. 注意:增量式PID可以通过控制器内积分的操作实现位置式PID类似的功能

第三部分:额外小知识点

  1. STLINK:给STM32下载程序和调试程序
  2. USB转串口模块:用于STM32与上位机进行通信
  3. 离散型PID的调控周期T:取决于被控制对象的变化速度
  4. STM32等单片机,使用中断操作时,注意中断和主函数内的硬件操作的冲突问题(避免同时进行操作)
  5. 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、用户点击按钮&#xff0c;在小程序中触发getuserinfo方法&#xff0c;获取用户信息 <scroll-view class"scrollarea" scroll-y type"list"><view class"container"><button bind:tap"getLogin">获取</button&…...

5G 核心网 相关概念快速入门

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

【2024 年度总结】从小白慢慢成长

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

SAP POC 项目完工进度 - 收入确认方式【工程制造行业】【新准则下工程项目收入确认】

1. SAP POC收入确认基础概念 1.1 定义与原则 SAP POC&#xff08;Percentage of Completion&#xff09;收入确认方式是一种基于项目完工进度来确认收入的方法。其核心原则是根据项目实际完成的工作量或成本投入占预计总工作量或总成本的比例&#xff0c;来确定当期应确认的收…...

vue3+three.js加载glb模型

<template><div><!-- 亮度调节滑块 --><div class"controls"><label for"brightness">背景光亮度&#xff1a;</label><inputtype"range"id"brightness"v-model"brightness"min&quo…...

Golang Gin系列-4:Gin Framework入门教程

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

25西湖ctf

2025西湖冬季 图片不全去我blog找&#x1f447; 25西湖 | DDLS BLOG 文章所有参考将在文末给出 web web1 ssti 太简单的不赘述&#xff0c;知道用就行 {{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 增强现实&#xff08;AR&#xff09;与虚拟现实&#xff08;VR&#xff09;的应用扩展 1.3 5G技术的推动 1.4 跨平台开发技术的成熟 1.4.1 React Native 1.4.2 Flutter 1.4.3 Taro …...

蓝桥杯小白备考指南

一、了解蓝桥杯 蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事 &#xff0c;旨在促进软件和信息领域专业技术人才培养&#xff0c;提升高校毕业生的就业竞争力。比赛涵盖多个编程语言组别&#xff0c;如 Java、C/C、Python 等。不同组别和参赛类别&…...

面向对象的程序设计:以对象的方式进行思考

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

酵母三杂交实验全解析:从技术到应用【泰克生物】

酵母三杂交实验&#xff08;Yeast Three-Hybrid, Y3H&#xff09;是酵母双杂交&#xff08;Y2H&#xff09;技术的扩展&#xff0c;专门用于研究更复杂的分子相互作用&#xff0c;尤其是小分子与蛋白质间的相互作用。通过引入小分子作为第三方调节因子&#xff0c;酵母三杂交技…...

Git 分支合并

Merge&#xff08;合并&#xff09; Merge 是 Git 中最常用的分支合并方式之一。当你想要将一个分支的更改合并到另一个分支时&#xff0c;你可以使用 Merge 操作。 合并步骤&#xff1a; 通常是从开发分支往主分支上合并代码的时候用 merge 1、git checkout master&#x…...

C# 以管理员方式启动程序全解析

引言 在 Windows 应用程序开发的领域中&#xff0c;C# 语言凭借其强大的功能和广泛的适用性&#xff0c;被众多开发者所青睐。然而&#xff0c;在实际的开发过程里&#xff0c;我们常常会遭遇这样的情况&#xff1a;程序需要访问特定的系统资源&#xff0c;像是系统文件夹、注…...

CSS:语法、样式表、选择器

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

python轻量级框架-flask

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

SQL和MySQL以及DAX的日期表生成?数字型日期?将生成的日期表插入到临时表或者实体表中

几种生成日期表的方法 如何用SQL语句生成日期表呢&#xff1f; 如何用MySQL语句生成日期表呢&#xff1f; 如何用DAX语句生成日期表呢&#xff1f; 1. MySQL生成日期表 1.1 日期格式&#xff1a;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完善货币加法运算(二)

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...