|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PID算法控制
0 p- @ m3 O7 _! H) m" |从网上找的PID讲解, 感觉还不错,是基于电机的PID 控制讲的:
3 s. H7 W. [* V7 C5 m# ?/ NPID算法原理及调整规律& F/ v3 E4 a- w# X0 g
-、 PID算法简介
! E- }9 H$ T/ {5 S& R6 T首先必须明确PID 算法是基于反馈的。
Y( k2 l2 R0 H. S! m6 l一般情况下, 这个反馈就是速度传感器返回给单片机
1 N+ t4 o. ]) A, W# S当前电机的转速。简单的说,就是用这个反馈跟预设值进行比较,
. M) C k- g: x2 e0 O* [+ M& h( p* O如果转速偏大,就减小电
T/ K( `# C. j1 u) N, z4 G机两端的电压:相反,则增加电机两端的电压。
" C5 Y: J* s0 x2 r顾名思义,P指是比例( Proporion ),I指是积分( Integral ), D指微分( ifernial ).3 b4 ]: O6 y" S4 M7 q: x- L* p
在电机调速系统中,输入信号为正,要求电机正转时,反馈信号也为正(
0 v7 \. G1 R& K9 \* m' SPID算法时,误差5 c0 J4 _& T6 i8 n- {1 ?
=输入-反馈),同时电机转速越高,反馈信号越大.要想搞懂6 d' C* w- W% I' Q( b8 t
PID算法的原理,首先必须先7 d# Y8 Z+ @# W7 a& r3 j& [
明白RI.D 各自的含义及控制规律:
# G' h4 I. S+ m8 N6 V2比例P:比例项部分其实就是对预设值和反馈值差值的发大倍数。举个例子,假如原来
2 e9 q6 r e8 U+ b! O: n' R电机两端的电压为UO, 比例P为0.2,输入值是800, 而反馈值是1000, 那么输出到电机两
) O/ S: O) u+ E S7 |* s: i, r端的电压应变为U0+0.2* ( 800-1000).从而达到了调节速度的目的。显然比例
& n, |( K- R' s$ XP越大时,电
5 x0 Z3 U' z& L! q机转速回归到输入值的速度将更快,及调节灵敏度就越高。4 ~8 L! {" s- i, k( x
从而,加大P值,可以减少从非
! v- @$ _8 y6 O稳态到稳态的时间。但是同时 也可能造成电机转速在预设值附近振荡的情形,+ M$ S' |) b0 H3 J1 K0 i
所以又引入积
! I, A% p. U0 o# v5 Y! E+ F分1解决此问题。.
S+ _- `7 W G, r& g! `8 F2积分 l: 顾名思义,积分项部分其实就是对预设值和反馈值之间的差值在时间上进行累
: x; M. M6 H$ ?" L; x) X+ z1 x加。当差值不是很大时,. r! \8 a* _- C" w5 Y0 n! V
为了不引起振荡。可以先让电机按原转速继续运行。当时要将这个& H- q) V1 c8 J) U
差值用积分项累加。当这个和 累加到- -定值时,
- f* G0 M O2 p& Y; Q$ ?1 z再一次性进行处理。从而避免 了振荡现象的
" A/ H. Q, |% c/ m$ j. {发生。可见,积分项的调节存在明显的滞后。而且.1 Y, K. q9 Z5 P* w5 S6 E' ~
I值越大,滞后效果越明显。
- _7 i' ?( D( y- C$ h z# M2微分 D:微分项部分其实就是求电机转速的变化率。也就是前后两次差值的差而已.也- T: U& y2 k$ a( T0 \* V
就是说,微分项是 根据差值变化的速率,4 \. t4 K5 H6 p$ c. v" E
提前给出- -个相应的调节动作。% q8 O1 r- Y% \# F) c9 V6 p
可见微分项的调节
' ^' d5 U3 U: z7 y) T是超前的。并且D 值越大,超前作用越明显。可以在一定程度上缓冲振荡。比例项的作用: k1 R( [( L7 g0 \' _, g
仅是放大误差的幅值,而目前需要增加的是“微分项”, 它能预测误差变化的趋势,这样,
. i6 Q% T' ]5 U$ U具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避; k: `8 S H* o, `
免了被控量的严重超调。
: ?+ \" a* h V9 o二、参数调整一般规则
0 ~0 [& R- x0 B+ f; A' o- t由各个参数的控制规律可知,比例
" R/ h( i" b* d( M7 r: E; n* ZP使反应变快,微分D 使反应提前,积分1 使反应滞后。
/ H3 L& l, R. y4 c1 S在一-定范围内,P, D值越大,调节的效果越好。各个参数的调节原则如下:% [! G: G3 Q* ]( I1 x; _! Z
PID调试一般原则' _. F9 B* Q- _" s, E' g
在输出不振荡时,增大比例增盛
$ O* a2 D- I4 c$ m- k" T. Y9 S7 E在输出不振荡时,减小积分时间常数
2 l1 p0 R, x/ ^6 y* A7 o4 F/ CTi.
7 @: [- Q% d# w" [输出不振荡时,增大微分时间常数
7 x4 s6 z( C4 q W/ G) U: v; zTd.
( W2 @. f8 E5 B* i. a4 G
/ S" P7 U( A; A8 D+ I
; O: O. M8 I& s$ w% y" D ~0 N |
|