增量式PID控制算法及仿真

编程入门 行业动态 更新时间:2024-10-08 18:38:50

<a href=https://www.elefans.com/category/jswz/34/1767667.html style=增量式PID控制算法及仿真"/>

增量式PID控制算法及仿真

当执行机构需要的是控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得:

增量式PID控制算法:

根据增量式PID控制算法,设计了仿真程序,被控对象如下:

PID控制参数:kp=8,ki =0.10,kd =10。增量式PID阶跃跟踪结果如图所示。

仿真程序:

%Increment PID Controller

clear all;

close all;

ts=0.001;

sys=tf(400,[1,50,0D);

dsys=c2d(sys,ts,'z');

[num,den]tfdata(dsys,'v');

u_1=0.0;u_2=0.0;u_3=0.0;

y_1=0;y_2=0;y_3=0;

x=[0,0,0]‘;

error_1=0;

error_2=0;

for k=1:1:1000

time(k)=k*ts;

yd(k)=1.0;

kp=8;

ki=0.10;

kd=10;

du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)-u_1+du(k);

if u(k)=10

u(K)=10;

end

if u(k)<=-10

u(k)=-10;

end

y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;

error=yd(k)-y(k);

u_3-u_2;u_2-u_l;u_1-u(k);

y_3=y_2y_2-y_1;y_1=y(k);

x(1)=error-error_1;

x(2)-error-2 *error_1+error_ 2;

x(3)=error;

error_2=error_1;

error_1=error;

end

figure(1);

plot(time,yd.'r',time,y,'k', linewidth',2);xlabel('time(s));ylabel('yd.y);

legend('ideal position value' ,'tracking position value');

由于控制算法中不需要累加,控制增量△u(k)仅与最近k次的采样有关,所以误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。

在计算机控制系统中,PID控制是通过计算机程序实现的,因此它的灵活性很大。一些原来在模拟PID控制器中无法实现的问题,在引入计算机以后,就可以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法,以改善系统品质,满足不同控制系统的需要。

更多推荐

增量式PID控制算法及仿真

本文发布于:2023-06-19 16:06:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/787939.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:增量   算法   PID

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!