电机应用开发-PID控制器参数整定

PID控制器参数整定

比例调节:调节作用快,系统一出现偏差,调节器立即将偏差放大输出。

积分调节:输出变化和输入偏差的积分成正比。输出不仅取决于偏差大小,还取决于偏差存在的时间。只要有偏差存在,尽管偏差可能很小,但它存在的时间越长,输出信号就越大。只有消除偏差,输出才停止变化

微分调节:输出与被调量的变化率成正比。微分调节越大越能提前响应,但是也会将不必要的偏差放大。

PID控制器参数整定的方法主要分为两大类:理论计算整定方法和工程整定法(经验法)。

理论计算整定方法主要是建立数学模型,然后根据数学模型经过理论的计算来确定最终的控制器参数。这种方法在所有的情况下都是理想的,经过这种方法调出来的参数是不可以直接使用的。

过程整定法主要是依赖于工程中的经验,直接在实际的控制系统的实验中进行。方法简单容易掌握,被广泛使用。

以经验法展开。

试凑法

采样周期的选择:要根据所设计的系统的具体情况,用试凑的方法,在试凑过程中根据各种合理的建议来预选采样周期,多次试凑,选择性能较好的一个作为最后的采样周期。

找整定参数时必须要认真的观察系统的相应情况,根据系统的响应情况来调整参数。

先P,再I,后D。调试时,将PID参数置于影响最小的位置,即P最大、I最大、D最小。

按纯比例系统整定比例系数,使其得到比较理想的调节过程曲线,然后再把比例系数放大1.2倍左右。然后将积分时间从小到大改变,使其得到较好的调节过程曲线。

然后在这个积分时间下重新改变比例系数,再看调节过程曲线有无改善。如有改善,可将原整定的比例系数减小,再改变积分时间,多次循环测试,就能得到合适的比例系数和积分时间。

如果在外界干扰下系统稳定性不好,可把比例系数和积分时间适当增加一点,使系统足够稳定。

将整定好的比例系数和积分时间适当减小,加入微分作用,以得到超调量(曲线最高点和目标线的差值)最小、调节作用时间最短的调节过程。

临界比例法

适用于闭环控制系统。

临界比例法:将调节器置于纯比例的作用下,从大到小逐渐改变调节器的比例系数,并且得到等幅度的震荡过程,此时为临界比例系数。

将调节器的积分置于最大,微分置于0,比例系数适当。

然后将比例逐渐增大,增大到产生等幅现象,并记录等幅时的临界比例系数和两个波峰的时间间隔。

根据记下的比例系数和周期,采用经验公司,计算调节器的参数。

一般调节法

Kp是加快系统响应速度,提高系统的调节精度;Ki用于消除稳态误差;Kd改善系统的稳态性能。

PID调试一般原则(任何参数过大都会造成系统的振荡):

在输出不振荡时,增大比例增益P。

在输出不振荡时,减小积分时间常数Ti。

在输出不振荡时,增大微分时间常数Td。

确定P、I、D参数的一般步骤:

        确定比例增益P:

                首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,使PID为纯比例调节。

                输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直到系统出现振荡。

                然后在从此时的比例增益P逐渐减小,直到系统振荡消失。

                记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。

        确定积分时间常数Ti:

                比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡。

                然后逐渐加大Ti,直到系统振荡消失。

                记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。

                确定积分时间常数Td:

        积分时间常数Td:

                一般不用设定,为0即可。若要设定,与前面方法一致,取不振荡时的30%。

        系统空载、带载联调,再对PID参数进行微调,直至满足要求。

采样周期选择

采样周期越短,控制的效果越接近于连续,对于大多数算法缩短采样周期可使控制回路性能改善,但采样周期缩短时,频繁的采样会占用较多的计算工作时间,同时也会增加计算负担,而对有些变化缓存的受控对象无需很高的采样频率即可满意地进行跟踪,过多的采样反而没有多少实际意义。

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

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

