百年孤独 发表于 2016-3-7 16:04

【simulink进阶必备基础知识】——PID通俗教程、5

下面为积分的专业的解释
http://imgsrc.baidu.com/forum/w%3D580/sign=6a245d18b2fb43161a1f7a7210a54642/794995cad1c8a7869e5e77dd6709c93d71cf5046.jpg
http://imgsrc.baidu.com/forum/w%3D580/sign=bacce1b3352ac65c6705667bcbf3b21d/cb7dd40735fae6cdfbc296b20fb30f2443a70f40.jpg
http://imgsrc.baidu.com/forum/w%3D580/sign=961e07500f2442a7ae0efdade142ad95/396e0cd7912397dda90ba5d75982b2b7d1a2874c.jpg
微分用差分代替,先说明一下微分的几何意义
http://imgsrc.baidu.com/forum/w%3D580/sign=9aac4ef3b912c8fcb4f3f6c5cc0292b4/50658744ebf81a4cb928d01ad72a6059242da6a5.jpg

我们可以想象把上图中的f(x)换成e(t),x轴换成t轴,把△x换成△t,当△t非常小的时候曲线MN等价于直线MN,△y就等于dy,所以
http://imgsrc.baidu.com/forum/w%3D580/sign=23e5ca2dc3fdfc03e578e3b0e43e87a9/461a510fd9f9d72a8b402cced42a2834359bbb97.jpg

可以用Td*/ △t,同样△t就是采样时间~越小越好。


这个我也用大白话来解释一下:实际上,matlab看上去也并非“很懂”微分的样子http://static.tieba.baidu.com/tb/editor/images/jd/j_0012.gif,在我们眼里,微分实际上就是求导的计算过程:指数函数降幂、自然对数函数取倒数等等,但是matlab貌似很嚣张的样子,只用一种方法求导,就是/△t,然后让y(t-1)趋向于y(t),直到求出最后的导数(一阶导数的情况下,就是我们比较直观的切线斜率了),这就是为什么求导用的函数是diff,而差分方程也会用到diff
http://imgsrc.baidu.com/forum/w%3D580/sign=097d41b70923dd542173a760e108b3df/5e5e7bf40ad162d930bd5fcf11dfa9ec8b13cd6c.jpg
由楼上的计算思路进行推导,模拟PID离散化得到在k-1时刻的输出
http://imgsrc.baidu.com/forum/w%3D580/sign=29494bd7970a304e5222a0f2e1c9a7c3/eead43166d224f4af4f24cc009f790529922d154.jpg

因此得到一个增量
http://imgsrc.baidu.com/forum/w%3D580/sign=115998a6d688d43ff0a991fa4d1fd2aa/8b7c6059252dd42ac56e3e78033b5bb5c8eab850.jpg

其中的T为采样时间
如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,就可以绘制出PID的控制曲线y(系数的选取是PID的关键这里不做讨论

页: [1]
查看完整版本: 【simulink进阶必备基础知识】——PID通俗教程、5