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

2023-11-20 22:30

本文主要是介绍电机应用开发-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参数进行微调,直至满足要求。

采样周期选择

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

这篇关于电机应用开发-PID控制器参数整定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397879

相关文章

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.