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

PID算法

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于离散PID的大量程序中的P,I,D,参数初始值不明白怎么来的。求助大神!" l* o/ x  \0 X9 D, o
clear all;
1 e/ Y. Y, {' U* hclose all;
- _$ O3 w, d- I; N1 y$ Y3 Kts=0.001;7 ^' U* I" @; _# V2 A0 B, N
sys=tf(400,[1,50,0]);& d. f. }, X: |! o
dsys=c2d(sys,ts,'z');) m7 e7 C, R7 E0 k& K' u5 O
[num,den]=tfdata(dsys,'v');6 Z' i8 O, W. ~' a3 }1 V& r6 [& E9 R
u_1=0.0;u_2=0.0;u_3=0.0;1 y( Q: E: k0 O
y_1=0;y_2=0;y_3=0;# }. ]* x& y( u1 A/ j; c# e* g
x=[0,0,0]';) ^* `4 o6 C, f) m7 z# o
error_1=0;+ |* V* \! ?% W4 K. Q9 ~% h
error_2=0;
* J. i+ Q4 r6 e$ m. i% [for k=1:1:1000
5 F# `. Y% k5 ^( I& a) y   time(k)=k*ts;6 S) ~  i& `% P' a5 x
   
" F9 M' h2 C9 r- c6 J   yd(k)=1.0;
; [7 V; s4 W5 Y9 m: f5 h   kp=8;/ z/ }, y- b1 M# h
   ki=0.10;(请问这三个参数的初始值怎么确定的)0 F6 k2 |' i8 s' k1 E
   kd=10;
1 D" l' `0 L: O% [7 c3 E+ Z" g   
3 e1 p* q* K- }" R8 x3 u0 B4 u   du(k)=kp*x(1)+kd*x(2)+ki*x(3);7 z2 x( m6 J9 v; n* e: ]: y( D: Y
   u(k)=u_1+du(k);2 _' c$ {; P7 b6 t: h
   if u(k)>=10
( q% Z3 U7 P: `  z( X      u(k)=10;# n$ q: X+ L, B1 }& B- l( z
   end
1 `" ?6 e3 E% }   if u(k)<=-10
6 y5 m' S- ?) E      u(k)=-10;, G( T8 D( i" [1 T5 G) S) M
   end   
9 V3 w& `) m9 A3 w1 l   y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;6 ^( e5 Q6 k/ M+ E) v: E7 r* f
   
2 m; b; F4 p/ e9 q   error=yd(k)-y(k);3 D5 h! t9 W0 q
   u_3=u_2;u_2=u_1;u_1=u(k);
1 R+ F: }" _( e  b$ Q, h4 V9 e   y_3=y_2;y_2=y_1;y_1=y(k);* f$ u5 `. t1 }7 N* l2 [
   
# ]1 ^2 ?  z0 R- ]8 J, E- {   x(1)=error-error_1;             %Calculating P: t* o7 x4 c: @  R# h' t
   x(2)=error-2*error_1+error_2;   %Calculating D$ f% ]# @, b& }. x( M; K) S
   x(3)=error;                     %Calculating I
+ e- a# w8 L) F. r8 [4 G   ( L( M2 z" y" V1 D
   error_2=error_1;
7 y& g3 O* C: S+ P   error_1=error;
% j% Y7 P' m/ t$ ^# g# Fend
4 B( z$ u6 }0 \figure(1);5 g+ E" v1 G; {% h9 z
plot(time,yd,'r',time,y,'k:','linewidth',2);( M, G# r) N0 P, |. k' w5 _3 J
xlabel('time(s)');ylabel('yd,y');1 J5 O& X6 h' D5 N  Y* |1 P  C0 s
legend('Ideal position signal','Position tracking')
& x/ V+ Z6 m/ i% C

该用户从未签到

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-6 22:18 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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