找回密码
 注册
关于网站域名变更的通知
查看: 486|回复: 4
打印 上一主题 下一主题

PID算法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-22 14:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
关于离散PID的大量程序中的P,I,D,参数初始值不明白怎么来的。求助大神!
7 {$ R) M: F5 lclear all;
  _, S; l% N& G( |3 b/ |' Fclose all;
9 c# P+ l$ [8 }  G" a2 mts=0.001;
" ?5 y7 q; a: {$ B- Rsys=tf(400,[1,50,0]);7 l& [: q7 r) \% j* B
dsys=c2d(sys,ts,'z');; C1 j( e$ _/ i  i2 h9 _* X
[num,den]=tfdata(dsys,'v');
8 U( u1 s0 H$ |/ ~$ j9 {5 Vu_1=0.0;u_2=0.0;u_3=0.0;
6 l0 L+ I6 u7 g# @8 B! Ry_1=0;y_2=0;y_3=0;6 k1 L& i3 {( l7 o5 v/ G7 m. ~0 M
x=[0,0,0]';
0 s# |8 e! S' I# N( ?- c  Verror_1=0;
: b6 t' f9 P# _error_2=0;2 N* a2 ?0 Z$ ^8 H% g1 k- p7 h
for k=1:1:1000
! o: f/ y5 v2 G* {   time(k)=k*ts;- T3 z4 N3 D; r% }. Y# D
   
1 I/ ~* {; _' y! O   yd(k)=1.0;
% S4 |, Z# X6 S: P5 g   kp=8;$ o5 R# D& n9 Q& D# e: y
   ki=0.10;(请问这三个参数的初始值怎么确定的)
0 ?/ n6 T; r0 `, R: Z4 [, M6 H   kd=10;
+ E& I: ]6 P$ z& o6 ]& E   4 f4 W+ o# d, e4 w/ M, \
   du(k)=kp*x(1)+kd*x(2)+ki*x(3);
: m/ a3 O; E9 M" E, A% h3 }   u(k)=u_1+du(k);, |. p0 r! w" ^
   if u(k)>=10
& z/ B+ G7 E6 l# M      u(k)=10;
; ~( P( u0 J, N" `   end# {( k; ]9 @* {, Y' t
   if u(k)<=-108 x7 j3 @+ J( T+ I5 m
      u(k)=-10;- E8 i9 o# Q# I  a1 Y
   end   
; Z/ I6 y, q' Q" L) O& R   y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;! x! H( L4 }) C' V
   - Q3 V2 ~) x6 i% K
   error=yd(k)-y(k);* j  D( N- o( C
   u_3=u_2;u_2=u_1;u_1=u(k);
# Y% S) B- w' I+ y+ _: J2 O9 H   y_3=y_2;y_2=y_1;y_1=y(k);
/ z1 X# g0 S5 h5 ?% R% s   ) @. n' n2 I1 @( C' M; P
   x(1)=error-error_1;             %Calculating P6 R/ C1 D0 i6 K4 Z
   x(2)=error-2*error_1+error_2;   %Calculating D
6 ]1 n2 d8 c5 \3 \# C   x(3)=error;                     %Calculating I
. z  y+ X7 a5 q- G6 m% T0 I( R   2 Y% V  M: o$ h  V  E( U! L
   error_2=error_1;0 b/ A3 j1 @* q" h  G
   error_1=error;, G0 z+ U4 {7 c
end, E* m6 i+ \! j' c8 f6 U$ w# }
figure(1);1 ~, o; w0 f* K6 q, q6 X* D
plot(time,yd,'r',time,y,'k:','linewidth',2);( Y, g( `$ Y6 ?+ F
xlabel('time(s)');ylabel('yd,y');
; z  x4 K, Z; E2 B: c1 tlegend('Ideal position signal','Position tracking')5 ]) |, r& A& p. p" ~+ t

该用户从未签到

2#
发表于 2020-9-22 14:29 | 只看该作者
根据经验确定,然后再根据实际图像进行调整

该用户从未签到

3#
发表于 2020-9-22 14:39 | 只看该作者
我一般都是再试

该用户从未签到

4#
发表于 2020-9-22 14:50 | 只看该作者
这个很难说,就是经验
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 13:19 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表