电机控制——PID基础

news2024/11/16 19:07:09

本文来讲一下PID调节器。

在实际的系统中,因为摩擦、阻力等外界因素的存在,系统的实际输出与我们期望的输出通常存在误差,PID的目的就是调节系统的实际输出,使其更快更稳地贴近期望输出

PID模块被周期性的调用,模块的输入是实际输出与期望输出之间的误差值,模块的输出是一个补偿,这个补偿输入给系统,使得系统的输出增大或减小,逐步贴近期望输出。

这里需要注意一下,系统的输出不可能阶跃性的增加,是需要时间的,比如车辆提速、水位升高等。PID模块通过控制系统的输入,使得系统的输出在一个PID周期内增加所期望的补偿值。其实可以理解为PID输入给系统的是一个加速度,或输出曲线增长的斜率。

P —— 比例调节

PID中的P是比例调节,就是每次将误差值乘以一个比例系数(后文称为P),输入给系统。比如,期望输出是10,当前系统输出是2,那么误差是8,假设P是0.5,那么补偿就是8*0.5=4,输入给系统,系统输出变成6。下一个调节周期中,误差变为4,补偿变为2,系统输出变为8。以此类推,我们可以知道系统输出最终会无限接近于期望输出。且比例系数越大,调节速度越快。

上述系统是一个理想系统,即我们输入的补偿是多少,输出就增加多少。该系统中输入函数x(t)是一个单位阶跃函数,输出函数y(t)是对输入参数x在0-t时段内的定积分,反之则是输入参数x是y(t)的导数,即斜率,这个从后面的曲线中也可以看出来。y(t)是一个斜坡函数,所以系统的传递函数H(s) = Y(s) / X(s) = (1/s²) / (1/s) = 1/s,用simulink建模如下:
在这里插入图片描述
设置PID运行周期为1S,PID模块中参数P设置为0.5,运行结果如下,红色是期望输出,黄色是PID计算得到的补偿,蓝色是系统实际输出。我们可以看到PID的输出是系统输出曲线的斜率。
在这里插入图片描述
P越大,系统输出收敛的越快,下图P=0.8:
在这里插入图片描述

把P设置为1,运行结果如下,也就是说一个PID周期直接把系统输出调节到了期望输出:
在这里插入图片描述
当P大于1的时候,系统输出就会出现震荡,下图为P=1.5:
在这里插入图片描述
当P大于等于2时,系统就无法进入稳定状态,下图为P=2.1:
在这里插入图片描述

但是实际系统中会存在阻力和误差,比如在一个PID调节周期内,摩擦等因素会使系统的输出降低1,还是用上面的例子,P设置为0.5,当系统的输出 ≥ 8的时候,PID输出的补偿就会 ≤ 1,即输入给系统的补偿量小于系统在一个周期内的损耗,这时系统的输出将永远也无法达到预期的输出10,只会稳定在8附近。这个就叫稳态误差,只有P的调节器无法消除稳态误差,P的作用是能使输出快速向期望输出靠拢。

我们在simulink中创建上述存在摩擦的系统,摩擦使系统的输出降低1,可以看作是系统始终有一个-1的输入(理想系统为y = x,损耗为y = -1,两者相加即 y = x - 1),所以修改模型如下,在系统的输入上叠加一个值为-1的常量:
在这里插入图片描述
仿真结果如下,我们可以看到系统输出最终稳定在8附近:
在这里插入图片描述
把叠加的输入改为-2,系统稳定在6附近;
在这里插入图片描述

I —— 积分调节

要想消除稳态误差,就要用到PID中的I了,I是指积分,是把前面所有的误差值加起来,再乘以一个系数,作为一个补偿输入给系统。也就是说只要误差不为0,那么PID计算得到的补偿值就会持续增大,直到误差为0,所以I调节器能消除稳态误差。

我们将PID控制器的参数设置如下:
在这里插入图片描述
仿真结果如下:
在这里插入图片描述
可以看到稳态误差被消除了,但出现了振荡,I系数越大,稳态误差消除得越快,但振荡可能会更大,下图是把I设置为0.2的仿真结果:
在这里插入图片描述

D —— 微分调节

如何解决引入I之后导致的振荡问题呢,就要用到PID中的D了,D是指微分,误差的微分就是误差变化的快慢,当系统输出逐渐接近期望输出的时候,误差的变化率总是越来越小的,把这个变化率乘以微分系数D,再叠加到补偿上,能使系统输出在前期快速增加,在接近期望输出的时候增加的更慢,从而达到抑制振荡的效果。我们下面看一个更复杂一点的系统模型:
在这里插入图片描述
PID模块参数先设置如下,不加微分补偿:
在这里插入图片描述
仿真结果如下:
在这里插入图片描述
再把参数D设置为0.5,仿真结果如下,可以看到振荡被很好地抑制了:
在这里插入图片描述
但是微分调节在实际工作中并不常用,因为微分调节在实际应用中往往会引入噪声,导致系统不稳定。通常只用到PI两个调节器。

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

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

相关文章

电脑资源:分享9个免费下载音乐网站,值得收藏!

目录 1、中国原创音乐基地 2、soundstripe 3、My Free MP3 4、钟铜 5、cctrax 国外流行音乐专辑 6、歌曲宝 7、搜无损网 8、音乐搜索器 9、Listen 1 今天给大家分享9个免费下载音乐网站,值得收藏! 1、中国原创音乐基地 一个国内原创音乐基地网站&…

中国人民大学与加拿大女王大学金融硕士——山有顶峰,海有彼岸,一切终有回甘

