数字PID算法基础

        数字PID是由编程语言实现的PID算法并烧录到控制芯片中,控制芯片与电机驱动连接,将PID控制算法的输出转换为PWM控制信号发送给电机驱动电路,电机驱动电路与直流电机相连并将PWM控制信号转换为具有相同占空比的PWM供电电压,通过对输入电机的PWM供电电压占空比的控制实现对电机转速的调节;通过传感器监测电机转速,反馈至控制芯片,实现闭环。

1、公式推导

        PID控制算法在连续时间序列下的公式如下:

        对连续时间信号进行等间隔采样,就得到离散化的数字信号。

        容易得到PID的离散化表达式,该表达式也成为位置式PID:

        增量式PID,即ux - ux-1,表达式为:

        所以,可以看出,位置式PID和增量式PID在本质上是同一种表达式。

2、PID控制的实际含义

        以电机控制为例,期望转速是1000rpm,与实际电机转速(400rpm)的差值为600rpm输入PID控制器,电机驱动产生PWM波调节电机转速。

2.1、使用比例环节进行控制

        只是用比例环节进行控制,e(t)为控制转速与电机实际转速的差值。

        这是用比例环节进行电机控制的转速曲线,随着系数Kp的增加,转速曲线的波动越来越陡峭,波峰也越来越高。从Kp调节控制器的转速曲线可以发现,这里有两个问题:

        1、存在转速波动。转速调节的初始阶段,电机转速有一段上下波动阶段(7秒前),这一段波动在实际应场景往往是不可以接受的;

        2、存在稳态误差。在比例环节的控制下,电机的稳态转速始终与目标转存在偏差。根据比例环节的公式,当偏差消失后比例环节的输出也为0,因此稳态转速永远无法与目标转速一致。

        实际中,随着Kp增加,前期转速波动增加、稳态误差降低,但始终无法消除。

2.2、增加微分环节

        针对问题1的转速波动,可以通过增加微分环节来解决。

        通过,下面的转速曲线,来看积分环节如何解决转速波动问题的。e(t)大于e(t-1)表示当前转速正在远离目标转速,根据积微分环节的公式,此时微分环节会将转速往靠近目标值进行调整。可以看到微分环节相当于一个阻尼器,转速原理目标值时,它阻止远离;转速靠近目标值时,它阻止靠近。从而让被控对象更快的稳定在一个状态,不进行波动。

2.3、增加积分环节

        针对问题2的稳态误差问题,可以通过增加积分环节来解决。

        对于稳态误差,系统稳定后目标值和实际中始终存在一个偏差。如果此时,积分环节增加进来,它会对这部分偏差进行正向积分,在积分作用下,积分环节的输出变得越来越大,因此PID控制起的输出也变得越来越大,从而当前转速开始升高。当转速超过目标转速后,积分环节又会对这部分偏差进行负向积分,PID控制器的输出变小,从而转速开始下降。

        只要转速没有停在目标转速上,积分环节就会一直发挥调节作用,被控对象会因为这种调节作用,最终稳定在目标转速上。

3、总结

        PID控制器在只有比例环节时,存在转速波动和稳态误差。通过增加积分环节可以消除稳态误差,通过微分环节消除转速调节的波动问题。因此,在PID三个环节的共同努力下,就可以实现如下理想的转速调节曲线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/586493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter之从CSV文件获取数据

新建csv文件 新建一个excel,填充业务数据,然后导出csv格式文件。 添加一个CSV数据文件 使用

认识K8S的基本概念和原理

K8S:Kubernetes8个字母省略就是k8s 自动部署,自动扩展和容器化部署的应用程序的一个开源系统 k8s是负责自动化运维管理多个容器化程序的集群。是一个功能强大的容器编排工具。分布式和集群化的方式进行容器管理。 k8s的版本:1.15或1.18。使…

RO-NeRF论文笔记

RO-NeRF论文笔记 文章目录 RO-NeRF论文笔记论文概述Abstract1 Introduction2 Related Work3 Method3.1 RGB and depth inpainting network3.2 Background on NeRFs3.3 Confidence-based view selection3.4 Implementation details 4 Experiments4.1 DatasetsReal ObjectsSynthe…

YOLOv5算法进阶改进(9)— 引入ASPP | 空洞空间金字塔池化

前言:Hello大家好,我是小哥谈。ASPP是空洞空间金字塔池化(Atrous Spatial Pyramid Pooling)的缩写。它是一种用于图像语义分割任务的特征提取方法。ASPP通过在不同尺度上进行空洞卷积操作,从而捕捉到图像中不同尺度的上下文信息。ASPP的主要思想是在输入特征图上应用多个不…

华为服务器安装银河麒麟V10操作系统(IBMC安装)

iBMC是华为面向服务器全生命周期的服务器嵌入式管理系统。提供硬件状态监控、部署、节能、安全等系列管理工具,标准化接口构建服务器管理更加完善的生态系统。 服务器BMC IP:192.168.2.100 一、准备工作 1、确保本机和服务器BMC管理口在同一网络 2、银…

