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

PID算法

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于离散PID的大量程序中的P,I,D,参数初始值不明白怎么来的。求助大神!: q) W6 f7 a/ S1 U% F6 G- H  r# a
clear all;# R3 l% N) v; J3 y
close all;! S/ n1 m1 A% S6 t! O
ts=0.001;
* W$ u6 C; r) E/ f' G: jsys=tf(400,[1,50,0]);
- J5 r5 O' J# l8 Adsys=c2d(sys,ts,'z');
* h! d5 ~$ g5 h0 |0 F$ U[num,den]=tfdata(dsys,'v');3 d) U; Z6 r8 m6 h! \) Q8 g
u_1=0.0;u_2=0.0;u_3=0.0;
- h3 N; S  ^3 S; g1 h4 ~* N6 W. uy_1=0;y_2=0;y_3=0;
) L! |' C# m  a/ Ix=[0,0,0]';
3 S( x7 P" F2 x5 j) C% X+ k( u1 Verror_1=0;
5 R- {0 m" W7 M: N! |error_2=0;! y0 b$ U, H2 f, E9 v0 X) i
for k=1:1:1000- }4 l3 c, ^5 {* `4 C1 R
   time(k)=k*ts;
/ h" U0 B1 Y- Z& j2 f   
- Y3 @, u3 V  L3 |& F  R   yd(k)=1.0;6 Z4 i( C/ p# f; \# m
   kp=8;5 Q+ U: Z8 D* D0 x4 _- I
   ki=0.10;(请问这三个参数的初始值怎么确定的)( F5 h1 [) O. |: ]+ l% A
   kd=10;
# I8 ?  \  ^5 p+ i' {   
" J) e" N: G  J) T8 L  y' q   du(k)=kp*x(1)+kd*x(2)+ki*x(3);
. l# J8 Z0 P1 G- x$ r+ E' [# u   u(k)=u_1+du(k);
% y4 x6 h: @, U7 ?/ D/ }   if u(k)>=10
7 \" m: G! z3 X. k. g' w      u(k)=10;
/ S  e0 a4 ?' W' g) K" m  V1 \   end
* j: U* F( S: |9 E3 ~3 o   if u(k)<=-10
/ O) m- `/ x- }8 c: a" x      u(k)=-10;
4 K* C* c( u5 n9 x8 C6 C   end   
+ }8 z" b8 z3 e0 J4 L; P) P9 R   y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
. Y6 O1 k+ i3 Q, I9 H1 l9 H4 l& `   - Q2 r+ H+ i5 H* V( e5 t9 M5 a' K
   error=yd(k)-y(k);0 t2 ?' n* K& p: w8 y/ H
   u_3=u_2;u_2=u_1;u_1=u(k);
1 ~* s+ Q' x: ]( t) ]3 C   y_3=y_2;y_2=y_1;y_1=y(k);
0 J) i3 }- Z9 m$ u- j   2 D1 G; J- ^% d( W) Z
   x(1)=error-error_1;             %Calculating P9 G6 ]7 T$ u) q9 b
   x(2)=error-2*error_1+error_2;   %Calculating D
. w- y5 D% W' p/ J0 q; j8 ]6 N   x(3)=error;                     %Calculating I
5 O% {/ r9 r/ l4 s# u+ N- |   
* H/ t/ h+ ^) e. Z* x  p   error_2=error_1;  c4 W# @5 j! O
   error_1=error;
" N7 g: C9 ?  M, q: q3 x4 E5 E. Zend
9 t: B& G, p2 Dfigure(1);
" L) q, U( _6 w; j+ I5 bplot(time,yd,'r',time,y,'k:','linewidth',2);
& s$ A& H% |& nxlabel('time(s)');ylabel('yd,y');. `& W2 w, {0 C+ A; u
legend('Ideal position signal','Position tracking'): n/ J* c8 `! w2 W1 ]

该用户从未签到

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 11:34 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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