带死区的PID控制算法及仿真
1.基本概念
在计算机控制系统重,某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制算法:
err(k) 为位置跟踪偏差,err0为可调参数,其具体数值可根据实际控制对象由实验确定。若err0太小,会使动作更新过于频繁,达不到稳定被控对象的目的;若err0值太大,则系统则会产生较大滞后。
带死区的PID控制实际上是一个非线性系统,在死区范围内,控制器输出为零;在死区外,控制器有输出。
2.仿真程序
clear all;
close all;
ts = 0.01;
sys = tf(5.235e005,[1, 87.35, 1.047e4, 0]);
dsys = c2d(sys, ts, 'z');
[num, den] = tfdata(dsys, 'v');
u_1 = 0;
u_2 = 0;
u_3 = 0;
u_4 = 0;
u_5 = 0;
y_1 = 0;
y_2 = 0;
y_3 = 0;
yn_1 = 0;
error_1 = 0;
errpr_2 = 0;
ei = 0;
sys1 = tf(1, [0.04,