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

news2024/11/24 6:03:46

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

文章目录

  • 前言
  • 一、连续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 ↩︎

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

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

相关文章

C#文件夹基本操作(判断文件夹是否存在、创建文件夹、移动文件夹、删除文件夹以及遍历文件夹中的文件)

目录 一、判断文件夹是否存在 1.Directory类的Exists()方法 2. DirectoryInfo类的Exists属性 二、创建文件夹 1. Directory类的CreateDirectory()方法 2.DirectoryInfo类的Create()方法 三、移动文件夹 1. Directory类的Move()方法 2.DirectoryInfo类的MoveT…

Unity Meta Quest 一体机开发(八):实现 Hand Grab 扔物体功能

文章目录 📕教程说明📕设置刚体和碰撞体📕给物体添加 Physics Grabbable 脚本📕给手部添加 Hand Velocity Calculator 物体 此教程相关的详细教案,文档,思维导图和工程文件会放入 Seed XR 社区。这是一个高…

预览功能实现

<!-- 预览 --><el-dialog title"预览" :visible.sync"dialogPreviewVisible" width"50%" append-to-body :close-on-click-modal"false" close"PreviewClose"><div style"margin-bottom:5%">&l…

红黑树(万字图文详解)

红黑树 1. 红黑树的概念2. 红黑树的性质3. 红黑树节点的定义4. 红黑树结构5. 红黑树的插入操作5.1 按照二叉搜索的树规则插入新节点5.2 检测新节点插入后&#xff0c;红黑树的性质是否造到破坏5.2.1 情况一: cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u存在且为红…

【日常总结】Swagger 3.0 + 集成 knife4j ,并设置header入参

一、场景 环境&#xff1a; 二、问题 思路 &#xff1a; 三、解决方案 &#xff08;推荐&#xff09; Stage 1&#xff1a;接入knife4j 依赖 Stage 2&#xff1a;修改 yaml 配置 Stage 3&#xff1a;修改 swagger 3 配置文件 Stage 4&#xff1a;查看效果 Swagger UI …

Junos webauth_operation.php 文件上传漏洞复现(CVE-2023-36844)

0x01 产品简介 Junos 是 Juniper Networks 生产的一款可靠的高性能网络操作系统。 0x02 漏洞概述 Junos webauth_operation.php接口处存在文件上传漏洞&#xff0c;未经身份认证的攻击者可利用 Junos 操作系统的 J-Web 服务 /webauth_operation.php 路由上传 php webshell&…

LVS-DR实验

实验前准备 DR服务器&#xff1a;192.168.188.11 192.168.188.15 NFS服务器&#xff1a;192.168.188.14 Web服务器1&#xff1a;192.168.188.12 Web服务器2&#xff1a;192.168.188.13 Vip&#xff1a;192.168.188.188 客户端&#xff1a;192.168.188.200 配置负载均衡调度…

05-学成在线课程分类查询

课程分类查询 界面原型 在新增课程基本信息界面中课程等级、课程类型、课程分类三处信息需要用户选择 当我们点击新增课程时,前端会请求内容管理服务中的content/course-category/tree-nodes接口获取课程分类表中的课程分类信息 响应数据模型 课程分类表course_category是一…

文件权限中 chmod、u+x、u、r、w、x分别代表什么

Linux系统中的每个文件和目录都有访问许可权限&#xff0c;如下面所示&#xff1a; 要说清楚问题&#xff0c;我们截取一些内容&#xff1a; ypyubuntu:~$ ls -l drwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Desktop/ drwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Documen…

Unity之NetCode多人网络游戏联机对战教程(10)--玩家动画同步

文章目录 前言NetworkAnimation服务端权威客户端权威 前言 这次的动画同步与位置同步&#xff0c;可以说实现思路是一样的&#xff0c;代码相似度也非常高 NetworkAnimation 如果直接挂载这个脚本只有Host&#xff08;服务端&#xff09;才可以同步&#xff0c;Client是没有…

