PI校正环节的程序实现推导过程

2024-04-28 01:38

本文主要是介绍PI校正环节的程序实现推导过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PI校正环节在经典控制论中非常有用,特别是对负反馈控制系统,基本上都有PI校正环节。

1.下面分别说明比例环节和积分环节的作用,以阶跃信号为例。

①比例环节单独作用

以上分析说明,若只有比例环节的控制系统,阶跃响应也是一个阶跃信号,但会存在一定静差,且静差值随Kp增大而减小,但始终存在,不随时间变化。

输出的理论波形跟实际的数字控制输出波形会不一致。因为实际数字控制系统每隔一个计算周期运算一次,而在这个计算周期中,输出量只受上一次的调节参数和中间变量的控制。所以可能会出现超调情况。

②比例-积分共同作用

拉氏反变换

以上分析说明,当加入积分项后,阶跃响应为一逐渐上升的曲线,且误差分量随时间逐渐趋于零;KI越大,误差分量衰减越快,KP越大,误差分量衰减越慢。

PI校正环节的优缺点:

比例系数Kp增大,则会减小稳态误差,减小了上升时间,提高了响应速度,但会引入并逐渐增大超调量,直至系统振荡;

积分环节提高了系统型别,消除稳态误差,但参数KI若过大,积分作用太强,会在大偏差阶段引起过大超调,调节时间变长,最后振荡。

2.PI环节的表达式

传递函数

微分方程

对应的离散方程为

写成序列形式

写出相应的 z 变换系统方程

 

根据序列形式,可以写出程序代码:

#define Ts   0.00001        // 采样时间
typedef struct PI_Ele{float kp;                      // 比例环节系数float ki;                      // 积分环节系数float x1;float x2;float yout;float y1;
} PI_Vector;                   
#define PI_Macro(PI_Vector v)   \                       // 算法的宏定义v.yout = (v.kp+v.ki*Ts)*v.x2-v.kp*x1+v.y1;  \v.x1   = v.x2;   \v.y1   = v.yout; 

 

这篇关于PI校正环节的程序实现推导过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

springboot整合gateway的详细过程

《springboot整合gateway的详细过程》本文介绍了如何配置和使用SpringCloudGateway构建一个API网关,通过实例代码介绍了springboot整合gateway的过程,需要... 目录1. 添加依赖2. 配置网关路由3. 启用Eureka客户端(可选)4. 创建主应用类5. 自定

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

SpringBoot整合kaptcha验证码过程(复制粘贴即可用)

《SpringBoot整合kaptcha验证码过程(复制粘贴即可用)》本文介绍了如何在SpringBoot项目中整合Kaptcha验证码实现,通过配置和编写相应的Controller、工具类以及前端页... 目录SpringBoot整合kaptcha验证码程序目录参考有两种方式在springboot中使用k

SpringBoot整合InfluxDB的详细过程

《SpringBoot整合InfluxDB的详细过程》InfluxDB是一个开源的时间序列数据库,由Go语言编写,适用于存储和查询按时间顺序产生的数据,它具有高效的数据存储和查询机制,支持高并发写入和... 目录一、简单介绍InfluxDB是什么?1、主要特点2、应用场景二、使用步骤1、集成原生的Influ

SpringBoot实现websocket服务端及客户端的详细过程

《SpringBoot实现websocket服务端及客户端的详细过程》文章介绍了WebSocket通信过程、服务端和客户端的实现,以及可能遇到的问题及解决方案,感兴趣的朋友一起看看吧... 目录一、WebSocket通信过程二、服务端实现1.pom文件添加依赖2.启用Springboot对WebSocket

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti