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

PID算法的经典学习资料吗?大佬们

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
PID算法的经典学习资料吗?大佬们
6 ^8 x# d. a. D. \/ {) I1 m非常感谢
1 L- c- u0 A: F$ d1 Y
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
    发表于 2020-5-22 13:09 | 只看该作者
    PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整P、I、D的大小。
    0 U0 i/ C5 f4 q书上的常用口诀:8 ?0 }. Q0 j7 ^* d% f7 j3 Y
    参数整定找最佳,从小到大顺序查;
    " q6 E+ M0 U$ d3 f4 k先是比例后积分,最后再把微分加;4 O# ~5 M2 g* S: M4 d0 ~
    曲线振荡很频繁,比例度盘要放大;
    : ~" d2 M; P/ L曲线漂浮绕大湾,比例度盘往小扳;" D( ?  f  d$ g( J# a) \, x9 M! W
    曲线偏离回复慢,积分时间往下降;
    4 t* _# @6 G' ~1 r9 c曲线波动周期长,积分时间再加长;3 o5 {) ~) Y# E( A" s
    曲线振荡频率快,先把微分降下来;
    % `( ?# T7 C0 h# B! a* l动差大来波动慢。微分时间应加长;0 d: J4 {# _( z6 P# y
    理想曲线两个波,前高后低4比1;
    # W7 t7 [1 S; Q. z% K1 n. t8 l一看二调多分析,调节质量不会低。$ [; g$ j0 u5 l, e2 @3 R: t
    个人认为PID参数的设置的大小,一方面是要根据控制对象的具体情况而定;另一方面是经验。P是解决幅值震荡,P大了会出现幅值震荡的幅度大,但震荡频率小,系统达到稳定时间长;I是解决动作响应的速度快慢的,I大了响应速度慢,反之则快;D是消除静态误差的,一般D设置都比较小,而且对系统影响比较小。

    该用户从未签到

    2#
    发表于 2020-5-22 11:14 | 只看该作者
    以茶水桶放水为例,水桶下方有孔可供人接水用;水桶上方有水龙头,可以注水补充水。
    ! L1 l* P/ p8 b/ X你:控制水龙头的放水量,目标是将水桶里的水位保持在某一位置上。下方放水你控制不了。
      L, s8 D9 w" h- J* R于是你在水桶上画一条线A!A就是在控制的目标。) d9 U4 b# b& _
    1、如果水太少了,你会将龙头开到最大。8 {- Q$ R1 a$ a  ]. w& M) `) c- p; U9 r4 Z5 f
    2、如果水太多了,你会将龙头关闭。
      g# \+ }& ]2 L0 w  O6 f( {3、如果水位接近A:1 x* v, W2 g4 ^! e9 f
    3.1、稍低一点:你会将水龙头再拧大一点点;
    * s. ~$ p8 M& u3.2、稍过一点:你会将水龙头再拧小一点;* p$ ]$ R" p6 }6 [" G
    3.3、刚好在A线:说明进水与出水一样,你会保持水龙不动;
    4 K& g* q; A3 A! g& o. J+ r这就是控制原理。如何用PID来做这件事呢?! W1 p" z7 j' e6 z2 n5 t  z
    PID的计算结果,就是你的手所拧的水龙开度。就叫它 U 吧。
    3 Q; p+ c) m" V: ^" _" [2 `6 y5 j当前的水位,就你眼睛看到的水位,就叫 B 吧。
    6 f: s3 J9 v  V4 [" V' @5 Q你会时刻关注比较水位B,看它们差多少,当然就是:B-A。令Δ=B-A。, C, Y4 Q9 S( ^# d! P9 p
    开度U有两个要点,其一是大小就是拧多少;其二是方向,就是拧紧还是拧松。
    # v# |- a. `& {" _# BU的大小当然是根据Δ来定才合理,方向当然是反向才对。 所以:让U=-Kp*Δ,-Kp就是比例(对应PID中的P),相当于把误差放大后,再决定U的开度。
    # m5 O6 @7 P6 J5 R  v$ P但是,这个算法有个缺点,就是当B接近目标A的时候。比如A=B了,这时Δ=0,U=-Kp*Δ=0,即水龙开度=0,关掉了。6 ~5 R% l: a: ^$ d; F
    你想啊,下面在放水,水位现在正好B=A,但水龙头一关,下一刻,水一定就少了,明显是不合理的。
    ' r" X6 D/ t6 q2 k+ m" l2 i只有K的控制系统叫比例控制系统,比例控制系统是有差控制系统,当系统A=B时控制就失灵了。它的最佳控制效果只能达到目标值的1/Kp,永远做不到A=B。" I* x9 N* o4 a% g  ]& _/ n

    / Q% J) D, C% L. }- L/ V于是做了一个改进:
    1 a- h" Z* D7 I0 `& p; a9 ^将每次水位差Δ,做一个积累,并将积累的值也用来控制水龙头,当然也是要反向的,于是:
    $ E4 y& n, C/ K/ h) cU = -Kp*Δ -Ki*(Δ+Δ1+Δ2+Δ3+……Δn)这里Δ是本次差,Δ1是上次差,Δ2是上上次差,……,Δn是很久以前的差,Ki是将积累乘个比例。" M' S/ w" K) q. Y5 }
    这样做有个好处,就是当A=B是,U不是0,而是以前的差值积累Ki*(Δ+Δ1+Δ2+Δ3+……Δn),而且本次Δ=0,说明,本次计算结果与上次一样,就是说当A=B时水龙头保持当前开度不变。
    3 ?7 `$ i. L4 a* M' T' E; k3 F这个Δ的积累就是PID中的I。PD(比例+积分)的控制系统是可以做到B=的,即控制到无差输出。, O) e; h5 L) ?: T
    + {9 `0 R7 j: }
    到此:说了PID中的PI,D又是什么呢?还要从U = -kΔ -(Δ+Δ1+Δ2+Δ3+……Δn)的缺点说起。就是达成控制目标的速度。
    ) a# J8 A- y0 C( i最佳最快的控制过程一定是:4 H% `5 a5 ?. R* D' o7 f7 O7 w: V
    1、开始水龙头开到最大。
    ( \3 V! [- f0 Q4 c2、当B=A是立即拧到某一个开度,这个开度能保证注水和放水速度一样。, P4 P2 f; X+ O* F: h
    不过,即使人来控制,第2、也做不到。0 f! |( k- d- P7 V7 u* [3 e
    首先:注水和放水速度一样时的开度是多少?你不知道,要试。( A( m, S3 c0 K* O, Y7 x' w, P  o8 H
    其次:从开度最大,到正好,需要时间,不可能立即。也就是说要提前开始拧紧水龙头,当A=B时拧到正好的位置上。
    $ b5 A  h4 @! g. C其实最佳的控制不一定是PID,而是能做到第2、的方法。; m% W! Z0 A7 s! A5 {+ v7 z3 q$ L
    但PID中的I,就是根据达成目标的变化趋势,将U作个调整,使达成目标的速度加快。6 F+ S7 c! y% h
    U = -kΔ -(Δ+Δ1+Δ2+Δ3+……Δn)- (Δ-Δ1)*Ki/ m4 W& u& K4 ~! p3 w* ~
    这里:(Δ-Δ1)是本次变化量 - 上次变化量,这就相当于“加速度”是个变化均势,以变化量的变化趋势为基础*Ki,再修正U。
    ' I7 z" N3 k& {6 z(Δ-Δ1)*Ki就是PID中的D,这个值可以这样理解,如果Δ越来越稳定时,修正量就越来越少。
    2 D9 |+ R2 ]8 Z1 M1 l- Q什么是稳定呢,比如放水量与注水量始终不变,其差不变,就是稳定了,可以不补了。
    6 h. h0 T' M: E3 H% s, A) JI是最不易理解的,知道它可以提升控制速度也就可以了。) b: y5 r3 B, l

    2 s) z6 P; @  ~, `PID中的三个控制量,必须精细分配各个分量的大小。否则会控制失败。+ _8 r7 m2 W- B1 M% b2 c
    例如:水位快到了,龙头开大了,过了!过了关小,关多了,水位又低了,低了又开大小,又过了,来回折腾,就是做不到A=B。+ `' ?, A* ?1 {; L

    + o( C' M. D9 o* ~3 E$ B+ JP大速度快,稳定性差,超调大(调过头了)。5 ~6 i5 y, `5 F9 ~; f3 ]
    I大速度快,稳定性差。1 a1 X$ g7 J" k) `
    D大速度慢,稳定性好。
    4 F" e1 Q5 l( e7 S) LPID控制是一门不太好掌握技术。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-22 08:50 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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