搜索

[电子技术资料] 使用仿真工具搞定增量式PID的参数整定

[复制链接]
304|3
 楼主 | 2020-3-25 20:57 | 显示全部楼层 |阅读模式
本帖最后由 fly1974 于 2020-4-3 09:46 编辑

   本贴所有内容仅适用单片机温度控制,不适用PLC控制,请需要PLC温度控制的自觉绕道,不谢!   如附件所示,打开软件,点击“>>”按钮,将参数设置菜单显示到主菜单右侧,然后填入当前温度控制系统对应的参数,填好后确认无误,按“∮”按钮自动生成KP、KI、KD参数,如果满意就可以直接用了,不满意可以自己再微调参数重新仿真,直到满意为止!
  相对于老版本,这次的版本改进点主要是:提高了仿真效率(仿真效果秒出不用等待),增加了温度分辨率,控制周期等参数的仿真,并完善了参数自动整定功能,从而能更好地解决实际的加热控制系统中各种疑难问题,个人觉得稍微花点时间熟悉一下这款仿真软件,赶超作者的PID算法水平问题不大,用过软件还搞不定的话,可以加作者微信付费咨询,不包教会,按天收费
  软件是对于个人学习使用是绿色免费的,没有任何限制(XP、Win7,Win10 32/64可以使用),但不得用于盈利和商业目的,如需商业应用请和作者联系(可以根据需求出定制工具软件)。
  旧版本的仿真工具软件请参考:https://bbs.21ic.com/icview-651068-1-1.html

自整定效果图片

自整定效果图片

手动整定后的效果图

手动整定后的效果图

PHss.rar

346.4 KB, 下载次数: 9

加热算法仿真软件

PHssV1.03.rar

347.33 KB, 下载次数: 1

改进版本

PHssV1.04.rar

347.38 KB, 下载次数: 0

控制周期不为1异常修正

使用特权

评论回复
 楼主 | 2020-3-26 08:43 | 显示全部楼层
   做过PID温度控制的大多有体会,调节控制效果有两大难点:一是系数整定困难,跑一遍算法观测实际效果有的需要半个小时一个小时,然后调节系数再次测试不见得会比之前的控制效果更好;二是有些系统升温速率较高或延时较大,很容易振荡,怎么调控制效果都不好!这个仿真工具软件设计的主要目的就是为了解决这两个问题,让几乎没有温控调试经验的菜鸟工程师也能尽快上手,设计出良好的温控系统。
  手动系数整定的方法已经在首页的收费项目中列出来了,感兴趣的不妨花一顿早饭钱看一看,至少我觉得是物有所值的,有不少网友花几百块向我咨询问题,我觉得基础的东西就那么一点,如果原意花点时间熟悉一下这个小软件并且熟悉增量式PID手动系数整定的方法,这钱是完全可以省下来的!

使用特权

评论回复
 楼主 | 2020-3-26 08:52 | 显示全部楼层
这一层列出PID仿真软件中的PID算法部分,供大家参考:
  function TPID.PIDLoop(Errin:Real):Real;
   begin
     IntT:=IntT+Errin;
      case Mode of
       0:  if Errin>0 then  PwmOut:=0  else PwmOut:=PwmMax;
       1:  PwmOut:=-KP*Errin-KI*IntT-KD*(Errin-ErrL)     ;
       2:  begin PwmOut:=PwmOut-KP*(Errin-ErrL)-KI*Errin-KD*(Errin+ErrLL-2*ErrL);    end;
       3:  begin PwmOut:=PwmOut-FdK*(Errin+PreK*((Errin-ErrL)));     end;
       4:  begin PwmOut:=PwmOut-FdK*(Errin+PreK*((Errin-ErrL)+PreKv*(Errin+ErrLL-2*ErrL)));    end;
       else begin PwmOut:=PwmOut-FdK*(Errin+PreK*((Errin-ErrL)));    end;
      end;
      if PwmOut>=PwmMax then PwmOut:=PwmMax
      else if PwmOut<=0  then PwmOut:=0;
      result:=PwmOut;
      ErrLL:= ErrL;
      ErrL:=Errin;
   end;
end.
  其实就是一个负反馈,有误差就调整,误差为负表示当前温度低于设定值,此时应该增加功率,不过应为系统延时的原因,纯粹的负反馈很可能导致系统振荡,所以要针对延时进行修正,对于增量式PID,KI部分就是负反馈部分,其余KP和KD实际上是延时修正部分,对基本概念理解之后,对于如何克服延时并进行系数整定应该都有帮助。

使用特权

评论回复
 楼主 | 2020-3-26 09:31 | 显示全部楼层
本帖最后由 fly1974 于 2020-3-26 09:38 编辑

  工具软件中的“PWMOff”选项实际上是温度控制的两种思路:一是根据算法得到当前的功率值,然后使用PWM来输出,比如PWM最大值是1000,当前值是200,那么输出一个个重复的周期100毫秒,占空比为20%的脉冲;二是根据算法得到当前的加热功率,当加热功率超过70%最大功率时,打开加热,全功率加热,当计算得到的加热功率小于30%最大功率时则关闭加热。  两种方式一种是精确控制,一种是类似模糊控制,更接近人们本身处理问题的方法,这两种算法效果在合适的条件下控制效果都是可以的,但使用场合不同,应该算是殊途同归吧!

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /2 下一条

在线客服 快速回复 返回顶部 返回列表