浅层神经网络时间序列预测和建模

目录 时间序列网络 NARX 网络 NAR 网络 非线性输入-输出网络 定义问题 使用神经网络时间序列拟合时间序列数据 使用命令行函数拟合时间序列数据 选择数据 选择训练算法 创建网络 准备要训练的数据 划分数据 训练网络 测试网络 查看网络 分析结果 闭环网络 向…

第七课:计算机网络、互联网及万维网(WWW)

第七课:计算机网络、互联网及万维网(WWW) 第二十八章:计算机网络1、局域网 Local Area Networks - LAN2、媒体访问控制地址 Media Access Control address - MAC3、载波侦听多路访问 Carrier Sense Multiple Access - CSMA4、指数…

Stable Diffusion 系列教程 - 5 ControlNet

ControlNet和LORA的定位都是对大模型做微调的额外网络。作为入门SD的最后一块拼图是必须要去了解和开发的。为什么ControlNet的影响力如此的大?在它之前,基于扩散模型的AIGC是非常难以控制的,扩散整张图像的过程充满了随机性。这种随机性并不…

激光 GPS 卫星实现无边界精度

GPS 卫星领域已经发生了重大创新,将变得更加精确和强大。我们正在谈论激光后向反射器阵列( LRA)的发展。 这些可以精确跟踪地球的形状、自转和环境变化,从而扩展卫星的能力。 GPS卫星的主要用途是确定各种情况下的位置&#xff…

C++继承与派生——(7)类型兼容原则

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 站在巨人的肩上,是为了超过…

nodejs+vue+ElementUi摄影预约服务网站系统91f0v

本系统提供给管理员对首页,个人中心,用户管理,员工管理,摄影套餐管理,套餐系列管理,客片欣赏管理,摄影预约管理,摄影订单管理,取片通知管理,摄影评价管理&…

【linux】Linux管道的原理与使用场景

Linux管道是Linux命令行界面中一种强大的工具,它允许用户将多个命令链接起来,使得一个命令的输出可以作为另一个命令的输入。这种机制使得我们可以创建复杂的命令链,并在处理数据时提供了极大的灵活性。在本文中,我们将详细介绍Li…

Peter算法小课堂—浮点数危机

大家先想想下面这个代码运行结果&#xff1a; #include <bits/stdc.h> using namespace std; int main(){double x5.2;double y4.11.1;cout<<(x<y)<<endl;cout<<x-y<<endl;return 0; } 最终发现&#xff0c; &#xff1f;&#xff1f;&…

Unity之ShaderGraph如何实现瓶装水效果

前言 有一个场景在做效果时,有一个水瓶放到桌子上的设定,但是模型只做了个水瓶,里面是空的,所以我就想办法,如何做出来瓶中液体的效果,最好是能跟随瓶子有液体流动的效果。 如下图所示: 水面实现 水面效果 液体颜色设置 因为液体有边缘颜色和内里面颜色,所以要分开…

WEB渗透—PHP反序列化(十一)

Web渗透—PHP反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩…

【力扣题解】P106-从中序与后序遍历序列构造二叉树-Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P106-从中序与后序遍历序列构造二叉树-Java题解&#x1f30f;题目描述&#x1f4a1;题…

2024 通义语音 AI 技术图景,大模型引领 AI 再进化

自 1956 年达特茅斯会议上&#xff0c;约翰麦卡锡首次提出了“人工智能”这一术语。AI 在此后七十年的发展中呈现脉冲式趋势&#xff0c;每隔 5-10 年会出现一次技术革新和域定。在这一技术探索进程之中&#xff0c;预训练基础模型逐渐成为主流探索方向&#xff0c;受到学术界和…

C#下将点云数据保存为PLY格式

目前没有找到C#下将点云数据保存为PLY格式的库&#xff0c;查看了一下PLY格式&#xff0c;所以自己写了个方法实现点云数据保存PLY格式 public static string SavePointCloudToPLY(string No, float[] x, float[] y, float[] z){ string result "";Task.Run(() >…

基本运算器实验静态随机存储器实验

1.1 基本运算器实验 1. 实验记录 ①运算结果 首先按照实验指导书进行连线&#xff0c;然后打开试验箱电源&#xff0c;把A&#xff0c;B两个数存到寄存器中&#xff0c;然后改变s3 s2 s1 s0 的值&#xff0c;产生脉冲&#xff0c;观察对应的数据总线上的值以及两个标志位。 …

机器学习分类模型

机器学习常见分类模型及特点 机器学习常见分类模型优缺点 决策树模型 决策树&#xff08;Decision Tree&#xff09;是一类常见的机器学习方法&#xff0c;可应用于分类与回归任务&#xff0c;这里主要讨论分类决策树。决策树是基于树结构来进行决策的。下图是使用决策树来决定…