c语言微分方程离散化,PID算法的C语言实现二 PID算法的离散化

上面一篇已经讲述了PID的流程!这里对上面做一些补充说明:

1、由上一篇原理图框架我们知道PID控制其实是对偏差的控制;

2、如果偏差为0,则比列控制就不起作用;

3、积分环节主要用来消除静差,就是系统稳定后实际输出变量与输入变量的差值,利用偏差不断的叠加来作为输入变量的补偿;

4、微分环节其实是对偏差趋向的一个规律提前调节,这样可以增加系统稳定的快速性;

补充好了!下面还是贴出这个公式:

95428f28f81f29f6be79df27d879be8b.png

假设采样间隔为T,则第K个采样的时间为KT:

偏差err(KT)=In(K)-Out(K);

积分环节 即 err(K)+err(K+1)+。。。。

微分环节 即(err(K)-err((K-1)))/T

则u(x)的离散公式为:

ca600831959d73f036320d840c946a37.png

则u(K)可表示成;

5b8fc8661a003c43b97194e74b92794f.png

这里的Kp Kd Ki相信推回去就是可以知道具体表达式了!上面是位置型的,下面来个增量型的:

由上面表达式可得:

2d77022a43c89226bbf078ab411db63b.png

那么可得;

增量调节值

ce36ba863f678f4a4e01597fa80056d4.png

这就是增量型PID公式,我们发现他跟近3次的偏差有关,这就大大提高了系统稳定性!其实增量型就是算的一个增量误差的调节至就是这次偏差减去上一次偏差的公式!

最后注意增量型PID的输出变量值

U=u(k)+增量调节值

上面已经对PID原理做了分析,下面的篇文将用C语言来实现PID的调节!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PID是一种常用的控制算法,其全称为比例-积分-微分控制(Proportional-Integral-Derivative Control)。它根据控制系统的误差信号,通过比例、积分和微分三个部分的加权组合来产生控制输出,以调节系统的运行状态。 比例(Proportional)部分根据当前误差的大小与设定值之间的差异,产生一个与误差成正比的输出。它可以快速地响应系统的变,但可能会引起超调或震荡。 积分(Integral)部分根据误差信号在时间上的累积值,产生一个与积分误差成正比的输出。它可以消除系统静态误差,但可能导致系统响应过度调整或不稳定。 微分(Derivative)部分根据误差信号的变率,产生一个与误差变率成正比的输出。它可以预测系统的未来变趋势,使系统更加稳定,但可能会放大高频噪声信号。 离散PID是将连续时间PID控制算法转换为离散时间域中使用的算法。在实际应用中,往往需要将连续时间模型转换为离散时间模型来进行控制设计和实现离散PID通过采样周期将连续时间的PID算法离散,使其适用于离散时间系统。 离散PID实现方式有多种,常见的方法包括Z变换法、欧拉前向差分法和梯形法等。其中,Z变换法是一种常用的离散方法,它通过对连续时间控制器传递函数进行Z变换,得到离散时间控制器的传递函数,从而实现离散PID控制。 离散PID在工业自动控制中广泛应用,可以实现离散时间系统的精确控制,提高系统稳定性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值