本帖最后由 coleyao 于 2012-6-7 20:20 编辑
理想的控温曲线很多人都了解是个啥样子,但要是想用PID控温,得到理想的控温曲线就没那么容易了(通常认为延时越大,升温越快就越不容易控制)。
不过有了PID温控仿真器之后,PID温控就变得很简单了,我在附件中列举了在这三种PID控温方式得到较理想控温曲线时的PID参数(这些参数在升温速率快慢、延时长短、设定温度距离环境温度远近等各种场合适应性较广),大家有空可以自己确认一下(仿真器中温度采集和控温的周期均为1秒)或者亦可尝试寻找一下各种PID控制方式下最佳的PID参数,这三种PID控制方式我个人觉得经典式PID效果最差,尽管在大延时,高升温速率下也能稳定,但控温时间长,波动较大;位置式PID次之,在升温速率30度每分钟,延时达20秒时仍有较理想的控温曲线,缺点是继续增加升温速率或延时时间则会出现振荡;增量式PID最佳,在升温速率40度每分钟,延时达20秒时仍有较理想的控温曲线,缺点同位置式PID(当然这些是我通过仿真软件得到的结论,本人并没有用增量式或位置式PID解决过实际问题,写这个仿真软件的目的一方面是为了交流和学习,另一方面是为了将PID控制的效果和其它方法如PreF_v方法作个比较,我目前在温控系统中实际用过的是改进型的PreF_v方法)。
当然,我个人的看法是没有最好,只有更好,使用PreF_v控制方法(仅有两个参数PreK和FdK需要调整,并且本身就是时域的方法,而不是像PID那样用频域方法解决时域问题)在升温速率达到70度每分钟,延时达100秒时仍能得到较理想的控温曲线。(注:仿真软件在51分论坛上可以下载,效果请各网友自行评估。)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我自己整的,自我感觉优于PID算法,参数比PID少一个,没有整定的说法,同样一组参数,适应范围也要广一些。
PID算法其实还是挺实用的,只是参数整定比较费事,所以普及面不广。据我所知,很多硕士研究生写程序的时候都是用的Bang-Bang控制做的。
就在51单片机分论坛下面,前面的是版本比较旧的,后面的版本是最新的,给个链接:
http://www.ourdev.cn/thread-5478243-1-1.html
PID 位置: 递增量=KP*ET[CountT]-KI*ET[CountT-1]+KD*ET[CountT-2];
PID 增量: 递增量=KP*vT+KI*ET[CountT]+KD*aT;
你的位置式算法来自哪里?按我的理解这个式子有误。位置式的输出应是绝对量,不是增量;积分项应含误差累加求和;微分项应含误差的差分。
你说的经典式PID是不是这样:
PID.jpg (13.46 KB, 下载次数: 0)
下载附件
2012-6-7 21:38 上传
一周热门 更多>