迁移redis数据库中的数据到另一台服务器

方案一 下面我使用的redis是用docker安装的&#xff0c;不是通过下载安装包安装的&#xff0c;所以和我安装方式不一样的小伙伴可以不看&#xff0c;因为很多操作是基于docker的 话不多说&#xff0c;直接开搞&#xff01; 1.首先一定要确保两台服务器上面的redis版本要一致…

图解Redis适用场景

Redis以其速度而闻名。 1 业务数据缓存 1.1 通用数据缓存 string&#xff0c;int&#xff0c;list&#xff0c;map。Redis 最常见的用例是缓存对象以加速 Web 应用程序。 此用例中&#xff0c;Redis 将频繁请求的数据存储在内存。允许 Web 服务器快速返回频繁访问的数据。这…

vue day2

1、指令修饰符&#xff1a;.指明一些指令后缀&#xff0c;不同后缀封装不同处理操作 按键修饰符&#xff1a;keyup.enter v-model修饰符&#xff1a; v-model.trim&#xff1a;去首位空格 v-model.number&#xff1a;转数字 事件修饰符&#xff1a; 阻止事件冒泡&#xff1…

机器人制作开源方案 | 网球自动拾取机

作者&#xff1a;柳文浩、李浩杰、苏伟男、贾思萌、张天芸 单位&#xff1a;西安外事学院 指导老师&#xff1a;胡宝权、陈小虎 1. 产品说明 1.1 设计目的 近年来&#xff0c;网球运动越来越受到老百姓的欢迎&#xff0c;各种规模的比赛层出不穷。然而由于网球运动极为激烈…

滴滴昨晚崩了,看这波还敢不敢降本增效?

起因 截至 2023 年 11 月 27 日晚&#xff0c;中国最大的网约车服务平台滴滴打车遭遇系统崩溃&#xff0c;继阿里云控制台故障之后&#xff0c;再次引发热议。这一事件迅速攀升至热搜榜首&#xff0c;引起广泛关注。 今晚约 10 点&#xff0c;滴滴打车遭遇大范围技术故障。用户…

Spring的三种常见Bean的初始化参数机制,你都用对了吗?

大家好&#xff0c;我是G探险者。 spring这本九阳神功秘籍&#xff0c;我们一点一滴去研读。 在Spring框架中&#xff0c;Bean的实例化与初始化是一个复杂的过程&#xff0c;一个Bean的实例化过程往往伴随着一些属性的初始化动作&#xff0c;有的是在Bean实例化之后才进行的属…

解决VMware VCenter存储上传镜像文件失败

VMware VCSA6.7上传共享文件时提示操作失败&#xff0c;由于不确定的原因&#xff0c;操作失败。通常&#xff0c;当浏览器不信任证书时会发生此问题。如果您使用的是自签名证书或自定义证书&#xff0c;请在新的浏览器选项卡中打开下面的 URL并接受证书&#xff0c;然后重试操…

五、Lua流程控制与函数

一、流程控制 &#xff08;一&#xff09;含义 Lua 编程语言流程控制语句通过程序设定一个或多个条件语句来设定。在条件为 true 时执行指定程序代码&#xff0c;在条件为 false 时执行其他指定代码。 &#xff08;二&#xff09;原型 if (成立) then执行体1else执行体2 end…

蓝桥杯每日一题2023.11.27

题目描述 星系炸弹 - 蓝桥云课 (lanqiao.cn) 题目分析 对于此题目一一枚举即可 #include<bits/stdc.h> using namespace std; bool is_r(int n) {if((n % 4 0 && n % 100 ! 0)|| n % 400 0)return true;return false; } int mm[13] {0, 31, 28, 31, 30, 3…

智能优化算法应用:基于樽海鞘群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于樽海鞘群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于樽海鞘群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.樽海鞘群算法4.实验参数设定5.算法结果6.参考…