有人做过PID温度控制冇?

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:28:59
我现在在做计算机控制实验:
凌华科技的PCI9112数据采集卡+ACLD9188端子板+JWK-1型温度控制系统。
这个实验平台我已经搭建好了,那个温度控制箱只有一个输入端(D/A接受计算机输入)和一个输出端(A/D输出给计算机的信号),其传递函数也不知道。基本上只能对输入端操作,比如我输入50度,就能看见输出端仪表显示0~50度的跟踪过程,感觉这个温控箱本身就是个PID控制系统。
我不知道PID怎么控制,难道就是不停改变温控箱的输入值(我感觉温控箱的输入端应该就是设置给定值的)?
麻烦知道的给指点一下,谢谢!

对于温度控制系统参数的整定过程及方法,搜索了很多论坛,大家都只提到PID数学原型,很少看到有实验过程及Kp,Ki,Kd参数的整定过程及方法,这2天闲着没事,来做个温度控制实验,并将一些实验过程写上来,我也是正在摸索阶段,希望大家踊跃发言哟,各位有好的建议尽管提出来,然后我来实验,将实验数据整理上来,希望对于以后想做温度控制的朋友有所帮助

硬件:
1。用可控硅控制200W加热丝,对一铁块加热,用K型热电偶采集温度,采用MAX6675做温度转换,可以到0。25度的精度,并且外围很简单,很容易与CPU对接,采用SPI通信,读取当前的温度值
2。过零检测电路,将交流信号全波整流后得到的波形去控制NPN管,将信号整形后接到CPU外部中断脚,为系统提供基准时间,所以CPU中断的频率是100HZ

实验目标:
在100度到200度内可对任意设定的温度恒温,精度先做到+/-1度吧

基本的控制实现方法:
因为是对加热的铁块温度进行控制,属于滞后效应系统,所以采样周期先定为5秒(这里指的是PID计算的周期,注意我的温度采样是时时的),所以CPU外部中断次数为500次,对应的PID计算结果输出为0~500,就是说把这5秒钟划分为500等份,根据计算的结果来决定在这5秒钟内应该加热多少等份

软件:
采用PID控制方法,我先采用位置式输出方式,公式原型:u(t) = kp * e(t) + ki * [e(1) + e(2) + ....+ e(t)] + kd * [e(t) - e(t-1)],这里先做基本的PID算法,达到控制目标后再来优化算法提高恒温精度,考虑到实验温度过高实验时间会过长,所以我先定目标控制温度为110度,等控制好了再看其他温度会达到多少精度,为了提高加热速度提前20度开始PID控温

下面是调节参数的过程及数据:
参照网上一些方法,先确定Kp,即令Ki,Kd=0,只用比例调节,得到一个稳定的越接近控制目标的震荡参数,然后根据这个Kp和震荡周期来计算Ti,Td,
从数据看震荡周期基本都是48~43个点,每个点是5秒,所以震荡周期为225秒