1、内容簡介
略
481-可以交流、咨詢、答疑
2、内容說明
PID控制器是一種基于“過去”,“現在”和“未來”資訊估計的簡單算法。
正常PID控制系統原理框圖如圖2-1所示,系統主要由PID控制器和被控對象組成。作為一種線性控制器,它根據設定值 rm(t)和實際輸出值yout(t)構成控制偏差e(t), 将偏差按比例、積分和微分通過線性組合構成控制量u(t),對被控對象進行控制。對連續時間類型,PID控制方程的标準形式為:
(2-1)
圖2-1 PID控制器系統原理框圖
式中:e(t) = rm(t) - yout(t),Kp為比例系數,TI為積分時間常數,TD為微分時間常數。
離散PID控制的形式為 :
(2-2)
式中:u(k)為第k次采樣時控制器的輸出;k為采樣序号,k=0,1,2…;e(k)為第k次采樣時的偏內插補點;T為采樣周期;e(k-1)為第(k-1)次采樣時的偏內插補點。
離散PID控制算法有如下3類:位置算法、增量算法和速度算法。增量算法為相鄰量詞采樣時刻所計算的位置之差,即
(2-3)
式中:,;
從系統的穩定性、響應速度、超調量和穩态精度等各方面來考慮,、、的作
用如下:
比例系數的作用是加快系統的響應速度,提高系統的排程。越大,系統的響應速度越快,系統的調節精度越高,但易産生超調,甚至會導緻系統不穩定。取值過小,則會降低系統的調節精度,使響應速度緩慢,進而延長調節時間,使系統靜态、動态特性變壞。
積分作用系數的作用是消除系統的穩态誤差。越大,系統的靜态誤差消除越快,但過大,在響應過程的初期會産生積分飽和現象,進而引起響應過程的較大超調。若過小,将使系統靜态誤差難以消除,進而影響系統的調節精度。
微分作用系數的作用是改善系統的動态特性,其作用主要是在響應過程中抑制偏差向任何方向的變化,對偏差變化進行提前預報。但過大,會使響應過程提前制動,進而延長調節時間,而且會降低系統的抗幹擾能力。
3、仿真分析
clc,clear,close all
load('ysw.mat') % 原始資料
figure,plot(ysw(:,1),ysw(:,2),'*','linewidth',2)
hold on
axis([-50,350,-50,550])
x_pos = ysw(:,1)';
y_pos = ysw(:,2)';
N = length(y_pos);
x_ini = x_pos(1);
y_ini = y_pos(1);
x_real = [];x_real(1) = x_ini;
y_real = [];y_real(1) = y_ini;
error_x = zeros(1,N);
error_y = zeros(1,N);
for i = 2:N
x_ini = x_real(end);
y_ini = y_real(end);
[x_real1,y_real1,error_x1,error_y1] = calculate(x_pos(i),y_pos(i), x_ini, y_ini);
error_x(i) = error_x1;
error_y(i) = error_y1;
x_real = [x_real x_real1];
y_real = [y_real y_real1];
end
time = 1:N;
figure,plot(x_pos,y_pos,'r',x_real,y_real,'*b','linewidth',2);
xlabel('x');ylabel('y');
grid on;axis([-50,350,-50,550])
legend('實際位置','位置跟蹤');
figure;plot(time,error_x,'r',time,error_y,'b','linewidth',2);
xlabel('time(s)');ylabel('error');
grid on
title('X,Y跟蹤誤差')
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yM0YDNyMWY0IDOjFWM4YjZyYzXwAzNzADMzEzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)