|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PID算法控制( _6 K1 f( m' e T% r
从网上找的PID讲解, 感觉还不错,是基于电机的PID 控制讲的:
, {7 Q1 ] }! A6 fPID算法原理及调整规律1 y: g3 k5 p6 `. M/ F
-、 PID算法简介
4 a/ ?0 e5 I4 f$ @3 O9 j& g首先必须明确PID 算法是基于反馈的。, \/ s# {/ @4 t6 B4 ~8 J
一般情况下, 这个反馈就是速度传感器返回给单片机' m1 W/ z! Y8 R5 W
当前电机的转速。简单的说,就是用这个反馈跟预设值进行比较,
+ R* V) V( ^! [; a- C5 ?6 T; ^" q' E如果转速偏大,就减小电 a |5 y3 q6 u
机两端的电压:相反,则增加电机两端的电压。
; B- L& T& o9 ~2 w顾名思义,P指是比例( Proporion ),I指是积分( Integral ), D指微分( ifernial ).
3 ] u& N, p1 A& ^在电机调速系统中,输入信号为正,要求电机正转时,反馈信号也为正(1 a6 K4 N9 Q S+ h1 j
PID算法时,误差- r [. \: a4 L1 @8 w* I6 i+ ^3 {
=输入-反馈),同时电机转速越高,反馈信号越大.要想搞懂
/ P4 G2 b& l) h/ h+ I( I+ x2 UPID算法的原理,首先必须先
: \9 v7 e; y- T3 j! G明白RI.D 各自的含义及控制规律:
: V9 _6 }) s/ k2比例P:比例项部分其实就是对预设值和反馈值差值的发大倍数。举个例子,假如原来
) @% m6 _% l* D N: Q电机两端的电压为UO, 比例P为0.2,输入值是800, 而反馈值是1000, 那么输出到电机两
$ g: D8 T- t5 _% f端的电压应变为U0+0.2* ( 800-1000).从而达到了调节速度的目的。显然比例% M& M+ q2 }, \4 h1 [3 L
P越大时,电# g- P6 A4 H: r; N# u& {
机转速回归到输入值的速度将更快,及调节灵敏度就越高。3 a4 t& p& D0 _- Z0 y. R! _ M
从而,加大P值,可以减少从非8 D, S! n+ Y; D K" e
稳态到稳态的时间。但是同时 也可能造成电机转速在预设值附近振荡的情形,$ ^* i* Y. \; X- ^" [# q# _' |
所以又引入积
' z3 ?) H4 y. }) U! V/ N/ c- {# c' c分1解决此问题。.* S) L& x' n5 ^& t) @1 o
2积分 l: 顾名思义,积分项部分其实就是对预设值和反馈值之间的差值在时间上进行累
+ \ C, o& Z8 ^: u加。当差值不是很大时,
3 C0 c6 R2 `% X( E$ ^: s* N为了不引起振荡。可以先让电机按原转速继续运行。当时要将这个
" g0 p f) ^( j5 g差值用积分项累加。当这个和 累加到- -定值时,
+ ]( |" o T% U8 c! \) r; g1 K! \再一次性进行处理。从而避免 了振荡现象的
, _! I- j5 ]3 I发生。可见,积分项的调节存在明显的滞后。而且., C' H* o# _! F$ Q0 u; ]2 ~
I值越大,滞后效果越明显。
g- x+ E: u7 n# k# h' `2微分 D:微分项部分其实就是求电机转速的变化率。也就是前后两次差值的差而已.也
- B2 E6 w2 r) w- P就是说,微分项是 根据差值变化的速率,
0 v- y- C* q F5 z. f9 s/ U4 d; ?0 j提前给出- -个相应的调节动作。2 r9 ?- ~4 d2 a% r4 N/ b4 b' [# q
可见微分项的调节
/ a6 E* L" V5 r# r, A% }. s) m% t# o是超前的。并且D 值越大,超前作用越明显。可以在一定程度上缓冲振荡。比例项的作用; ?% d1 v( X2 }8 ]7 q
仅是放大误差的幅值,而目前需要增加的是“微分项”, 它能预测误差变化的趋势,这样,4 }/ o+ |4 d& b6 m5 ~: y
具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避8 M/ k, X8 h, `; ^
免了被控量的严重超调。( h, h4 ^' i* I7 r0 d
二、参数调整一般规则, S; ?* S* c T y; y1 |4 v6 x
由各个参数的控制规律可知,比例
7 q) @ _* L- c8 y3 _0 w% R2 [$ TP使反应变快,微分D 使反应提前,积分1 使反应滞后。: k6 _8 C8 L: z8 Y( I
在一-定范围内,P, D值越大,调节的效果越好。各个参数的调节原则如下:
/ o) G, ]# O/ M) j) \1 `5 tPID调试一般原则
$ F U& P3 g1 ~* [( E4 E在输出不振荡时,增大比例增盛; M- K: i5 S$ H1 n1 H" r; k0 @
在输出不振荡时,减小积分时间常数
: M. h& g. c3 A# ], b) H. wTi.
( w0 [6 c+ w$ x% l输出不振荡时,增大微分时间常数 G; M( K8 p }8 `) e9 H) ~% O
Td.
) K6 o, T. e G
+ \# n+ A) Q+ p
( \) ]/ D1 v6 I {, n |
|