每个人都有自己独特的天赋和潜力,只需要用心去发掘和发挥。相信自己,努力奋斗,成功才会属于你。对于工作多年的在职人士来说,瓶颈期是再正常不过了,但是想要打破瓶颈期,就需要不断学习,提升自己…

带你一张图了解八种流行的网络协议

网络协议是在网络中两台计算机之间传输数据的标准方法。 本文将通过一张图详解 8 种流行的网络协议。 1、HTTP(超文本传输协议),HTTP 是一种用于获取 HTML 文档等资源的协议。它是 Web 上任何数据交换的基础,是一种客户端 - 服务…

拓扑几何学

目录 一,欧拉定理 1,平面图论图 2,单连通多面体 3,一般多面体 一,欧拉定理 1,平面图论图 在一个联通无向图中,点数-边数面数 1 如: 7-126 1 如果把最外面的五边形外面也算…

狂飙10年后,电动两轮车终究要回归理性

文|新熔财经 作者|一城 我国电动两轮车保有量超3.7亿辆,并超越汽车保有量成为中国第一大交通工具,电动两轮车“国民级产品”当之无愧。 但是,历经近十年的高速发展,行业却面临一些问题: 渠道…

在对接自有账户体系时,FinClip 怎么做的?

以下文章来源于 FinClip (凡泰极客) 作者:王字 Wannz FinClip 是 Authing 的合作伙伴之一,致力于帮助企业打造更高效的一站式数字内容管理平台,旨在降低内容与渠道所形成的内容矩阵管理成本。前不久我与售前同事聊天,他们反馈说很…

在线制作课程表

失业在家,开启一天一个应用的创作节奏,最近学了uniapp,特别想做点啥,正好家里小孩子要打印课程表,而且课程表还有调课的需求,就寻思做一个方便大家,到目前位置服务完全免费的,新鲜上…

MySQL数据库基本操作-DQL-排序查询

介绍 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 order by 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。 语法 select 字段名1,字段名2,…… from 表名 order by 字段名1 [asc|desc]&#xf…

腾讯云新用户专享便宜云服务器有哪些?如何购买?

在云计算市场竞争激烈的今天,各大云服务提供商为了吸引更多用户,经常推出各种优惠活动。腾讯云作为国内领先的云计算服务提供商之一,也不例外。本文将为大家介绍腾讯云新用户专享的便宜云服务器,以及如何购买。 腾讯云新用户专享便…

3.1 使用点对点信道的数据链路层

思维导图: 前言: **第3章 数据链路层笔记** --- **概述**: - 数据链路层在计算机网络中是较低的层级。 - 主要有两种信道:点对点信道与广播信道。 - 局域网(LAN)位于数据链路层。 --- **1. 信道种类**…

C++ stack和queue模拟实现

目录 stack习题练习逆波兰表达式求值基本计算器 stack模拟实现queuequeue模拟实现deque了解priority_queuepriority_queue模拟实现仿函数 stack stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提…

阶段六-Day02-Maven

一、学习Maven 使用Maven创建Web项目,并部署到服务器。 二、Maven介绍及加载原理 1. 介绍 Maven是使用Java语言编写的基于项目对象模型(POM)的项目管理工具。开发者可以通过一小段描述信息来管理项目的构建、报告和文档。 使用Maven可以…

Supervised Contrastive Pre-training for Mammographic Triage Screening Model

方法 品红色箭头表示将生成的孪生编码器分别迁移到单视角学习模块和双视角学习模块

C语言--文件操作详解(2)(文本文件和二进制文件,文件读取结束的判定,用函数进行文件的拷贝,文件缓冲区)

前言 本篇文章主要介绍了文本文件和二进制文件,文件读取结束的判定,如何使用函数进行文件的拷贝,文件缓冲区的相关知识。 以及具有保存功能的八功能通讯录的源码。 文章目录 前言1.文本文件和二进制文件2.文件读取结束的判定2.1 被错误使用…

Modality-invariant Visual Odometry for Embodied Vision 代码复现

代码地址 https://github.com/memmelma/VO-Transformer/tree/dev 环境配置 1.拉取github库 git clone https://github.com/memmelma/VO-Transformer.git cd VO-Transformer/2.创建环境 创建environment.yml name: vot_nav channels:- pytorch- conda-forge dependencies:-…

gpio内部结构(一)

一,GPIO内部结构 1,保护二极管 * 引脚内部加上这两个保护二级管可以防止引脚外部过高或过低的电压输入。 * 当引脚电压高于 VDD_FT 或 VDD 时,上方的二极管导通吸收这个高电压。 * 当引脚电压低于 VSS 时,下方的二极管导通&…

Linux 文件链接

Linux 下的文件链接有两类。一个是类似于 win 电脑的快捷方式,我们称为软链接,软链接也可以叫做符号链接。另一种是通过文件系统的 inode 连接来产生的,类似于 windows 电脑的复制,但是不产生新的文件,我们称为硬链接。…

2023.10.10

运算符重载 类外函数实现&#xff1a; #include <iostream>using namespace std;class Good {//算数friend const Good operator*(const Good &L,const Good &R);friend const Good operator(const Good &L,const Good &R);friend const Good operator…

【网络豆送书第五期】Kali Linux高级渗透测试

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号&#xff1a;网络豆云计算学堂 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a; 网络豆的主页​​​​​ 本期好书推荐&#xff1a;《Kali Linux高级渗透测试…

在Openresty中使用lua语言向请求浏览器返回请求头User-Agent里边的值

可以参考《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1&#xff0c;使用systemd管理OpenResty服务》安装Openresty。 然后把下边的内容写入到openresty配置文件/usr/local/openresty/nginx/conf/nginx.conf&#xff08;根据实际情况进行选…