技术论坛

 《聊聊“微分”功能及使用注意事项》

返回主题列表
作者 主题
yming
至圣

经验值:127300
发帖数:21998
精华帖:824
楼主    2023-12-05 13:48:44
主题:《聊聊“微分”功能及使用注意事项》 精华帖 

关于使用PID调制大惯量、高迟滞系统时,加入微分项(D)要注意的问题。

首先,我们来认识一下“微分”。

在数字计算中,这里的“微分” 实际上是差分,在采样周期 dT两点的差值。

Xt - X t-1,本质上就是 变量  X 的变化量。

监控变化量,在自动控制中非常重要。特点:就是提前介入控制

什么是提前介入控制?

就是说,我们的控制并非通过数字量的阈值、回差来控制。例如:火警不是达到250度才动作。而是监测模拟量温升变化速率,就知道是着火了。

又如:我们监测控制系统设定值的变化量;当设定值提高、加大时,其变化量为正值;乘以放大系数叠加到转矩输出。这对于大惯量负载来说,效果是提高了响应速度。(积分输出过程就比较慢。)这就是前馈预控的作用。

在PID控制中,微分项是在误差输出的后面;它监测的 是误差ERR的变化量。我们知道,随着闭环控制工作,误差量逐步变小,毫无疑问,(相对上一个采样值变小,)其(微分)变化量是负值。微分的负值输出将抑制功能块的输出。误差值变化量越大,微分输出值越大,抑制量越大。而当误差值越小(意味着实际值接近设定值),变化波动越小时,微分的输出(抑制量)很小。这种特性特别适合大惯量、高迟滞的系统。通过加入微分,能有效控制对象的波动精度。




看起来不错,微分功能挺好。


但是,我们是做工程的。细节要注意

例如:我们用500度热源去加热一物体,从0度加热到200度,需要18分钟;我们用1200本体自带的AI,采用100毫秒的循环中断采样差值,行不行呢?

实际上,不行

尽管它的模拟量值都是0-27648,但因为它是10位AD转换,二进制表示的后五位是无效的。它的分辨率仅为1024。用0-250度传感器,感度0.24度。

实际使用中,埋在物体中的传感器温升,(换算可知)才0.185度/秒。这就是说,每次100毫秒循环中断的采样差值均为零。

这个微分毫无作用。即使采样周期放大10倍(1秒)也未必能行,微分输出总为零,不能控制住对象温度的波动。

毫无疑问,换个0-500度的传感器,更没戏了。

所以,使用微分功能前,要实际计算/测量一下控制对象的惯量、传感器的迟滞,选择合适的参数。(1200、LOGO全系列本体模拟量AD转换均是10位的。)

所以,去仔细看Zane版主关于温度控制的帖子。

思考一下:使用16位的AD转换模块,微分采样时间500毫秒。为什么?


学而时习之,不亦说乎?温故而知新,不亦乐乎?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。