电机伺服驱动学习笔记(6)PID算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、连续PID
  • 二、参数整定
    • 1.一般调节法
  • 工具提示
  • 参考文献


前言

提示:本文是根据野火科技电机系列教学视频PID算法的通俗解说和参数整定视频课章节整理得到,请需要详细学习的同学移步:
【【野火】电机系列教学视频,基于STM32硬件(步进电机,直流有刷电机,直流无刷电机,舵机,永磁同步电机PMSM)PID闭环、步进加减速、直线圆弧插补】


一、连续PID

u ( t ) = K p ( e ( t ) + 1 T t ∫ 0 t e ( t ) d t + T d d e ( t ) d t ) u(t)=K_p(e(t)+\frac{1}{T_t}\int_{0}^{t}e(t)dt+T_d\frac{de(t)}{dt} ) u(t)=Kp(e(t)+Tt10te(t)dt+Tddtde(t))
K p K_p Kp比例增益, T t T_t Tt积分时间常数, T d T_d Td微分时间常数, u ( t ) u(t) u(t)PID控制器输出信号, e ( t ) e(t) e(t)给定值与测量值之间误差。
在这里插入图片描述 u ( k ) = K p ( e ( k ) + T T i ∑ j = 0 k e ( j ) + T d T ( e ( k ) − e ( k − 1 ) ) u(k)=K_p(e(k)+\frac{T}{T_i}\sum_{j=0}^k{e(j)}+\frac{T_d}{T}(e(k)-e(k-1)) u(k)=Kp(e(k)+TiTj=0ke(j)+TTd(e(k)e(k1))
u ( k ) = K p e ( k ) + K i ∑ j = 0 k e ( j ) + K d ( e ( k ) − e ( k − 1 ) ) u(k)=K_pe(k)+K_i\sum_{j=0}^k{e(j)}+K_d(e(k)-e(k-1)) u(k)=Kpe(k)+Kij=0ke(j)+Kd(e(k)e(k1))
全量式PID算法
k − 1 k-1 k1代入上式
u ( k − 1 ) = K p e ( k − 1 ) + K i ∑ j = 0 k − 1 e ( j ) + K d ( e ( k − 1 ) − e ( k − 2 ) ) u(k-1)=K_pe(k-1)+K_i\sum_{j=0}^{k-1}{e(j)}+K_d(e(k-1)-e(k-2)) u(k1)=Kpe(k1)+Kij=0k1e(j)+Kd(e(k1)e(k2))
将上式减去上式可得
Δ u ( k ) = K p ( e ( k ) − e ( k − 1 ) ) + K i e ( k ) + K d ( e ( k ) − 2 e ( k − 1 ) + e ( k − 2 ) ) \Delta u(k)=K_p(e(k)-e(k-1))+K_ie(k)+K_d(e(k)-2e(k-1)+e(k-2)) Δu(k)=Kp(e(k)e(k1))+Kie(k)+Kd(e(k)2e(k1)+e(k2))
u ( k ) = u ( k − 1 ) + Δ u ( k ) u(k)=u(k-1)+\Delta u(k) u(k)=u(k1)+Δu(k)

增量式PID算法不需要对积分项累加,控制量增量只与近几次误差有关,计算误差对控制量计算的影响较小。执行机构带积分部件的对象。
积分截断效应大,有稳态误差;输出只需要输出限幅.
位置式PID算法要对之前几次的偏差进行积分累积,容易产生较大的累加误差。位置式PID需要有积分限幅和输出限幅.
在这里插入图片描述

比例项
成比例的反应控制系统中输出与输入的偏差信号,只要偏差一旦产生,就立即产生控制的作用来减小产生的误差。
积分项
在比例控制环节中产生了静态误差,在积分环节中,主要用于消除静态误差
微分项
反映系统偏差的一个趋势,可以在误差来临之前提前引入一个有效的修正信号。

二、参数整定

1.一般调节法

确定比例项:首先令积分项与微分项为0,使PID为纯比例调节。输入设定为系统允许的最大值的0.6-0.7,由0逐渐加大比例项,直至系统出现振荡;再反过来,逐渐减小比例项至振荡消失,记录此时的比例项,设定PID的比例项为当前值的0.6-0.7。
确定积分项:比例项确定后,将积分项从小到大条件,直至出现振荡。再反过来,逐渐减小积分项至振荡消失。记录此时的积分项,令PID的积分项为当前值的0.6-0.7。
确定微分项:通常不设定。若需设定,方法与比例项和积分项方法相同,取不振荡时的0.3。
系统空载、带载联调,再对PID参数进行微调,直至满足要求:理想曲线两个波,前高后低4比1。即有超调量,超调的前两个峰比值为4比1.
有完整PID调整的歌诀。1
在这里插入图片描述需要注意的,上面歌诀中的比例度、积分时间和微分时间与本文中的Kp,Ki,Kd成反比关系。

工具提示

野火的PID串口调试助手应用很方便,可以到其官网下载
并从本文前言部分的链接视频选集的 P28-P29 PID控制器参数整定(2)(3)学习使用方法。

参考文献


  1. PID调得好不好,它说了算! - 无悔的文章 - 知乎https://zhuanlan.zhihu.com/p/26506263 ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯选拔赛真题26】C++字符串逆序 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C++字符串逆序 一、题目要求 1、编程实现 2、输入输出 二、算法分析

速通CSAPP(二)信息的表示和处理

Ch2. 信息的表示与处理 说实话,这部分的东西我到大四了,我觉得我看过不下10遍了。原码反码补码浮点运算之类的。 本章重点主要包括三种数: 无符号数:表示大于等于零的数。 有符号数:通常用补码表示。 浮点数&…

好用的IDEA插件推荐

前言 Idea 是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展,可以根据开发人员的需要进行定制和扩展,从而提高开发效率,今天我们就来介绍一款…

CH58x-BLE 程序阅读笔记

CH58x-BLE 程序阅读笔记 1. 广播1.1 广播类型设置1.2 广播数据长度 1. 广播 1.1 广播类型设置 1.2 广播数据长度 1) GAP-广播数据(最大大小31字节,但最好保持较短以节省广告时的电量) 31个字节包含了 length data type&a…

python爱心代码高级

在Python中,我们可以使用matplotlib库来创建一个更高级的爱心图形。以下是一个示例: import matplotlib.pyplot as pltimport numpy as npx np.linspace(-2, 2, 1000)y1 np.sqrt(1-(abs(x)-1)**2)y2 -3*np.sqrt(1-(abs(x)/2)**0.5)fig, ax plt.subp…

RandomAccessFile学习笔记

文章目录 RandomAccessFile学习笔记前言1、RandomAccessFile基本介绍1.1 RandomAccessFile相关基本概念1.2 RandomAccessFile家族体系 2、RandomAccessFile基本使用2.1 RandomAccessFile常用API介绍2.2 RandomAccessFile常用API演示2.3 RandomAccessFile实现断点续传 1、Random…

cadence virtuoso simulation文件夹删除

ADE XL仿真结果错误,与预期结果差别太大,与ADE L仿真结果也差别很大。 可能是由于仿真数据过多,卡爆了。 在virtuoso启动路径下,simulation文件夹是仿真过程文件,可以将此文件夹清空。 清空后ADE XL仿真结果正常了。…

Snagit 2024.0.1(Mac屏幕截图软件)

Snagit 2024是一款屏幕截图工具,可以帮助用户轻松捕获、编辑和分享屏幕截图。该工具在Mac上运行,旨在满足用户对于屏幕截图的各种需求。 Snagit 2024支持屏幕录制功能,可以录制摄像头和麦克风等外部设备,让用户录制更加全面的视频…

vue3中toRef创建一个ref对象

为源响应式对象上的某个属性创建一个 ref对象, 二者内部操作的是同一个数据值, 更新时二者是同步的 区别ref: 拷贝了一份新的数据值单独操作, 更新时相互不影响 应用: 当要将 某个prop 的 ref 传递给复合函数时&#xff0c;toRef 很有用 父组件代码: <template><…

“PredictingChildrenHeight“ app Tech Support(URL)

Using our app, we can predict a childs height through formulas. Because there are many factors that affect a childs height, it is for reference only. ​​​​​​​ If you have any questions, you can either leave a message or send the questions to our em…

零基础在ubuntu上搭建rtmp服务器-srs

搭建服务器 搭建 SRS&#xff08;Simple-RTMP-Server&#xff09;服务器需要一些步骤&#xff0c;以下是一个简单的步骤指南。请注意&#xff0c;SRS 的配置可能会有所不同&#xff0c;具体取决于你的需求和环境。在开始之前&#xff0c;请确保你的 Ubuntu 系统已经连接到互联…

Nacos 端口偏移量说明

因为安全原因&#xff0c;在部署nacos-2.2.3版本时&#xff0c;将nacos的application.properties中的server.port端口值由默认值8848改成了server.port8425 问题&#xff1a;nacos 启动时(sh start.sh -m standalone)报错 如下&#xff1a; 经过分析&#xff0c;原因是 9425 …

每日汇评:原油价格正在等待欧佩克对2024年供应削减配额的决定

OPEC会议推迟至周四&#xff0c;个别配额和供应削减仍然是会议的核心议题&#xff1b; 原油价格在欧佩克会议前持平&#xff0c;但是否有意外的看涨取决于欧佩克的减产&#xff1b; 布伦特原油价格在关键的82美元和200均线的交叉点被明显拒绝后走低&#xff1b; 上周三&#xf…

救助儿童会携手联劝公益在世界儿童日举办系列活动

2023年11月17日&#xff0c;为了呼吁家长关注对儿童情绪的关注与表达&#xff0c;救助儿童会携手联劝公益&#xff0c;以“走出情绪迷宫”为主题&#xff0c;于南丰城举办线下公益展&#xff0c;呼吁关注儿童心理健康。 本次展览由情绪迷宫、儿童艺术疗育活动、芝麻街互动三部分…

Docker-compose容器编排

Docker-compose容器编排 是什么 Compose 是 Docker 公司推出的一个工具软件&#xff0c;可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml&#xff0c;写好多个容器之间的调用关系。然后&#xff0c;只要一个命令&#xff0c;就…

Doris-Routine Load(二十七)

例行导入&#xff08;Routine Load&#xff09;功能为用户提供了一种自动从指定数据源进行数据导入的功能。 适用场景 当前仅支持从 Kafka 系统进行例行导入&#xff0c;使用限制&#xff1a; &#xff08;1&#xff09;支持无认证的 Kafka 访问&#xff0c;以及通过 SSL 方…

解析直播第三方美颜SDK:技术原理与应用

时下&#xff0c;直播平台和主播们纷纷引入美颜技术&#xff0c;以提升视觉效果和用户体验。而在众多美颜技术中&#xff0c;直播第三方美颜SDK成为许多开发者和平台的首选&#xff0c;因其灵活性和高效性而备受推崇。 一、技术原理&#xff1a;美颜算法的精髓 第三方美颜SDK…

02-Java集合之双列集合,如HashMap,Hashtable,Properties,TreeMap的底层结构

双列集合 添加/获取/删除键值对原理 哈希表/散列表是一种将数组和单向链表融合在一起的数据结构 数组在查询方面效率很高,单向链表在随机增删方面效率较高,哈希表将以上的两种数据结构融合在一起后充分发挥它们各自的优点 双列集合以key和value这种键值对方式存储数据: key…

ViLT 论文精读【论文精读】

ViLT 论文精读【论文精读】_哔哩哔哩_bilibili 目录 ViLT 论文精读【论文精读】_哔哩哔哩_bilibili 1 地位 2 ViLT做了什么能让它成为这种里程碑式的工作&#xff1f; 3 ViLT到底把模型简化到了什么程度&#xff1f;到底能加速到什么程度&#xff1f; 2.1 过去的方法是怎…

bop数据合并到COCO

bop数据合并到COCO JSON转TXT重命名txt文件中类别信息的转换 JSON转TXT import json import os,globcategories [{"id": 12,"name": "OREO","supercategory": "icbin"},{"id": 16,"name": "Paper…