|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PID算法控制
y* N, @$ V' O' Z+ g9 A. J从网上找的PID讲解, 感觉还不错,是基于电机的PID 控制讲的:
; H( v$ m7 U+ A2 [) S9 vPID算法原理及调整规律
5 b. i7 K2 Y& v( N, G+ N-、 PID算法简介. C- ~* z% L" b' K; r; O( ]
首先必须明确PID 算法是基于反馈的。7 W# ~/ m6 h% r% g) r- V# C
一般情况下, 这个反馈就是速度传感器返回给单片机
' ^) U2 ~5 N3 b( A9 \& v当前电机的转速。简单的说,就是用这个反馈跟预设值进行比较,, `2 ~0 G/ p9 Z5 Y+ O
如果转速偏大,就减小电
* Z; I8 D0 b: O0 c6 w" i机两端的电压:相反,则增加电机两端的电压。
y) M2 {. W3 I2 }$ T, m& ^) X8 g顾名思义,P指是比例( Proporion ),I指是积分( Integral ), D指微分( ifernial ).
/ h3 ~. h$ @( x在电机调速系统中,输入信号为正,要求电机正转时,反馈信号也为正(# Z1 y! K. D0 d
PID算法时,误差2 J3 ]3 S! m+ k, t# \" p
=输入-反馈),同时电机转速越高,反馈信号越大.要想搞懂
0 [) e0 q8 T& u+ lPID算法的原理,首先必须先" w2 _/ F& w7 c6 A( m1 @* t
明白RI.D 各自的含义及控制规律:3 t$ G# H- o2 T- W( @9 h
2比例P:比例项部分其实就是对预设值和反馈值差值的发大倍数。举个例子,假如原来: @) l3 Y2 E" l: D0 r% M2 t
电机两端的电压为UO, 比例P为0.2,输入值是800, 而反馈值是1000, 那么输出到电机两/ {' ~5 b p5 o* h+ f* @
端的电压应变为U0+0.2* ( 800-1000).从而达到了调节速度的目的。显然比例
1 s& V/ U3 @5 C5 n; g: CP越大时,电 _* F, k z7 I4 A ]) \) d2 F3 u
机转速回归到输入值的速度将更快,及调节灵敏度就越高。0 m2 _; E* P5 c% m
从而,加大P值,可以减少从非* I) E: j: ~2 y F
稳态到稳态的时间。但是同时 也可能造成电机转速在预设值附近振荡的情形, E/ t8 n& b5 M: ~
所以又引入积6 h. A4 Q. _, A$ V! P# V
分1解决此问题。.
( k1 v& x" M1 L8 |7 V+ ?' h# B2积分 l: 顾名思义,积分项部分其实就是对预设值和反馈值之间的差值在时间上进行累- @, o$ W4 u/ e: Y6 D# H6 d& w
加。当差值不是很大时,$ \+ ]" L$ Q2 `
为了不引起振荡。可以先让电机按原转速继续运行。当时要将这个- T( l8 M; l: s
差值用积分项累加。当这个和 累加到- -定值时,
8 v* `5 z; y- j# X4 r; @ }# H) Y再一次性进行处理。从而避免 了振荡现象的7 @" a: S6 U- ]
发生。可见,积分项的调节存在明显的滞后。而且.
- u4 Y+ {8 U1 G6 u rI值越大,滞后效果越明显。/ ]: k* c/ f D. F1 k
2微分 D:微分项部分其实就是求电机转速的变化率。也就是前后两次差值的差而已.也) B0 s9 b# @- q; Y& g v5 M
就是说,微分项是 根据差值变化的速率,
$ D- |' t/ d9 ?+ y0 _提前给出- -个相应的调节动作。6 U7 x6 n' Z5 \9 I" y9 A6 N n
可见微分项的调节. M$ _! T2 H; i6 B
是超前的。并且D 值越大,超前作用越明显。可以在一定程度上缓冲振荡。比例项的作用8 F' G& v; t$ I
仅是放大误差的幅值,而目前需要增加的是“微分项”, 它能预测误差变化的趋势,这样,
3 s5 d) ^+ t. ]# z5 m具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避
* @( Q1 o% X- \1 |免了被控量的严重超调。
6 O8 U8 \3 j) M- ^% |2 v) [二、参数调整一般规则) b! |* U* r9 F \: B' p) o$ _
由各个参数的控制规律可知,比例. d. I7 f, H; j0 ?: E/ N+ Q
P使反应变快,微分D 使反应提前,积分1 使反应滞后。6 N' W0 P( K; T* Z! f0 z$ C
在一-定范围内,P, D值越大,调节的效果越好。各个参数的调节原则如下:
( a0 p# D9 U* U0 N$ c EPID调试一般原则. D5 B- x: Y& g5 |) n( K& X
在输出不振荡时,增大比例增盛
9 w! }1 ]& B7 Z& m7 S在输出不振荡时,减小积分时间常数1 e: v$ o' j7 P
Ti.
- ^! ]% ^; k) s" L1 v. x2 _输出不振荡时,增大微分时间常数
: p( M: F5 m! d# Z- T7 wTd.3 K: C1 e* @% g# {/ E: s
& m8 G! f3 O! w# V; C. w
) B: v+ u' O7 u6 x7 ? |
|