相关文章

7年经验之谈 —— 如何高效的开展app的性能测试?

APP性能测试是什么 从网上查了一下,貌似也没什么特别的定义,我这边根据自己的经验给出一个自己的定义,如有巧合纯属雷同。 客户端性能测试就是,从业务和用户的角度出发,设计合理且有效的性能测试场景,制定…

Androidstudio中build.gradle classpath如何添加

Androidstudio中build.gradle classpath如何添加 build.gradle classpath如何添加 build.gradle classpath如何添加 升级as之后,gradle版本也升级了,导致project的build.gradle中的写法也不一样了。 buildscript {repositories {google()mavenCentral(…

机器学习算法项目开发流程

机器学习算法是当今人工智能领域最重要的技术之一,它可以让计算机通过学习数据中的模式和规律来实现预测和决策。在实际应用中,开发一个成功的机器学习算法项目需要遵循一定的开发流程。本文将介绍一个常见的机器学习算法项目开发流程,帮助读…

Linux mmap 的作用是什么?

文章目录 1.简介2.相关函数3.mmap和常规文件操作的区别4.作用参考文献 1.简介 mmap&#xff08;memory map&#xff09;即内存映射&#xff0c;用于将一个文件或设备映射到进程的地址空间。 2.相关函数 创建映射函数&#xff1a; #include <sys/mman.h>void *mmap(v…

【Android】画面卡顿优化列表流畅度六(终篇)

上一篇&#xff1a; 【Android】画面卡顿优化列表流畅度五之下拉刷新上拉加载更多组件RefreshLayout修改 场景回顾&#xff1a; 业务经过一年半左右的运行后&#xff0c;出现了明显的列表卡顿情况&#xff1b;于是开始着手进行列表卡顿优化。目前的情况是&#xff1a; 网络图…

【18年扬大真题】给定有m个整数的递增有序数组a和有n个整数的递减有序数组b,将a数组和b数组归并为递增有序的数组c

【18年扬大真题】 给定有m个整数的递增有序数组a和有n个整数的递减有序数组b&#xff0c; 将a数组和b数组归并为递增有序的数组c。 void Merge(int arr[],int m ,int brr[],int n,int crr[]) {int i 0;int j n-1;int k 0;while(i < m&&j > 0) {if (arr[i] &l…

STM32 SPI

SPI介绍 SPI是Serial Pepheral interface缩写&#xff0c;串行外围设备接口。 SPI接口是一种高速的全双工同步通信总线&#xff0c;已经广泛应用在众多MCU、存储芯片、AD转换器和LCD之间。大部分STM32有3个SPI接口&#xff0c;本实验使用的是SPI1。 SPI同一时刻既能发送数据&…

简单模拟 Spring 创建的动态代理类(解释一种@Transactional事务失效的场景)

模拟 Spring 创建的动态代理类 本文主要目的是从父类和子类继承的角度去分析为什么在 Service 标注的业务类中使用 this 调用方法会造成事务失效。解释在这种情况下 this 为什么是原始类对象而不是代理类对象。 问题描述 在 Service 标注的业务类中&#xff0c;如果调用本类…

22年+21年 计算机能力挑战赛初赛C语言程序题 题解

22年 第14题&#xff1a;答案&#xff1a;33 #include<stdio.h> int x1; int f(int a) { static int x2;int n0;if(a%2){ static int x3;nx; }else { static int x5;nx; }return nx;} void main() { int sumx,i;for(i0;i<4;i) sumf(i); printf(&qu…

B站短视频如何去水印?一键解析下载B站视频!

在浏览B站视频时&#xff0c;我们有时会遇到带有水印的场景。这些水印可能会干扰我们对视频内容的观看体验&#xff0c;特别是在全屏观看时。此外&#xff0c;当我们想要保存或分享这些视频时&#xff0c;水印也会成为一种障碍。因此&#xff0c;去除水印的需求就变得非常迫切。…

JAXB:根据Java文件生成XML schema文件

说明 JAXB有个schemagen脚本&#xff0c;可以根据Java文件生成XML schema。这个工具在JAXB独立发布包中有&#xff0c;可以从官网下载JAXB的独立发布包&#xff1a; https://eclipse-ee4j.github.io/jaxb-ri/ 示例 使用schemagen -d <path> <java files>格式 …

4-5学生分数对应的成绩

![#include<stdio.h> int main(){float score;char grade;for(int i0;i<7;i){printf("请输入成绩&#xff1a;");scanf("%f",&score);while(score>100||score<0){printf("\n输入的成绩有误&#xff0c;请重新输入&#xff1a;&quo…

「实体京东」:汽车行业里的一盘棋

在消费升级&#xff0c;产业愈发蓬勃发展的未来&#xff0c;不仅是汽车行业&#xff0c;在接下来的一众工业细分方向&#xff0c;供应链的重构和进化都将成为新的主旋律&#xff0c;串点成链&#xff0c;串链成网&#xff0c;通过对成本、效率、体验的重构&#xff0c;进而真正…

5年经验之谈 —— 如何编写有效的接口测试?

简介&#xff1a; 在所有的开发测试中&#xff0c;接口测试是必不可少的一项。有效且覆盖完整的接口测试&#xff0c;不仅能保障新功能的开发质量&#xff0c;还能让开发在修改功能逻辑的时候有回归的能力&#xff0c;同时也是能优雅地进行重构的前提。编写接口测试要遵守哪些原…

css animation 动画如何保留动画结束后的状态 animation-fill-mode: forwards

css animation 动画如何保留动画结束后的状态 animation-fill-mode: forwards 一、问题描述 在做一个弹窗动画提示的时候遇到了一个问题&#xff1a; 在动画结束的时候&#xff0c;移除元素时会有闪一下的问题&#xff0c;像这样&#xff0c;有残留的痕迹。 我的动画结尾是这…

WebLOAD: 一站式性能测试工具

WebLOAD 是一款一站式前端性能测试工具&#xff0c;对测试人员来说使用非常方便。 它可以帮助前端工程师和测试快速对网页进行性能测试和优化&#xff0c;提高网页加载速度&#xff0c;减少页面卡顿和闪烁。 WebLOAD的特点、使用指南以及企业实际使用中的案列。 WebLOAD的特…

Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案

Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案 也是昨天晚上折腾了一个晚上到凌晨四点多,实在没有头绪,在论坛,贴吧,各种求助查贴,没有什么人解决.后面请教了一个安全圈的大佬朋友给解决了. 我的问题是在kali上的,所以只写了kali 的解决方案: 修改插件: vim /opt/…

零代码编程:用ChatGPT将SRT字幕文件批量转为Word文本文档

一个文件夹中有多个srt视频字幕文件&#xff0c;srt文件里面有很多时间轴&#xff1a; 现在想将其批量转为word文档&#xff0c;去掉里面与字符无关的时间轴&#xff0c;在ChatGPT中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个批量将SRT字幕文件转为…

R语言:利用biomod2进行生态位建模

在这里主要是分享一个不错的代码&#xff0c;喜欢的可以慢慢研究。我看了一遍&#xff0c;觉得里面有很多有意思的东西&#xff0c;供大家学习和参考。 利用PCA轴总结的70个环境变量&#xff0c;利用biomod2进行生态位建模&#xff1a; #------------------------------------…

【计算机网络学习之路】UDP socket编程

文章目录 前言一. 网络通信本质端口号TCP与UDP网络字节序 二. socket编程接口socket()和sockaddr结构体 三. 简单echo服务结束语 前言 本系列文章是计算机网络学习的笔记&#xff0c;欢迎大佬们阅读&#xff0c;纠错&#xff0c;分享相关知识。希望可以与你共同进步。 一. 网…