APP下载

基于变速积分PID的恒温控制系统的应用研究

2014-07-28夏玉发郭晓学刘宇红

电脑知识与技术 2014年16期

夏玉发 郭晓学 刘宇红

摘要:在多个领域都会用到恒温控制系统,设计一种基于变速积分PID的恒温控制系统,系统以STM32为核心处理器。该文讲述了系统的构成,分析了变速积分PID算法,并在恒温控制系统中得到运用。经过长时间的调试,得到合适的PID系数,使得系统的控制精度达到±0.01℃/30min。系统具有性能稳定,可靠性高的优点。

关键词:恒温控制系统;变速积分PID;STM32

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)16-3921-02

Abstract: The constant temperature control system is used in many fields, so we design a constant temperature control system, which is based on Gearshift Integral PID. The system uses STM32 as the core processor. This paper describes the system structure, analyzes the gearshift integral PID algorithm and uses it in the constant temperature control system. After a long time of debugging, I get the suitable PID coefficients, and make the control precision of the system reaches ±0.01℃/30min.The system has stable performance, high reliability.

Key words: The constant temperature control system; Gearshift integral PID; STM32

恒温控制系统主要是用来控制温度,它在工业控制、农业研究、生物技术等方面得到广泛应用。系统以ST公司的ARM Cortex-M3系列微处理器STM32为核心处理器,介绍了系统的设计方案,分析了PID的控制部分。PID(proportion-integration –differentiation,比例-积分-微分)控制具有良好的鲁棒性,结构比较简单,在恒温控制中的起到非常重要的作用。然而由于控制的复杂性,对于特定的系统要根据实际情况对PID算法改进,以达到精确控制的目的。

1 控制系统的设计

恒温控制系统对温度的控制是通过脉冲宽度调制PWM来实现的。在PWM的波形幅值为高电平时,可控硅导通,加热丝加热;PWM的波形幅值为低电平时,可控硅不导通,加热丝停止加热;从而实现恒温控制。恒温控制系统的温控范围为-50~200℃。在-50~10℃的范围内用酒精介质,在10℃~90℃的范围内用水介质,90℃~200℃的范围内用硅油为介质。

恒温控制系统由STM32核心处理模块、温度采集模块、PID控制模块、TFT触摸屏模块、恒温槽组成。系统控制总体框图如图1所示。

STM32核心处理模块以ST公司的ARM Cortex-M3系列微处理器高容量芯片STM32F103VET6为主芯片,用来实现PID算法、输出PWM控制波形、驱动TFT触摸屏显示温度的及实现人机交互。

温度采集模块由热敏电阻Pt100,24位高精度模数转换器AD7793等组成。高精度恒流源流过热敏电阻Pt100,用四线制接法连接热敏电阻Pt100两端与AD7793的模拟通道一。AD7793采集热敏电阻Pt100电阻两端电压,并送到STM32中,把电压值转换化为电阻值。根据Pt100电阻值随温度变化的特性,测量出温度的值。采用的模数转换器是24位高精度模数转换器AD7793,使温度的测量精度精度达到了±0.002℃,这保证了在PID的控制中温度采集的准确性。

PID控制模块将STM32核心处理模块输出PWM波形与普通市电相位角相匹配完成对双向可控硅的有效控制,通过完成可控硅的适时通断操作,迅速将PWM波形反映到加热丝的通断上,实现对温度的控制。

恒温槽由加热丝、搅拌器、制冷机等部分组成。用它来实现具体的加热和制冷。

2 变速积分PID控制

在传统的PID算法中,积分系数[KI]是一个定值。然而在恒温控制系统的控制中被调量接近设定值时,由于积分系数为定值,积分累加量相对来说很大,很容易出现超调。因此要在被调量接近设定值时减小积分的作用,以免导致超调。这就要求在被调量接近设定值时[KI]要适当减小。进而实现改变积分项的累加速度,让它能与偏差的大小相对应,保证偏差越大,积分越慢,偏差越小,积分越快。

为此设定系数[fe(n)] ,它是偏差[e(n)]的函数。当[e(n)]增大时,[fe(n)]减小,反之增大。变速积分的增量表达式:

[Δu=KPΔe(n)+fe(n)KIe(n)+KDΔe1(n)] (1)

系数[fe(n)]与偏差[e(n)]的关系可以是线性的也可以是非线性的。设定两个参数A、B,(1)当[e(n)≤B]时,[fe(n)]=1;

2) 当[B

3) 当[e(n)>A+B]时,[fe(n)]=0。

[fe(n)]值在[0,1]区间内变化,当[e(n)]大于给定的区间A+B时[fe(n)]=0,此时积分系数为0;当[e(n)]小于等于B时[fe(n)]=1,此时积分系数为[KI],当[e(n)]处于区间[B,A+B]时,[fe(n)]随[e(n)]的变化而变化。

3 软件编程实现

软件部分运用C语言,在软件平台keil上编程实现。运用if… else if… else语句实现PID算法。程序编译完成后,通过JATG烧写到STM32中实现对系统的控制,进而达到对温度控制的目的。

4 实际调试分析

经过长时间的调试,不断调节,选取适当的参数,进行速积分PID控制恒温槽。表1是记录的每30分钟内温度波动部分的重复性实验结果,表2是不同温度值在每30分钟内温度波动的实验结果。实验结果表明,这比常规PID效果要好得多,能把波动控制在[±]0.01℃/30min以内。

5 结束语

设计了一种恒温控制系统,运用变速积分PID实现对温度的控制,选择适当的控制参数,实现对温度的实时控制,得到了比较理想的效果。

参考文献:

[1] 潘文诚.精密低温恒温槽温度控制器[J].自动化仪表,2004(3) :34-37.

[2] 边丽华. PID控制器参数自整定方法的研究与实现[D].大连:大连理工大学,2009.

[3] 牛宏侠,侯涛.变速积分PlD控制在二容水箱系统的实验研究[J].工业控制与应用,2012,31(9):4-6.

[4] 刘俊伟.一种高精度恒温槽温度控制系统[J].电脑知识与技术,2012(22): 5482-5487.