EDA365电子论坛网
标题:
PID算法
[打印本页]
作者:
pTDbn25
时间:
2020-9-22 14:05
标题:
PID算法
关于离散PID的大量程序中的P,I,D,参数初始值不明白怎么来的。求助大神!
3 R" t) c- d" h: [
clear all;
" Z% [; Y) j5 {: d) v
close all;
, c q Z% V% |4 H. y
ts=0.001;
/ F, o _* V# m1 {
sys=tf(400,[1,50,0]);
+ o# ?8 R5 U9 L4 w7 T# G( O
dsys=c2d(sys,ts,'z');
% a7 c/ x2 _1 M1 r# `0 g
[num,den]=tfdata(dsys,'v');
1 b1 `7 T' X( t, q% @+ X; Y9 W
u_1=0.0;u_2=0.0;u_3=0.0;
N3 V. m" F5 u# d# `- a: X
y_1=0;y_2=0;y_3=0;
9 C3 H! h1 @! G+ B- K
x=[0,0,0]';
$ O4 N' D$ s, Z6 ^7 u6 |, e; N
error_1=0;
& w' a9 z; K- f4 R- L' I" I
error_2=0;
% r, U' q$ C1 M- e7 R6 n# Z
for k=1:1:1000
; ?" h* I0 o, s2 e/ u4 u
time(k)=k*ts;
% P* r* d4 h; m
1 f7 H5 ?2 d( L
yd(k)=1.0;
( J# b( R& L @3 j1 D: p
kp=8;
! F5 g- N" E6 z8 V
ki=0.10;(请问这三个参数的初始值怎么确定的)
' P/ m# P' N& t
kd=10;
' \# v9 l" R$ S \0 ], o
( q/ t) B6 D% m4 k0 w h5 B
du(k)=kp*x(1)+kd*x(2)+ki*x(3);
: A& [" `' x2 z6 H4 E% S
u(k)=u_1+du(k);
( \0 \2 _! E1 F" h. m- j, {& T2 \
if u(k)>=10
' I9 \8 l: G) z: p, R
u(k)=10;
0 j7 B: \7 {0 a3 b4 w5 Y
end
+ C% z2 `# y) F' f
if u(k)<=-10
2 j- z' G' t3 h! _0 v
u(k)=-10;
/ H; \9 s* l; I* @$ x- s! f, ?
end
e- b/ F' H/ R3 A- X3 y7 _
y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
# u8 N/ K$ D$ ?( n2 H
1 I! v. I# J8 V
error=yd(k)-y(k);
/ t9 \5 ?- x0 G9 O% `1 k
u_3=u_2;u_2=u_1;u_1=u(k);
* ]- n' f" X, b- k6 d
y_3=y_2;y_2=y_1;y_1=y(k);
( |/ p# i. F! y: X, L2 H8 a
9 h6 x. W8 ]# p) O8 F
x(1)=error-error_1; %Calculating P
- O! W! ~; H3 N6 E3 Q1 L
x(2)=error-2*error_1+error_2; %Calculating D
( n O) ~2 m% }- J o; t
x(3)=error; %Calculating I
$ u+ S! y% i- p* _
! {% t& {+ e* B& {( F$ a
error_2=error_1;
/ D- C# ^; ^ Y
error_1=error;
6 \* x; S2 J7 B4 V; A
end
* R! O* U6 h2 ]4 r
figure(1);
{: L+ |2 I- c* {; B
plot(time,yd,'r',time,y,'k:','linewidth',2);
$ [& s3 \; X- X- E$ R% z# v* [ V
xlabel('time(s)');ylabel('yd,y');
- K* V8 e' ^3 V2 w0 A% Z$ ^6 i8 e
legend('Ideal position signal','Position tracking')
5 l9 f& b6 n5 ^3 u) f4 S, t3 \
作者:
zzz.dan
时间:
2020-9-22 14:29
根据经验确定,然后再根据实际图像进行调整
作者:
IBB-EUT
时间:
2020-9-22 14:39
我一般都是再试
作者:
zaiyiaaaa
时间:
2020-9-22 14:50
这个很难说,就是经验
作者:
Uifhjvv
时间:
2020-9-22 16:51
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2