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

相关文章

Java五子棋之坐标校正

上篇针对了Java项目中的解构思维,在这篇内容中我们不妨从整体项目中拆解拿出一个非常重要的五子棋逻辑实现:坐标校正,我们如何使漫无目的鼠标点击变得有序化和可控化呢? 目录 一、从鼠标监听到获取坐标 1.MouseListener和MouseAdapter 2.mousePressed方法 二、坐标校正的具体实现方法 1.关于fillOval方法 2.坐标获取 3.坐标转换 4.坐

C/C++的编译和链接过程

目录 从源文件生成可执行文件(书中第2章) 1.Preprocessing预处理——预处理器cpp 2.Compilation编译——编译器cll ps:vs中优化选项设置 3.Assembly汇编——汇编器as ps:vs中汇编输出文件设置 4.Linking链接——链接器ld 符号 模块,库 链接过程——链接器 链接过程 1.简单链接的例子 2.链接过程 3.地址和

mysql中存储过过程和游标的联合使用

1.SQL如下: DELIMITER //DROP PROCEDURE IF EXISTS PrintAllEmployeeNames5;CREATE PROCEDURE PrintAllEmployeeNames5()BEGINDECLARE error_count INT DEFAULT 0;DECLARE num INT ;DECLARE done INT DEFAULT

Class 对象在执行引擎中的初始化过程

一个 class 文件被加载到内存中需要经过 3 大步:装载、链接、初始化。 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流,然后根据字节流创建 java.lang.Class 对象的过程。 链接 链接过程分为 3 步:验证、准备、解析。 验证: 初始化 这是 class 加载的最后一步,这一阶段是执行类构造器方法的过程,并真正初始化类变量。 1.文件格式检验:检

如何给MySQL设置远程访问?(官方校正版)

在现代数据驱动的世界中,数据库的灵活性和可访问性变得尤为重要。设置MySQL的远程访问不仅仅是为了方便,还为企业和开发者提供了多种优势。无论是在分布式团队协作、跨地域数据管理,还是在系统集成和实时数据访问方面,远程访问都能显著提升效率和生产力。 目录 1. 修改MySQL配置文件 2. 重启MySQL服务 3. 创建远程访问用户 4. 配置防火墙 a. 使用UFW(适用于Ubun

绿联nas折腾过程中遇到的问题

绿联nas折腾过程中遇到的问题 目录 ssh权限问题超级用户 ssh 权限问题 使用chmod -R 777 目录/ 给指定目录及其所有子目录和文件设置最大的权限,权限设置为 rwxrwxrwx(读、写、执行权限给所有用户)。这个命令会将目录和文件的权限设置为非常宽松,允许所有用户对它们进行任何操作。 700只有所有者有读和写以及执行的权限 查看访问权限:ls -l 当前文件夹下所有用

对递归执行过程的简单描述

1. 分析代码 #include <stdio.h>void fun(int n){printf("1th - Level: %d Address: %d\n", n, &n);if(n < 3)fun(n+1);printf("2th - Level: %d Address: %d\n", n, &n);}int main(){fun(1);return 0;} 输出结果为:

Git使用过程中涉及的几个区域

一.  简介 Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,也是 Linus Torvalds 为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件。 本文简单了解一下 git涉及的几个部分,以及git 常用的命令。 二. Git涉及的三个部分 git 涉及三个区域:工作区,暂存区,本地仓库,远程版本库。 下面分别简单了解

【Android面试八股文】你能说一说在平常开发过程中你是如何解决事件冲突问题的吗?

文章目录 一、内部拦截法(Inner Intercept)1.1 工作原理:1.2 实现步骤:1.3 适用场景:1.4 内部拦截法示例1.4.1. 自定义 `RecyclerView` 以处理内部拦截1.4.2. 在布局中使用 `InterceptableRecyclerView` 1.5 为什么`requestDisallowInterceptTouchEvent(boolean disa

maven settings.xml无效排查过程

1.首先执行mvn help:effective-settings,查找当前maven仓库地址 2.错误信息 [ERROR] Error executing Maven. [ERROR] 2 problems were encountered while building the effective settings [FATAL] Non-parseable settings /Users/x