|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 ?0 {9 Y5 Z& r
前言说明
+ C+ J3 j" [7 D9 D1 n$ k控制的方法远远不止PID这一招,在许多场合也未必是最佳的控制算法。对于学习能力较好的师弟也可以再去寻求一种更优秀的控制算法。PID的分类多如牛毛,例如:模糊PID、数字PID、神经元PID等等。另外,本文档是参考几十个PID相关文档资料整合而成。由于个人能力等原因,从策划、编辑、排版等花了一个多月的时间才完成此次PID算法的整合。
% W1 b: [) W ^3 s. b8 l8 j4 I为了更有针对性和有效性,本文档主要讲解数字PID 及其变种(改进式PID):位置式和增量式。以及这两种PID的C语言编程实现、参数的调整确定和PID控制的应用。+ q: O4 i& i5 U) |( J
我们为什么要用PID算法呢?原因很简单:
9 ?5 D L+ D+ d+ O8 d' g& n! _9 d其一,PID是一种比较成熟的控制算法,而且还有许多基于PID的变种算法(简称改进式PID)。
7 T' e! v9 u3 ?: s& W" u其二,资料多,学习难度降低,入门快。7 ]' V2 T8 {. I- T
其三,多届师兄实践过,感觉效果还不错!但每年资料成指数增长,从上届师兄那拷贝了好几G资料,讲PID控制的文档可以夸张的说跟天上的“星星”一样,看了之后眼花缭乱,而且有很多重复的。& [# D% g' b* |; t) H3 M# B+ p: Q
为了让更多人能快速上手使用PID控制算法,结合个人经验和相关文档将它浓缩如下:
: r* Q1 W) B( H% d9 {3 r2 L2 Q
6 x# x2 T, P! L一、什么是PID控制?: k0 d4 M" R+ X
由易到难、从简到繁、结合现实和理论带你入门PID算法。以下从两个方面进行介绍:1 i, M8 z& W( d5 ?
1.1用生活实例谈PID, 让你有个感性的认识:
: `8 N3 w5 o& d$ d% t" n4 V1)比方说桌子上放个物体,祥子像块金属,巴掌大小。你心里会觉得这个物体比较重,就用较大力量去拿,可是这个东西其实是海绵做的,外观被加工成了金属的样子。手一下子“拿空了”,打住了鼻子。这是怎么回事?比例作用太强了。导致你的大脑发出指令,让你的手输出较大的力矩,导致“过调”。% E$ J+ f5 j! w3 e% F ^/ @2 f/ R% b
2)还是那个桌子,还放着一块相同样子的东西,这一次你会用较小的力量去拿。可是东西纹丝不动。怎么回事?原来这个东西确确实实是钢铁做的。刚才你调整小了比例作用,导致比例作用过弱。导致你的大脑发出指令,命令你的手输出较小的力矩,导致“欠调”。.
& j; [6 T+ v: f+ p, d* z3)还是那个桌子,第三块东西样子跟前两块相同,这一次你一定会小心点了,开始力量比较小,感觉物体比较沉重了,再逐渐增加力量,最终顺利拿起这个东西。为什么顺利了呢?因为这时候你不仅使用了比例作用,还使用了积分作用,根据你使用的力量和物体重量之间的偏差,逐渐增加手的输出力量,直到拿起物品以后,你增加力量的趋势才得以停止。( Z* C* k0 a* d2 o/ J% {# j, z
这三个物品被拿起来的过程,就是一个很好的整定自动调节系统参数的过程。: j, x/ p) {$ `& e F3 o( a6 ?
3 [ o2 r7 `4 D' @8 o. V. G5 Z% H
" x) T& T" A0 R3 W8 e0 t
2 u$ h/ @$ Q) O: ^) \" m6 [" O! a3 Z% Y. a9 o
' Z8 y2 W0 F/ {& c! \8 o
1 V- `5 x$ X! Y/ p- W0 } |
|