对串级PID控温算法的解析

2023-10-27

​​​​​​​目录

前言

单级PID

串级PID

系统分析

算法分析

总结




前言

        笔者在做项目的过程中,需要对一个目标物体做精确控温,精度要求±1℃,需要在两分钟内使用电阻发热贴将温度由20控制到41℃,且无超调。根据控制原理,做精确控温应该使用PID算法,PID算法的基础理论在此便不再多说,请读者自行查阅资料,本篇着重讲解串级PID算法在控温领域的应用。    

单级PID

        传统的单级PID控制的面向对象为:惯性小、响应快的非时滞系统。在面对惯性大、响应慢的时滞系统时,单级PID极易出现超调、震荡等问题。

        若要强行使用单级PID适应大惯性、响应慢的时滞系统,则需要使用极其复杂的PID变体算法,如:大林控制PID算法,史密斯PID算法等,这些算法需要进行精确的建模工作,对模型的预估需很准确,难度较大。

系统框图如下所示。

串级PID

        串级PID即使用两个传统PID控制器进行级联控制,一个PID控制器作为外环控制,即主回路,一般选用响应慢的控制对象作为主回路;一个PID控制器作为内环控制,即副回路,一般选用响应快的控制对象作为副回路;外环的输出值作为内环的输入。

串级PID的优点是:

1、将干扰加到副回路中,由副回路控制对干扰进行抑制;
2、副回路中参数的变化,由副回路给予控制,对被控制量的影响大为减弱;
3、副回路的惯性由副回路给予调节,因而提高了整个系统的响应速度。副回路是串级系统设计的关健。

系统框图如下所示。

     U1为加热系统的传递函数。C1为由“温度”微分出“温度的变化速率”,作为副回路。

系统分析

由于涉及公司产品机密,不展示模型图。对该加热模型进行物理模型测试分析:该模型使用大功率发热贴产生热量,使用铝板作为导热介质,在使用NTC作为温度采集。温度的传递在系统中有一定的时滞性。控制器(发热体)的功率较大,发热体在停止工作后,仍会有小部分能量传导到导热铝板上,使其继续升温,且无法制动(控制器为单向控制器,只能发热,无法制冷),可见该系统有一定的惯性。

算法分析

  • 在该系统中。若只将“系统的温度”反馈回前端作为控制依据,则
  1. 温度的采集具有时滞性,且温度的变化在整个系统中是比较微量的(ADC采集运算后的变化精度为0.025℃),若系统的温度作为数据来源的话,则稳态时需要较大的开环增益,才能获得较快的控制响应。但在温度上升过程中,较大的开环增益又会使其超调严重。
  2. 该系统的能量的传递具有一定惯性。在单向系统中(只能加热,不能制冷),单级PID算法无法很好的抑制惯性带来的影响。故不能直接使用“系统的温度”反馈回前端作为控制依据。
  • 在该系统中,若将“系统温度”和“系统温度变化速率”均反馈回控制器前端作为控制依据,则
  1. 在该系统中,“系统温度”响应较慢,作为主回路;“系统温度变化速率”响应较快,作为副回路。
  2. “温度变化速率”由温度进行微分得到,运算周期为系统的控制周期,此时求得的速率具有一个控制周期的延迟性,若运算周期较长,则该数据的参考意义不大,在该系统中,使用的运算周期为500ms,周期较短,“温度的变化速率”仍然有较好的参考意义。同时应注意的是:变化速率不能使用平均滤波或者均匀滤波等算法进行滤波,该操作会使“温度变化速率”严重失真,导致控制效果变差甚至系统发散。应使用实际“温度变化速率”进行运算,或使用卡尔曼滤波等具备预测效果的滤波算法进行运算。
  3. 从宏观上来看,内环的加入相当于增加了系统的阻尼,可在温度上升过程中抑制系统的过冲。同时又加强了系统在稳态时对扰动的响应速度。
  4. 在该设计中,要求响应快(温度2min内要到达41℃±1),超调小(温度不能超过43℃),且该系统又是有惯性的时滞系统,故传统的单级PID控制算法不再适用,应该使用串级PID算法进行控制。
  5. 以下是采用串级PID控制后的冲击响应曲线。

 8℃启动温度下冲击响应曲线

20℃启动温度下冲击响应曲线

总结

        在该系统中使用串级PID算法,使用温度的变化速率作为副回路,温度值作为主回路,此时温度的剧烈变化将由副回路进行抑制,主回路只提供副回路的冲击响应激励信号。该系统在温度上升时,可根据激励信号形成快速冲击响应,但又不会导致过冲,在稳态时,又会根据温度的变化率进行快速调整跟踪,减少外部影响造成的温度扰动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对串级PID控温算法的解析 的相关文章

  • Unicode CString 转char数组

    2019独角兽企业重金招聘Python工程师标准 gt gt gt CString cs T 测试字符串 int n cs GetLength 获取str的字符数 int len WideCharToMultiByte CP ACP 0 c
  • 【C++】21年精通C++之类与对象(中)——类的默认成员函数

    目录 前言 正文 构造函数 析构函数 拷贝构造函数 赋值运算符重载 普通对象和const对象取地址 自增自减操作符重载 const成员 实现一个简单的日期类 结语 前言 今天这篇博客的内容主要是关于类和对象中类的6个默认成员函数 希望能对大
  • 安装ORB_SLAM2

    安装ORB SLAM2 参考链接https github com Ewenwan ORB SLAM2 SSD Semantic 安装Pangolin 要安装0 6版本 参考链接https blog csdn net Dbojuedzw ar

随机推荐