一种基于STM32 和ADS1248 的数字PID 温度控制系统*
2015-04-01贾诚安葛俊锋陈俊良
贾诚安,叶 林,葛俊锋,陈俊良,桂 康
(华中科技大学 自动化学院,湖北 武汉430074)
0 引 言
温度是表征物体冷热程度的一个常用物理量,也是诸多工业控制过程中一个极为重要的状态参数,特别是在一些精密测量领域内,其使用的核心传感器的温度稳定性有可能直接影响测量结果准确性。例如:中航工业沈阳发动机设计研究所研制的发射率测量设备中所使用的光电传感器会产生温漂而影响测量效果,需要对此进行复杂的温度补偿措施[1]。以单片机为核心的数字PID 调节器与传统的模拟PID 调节器相比,其灵活性、可靠性和控制效果都有所提升。本文介绍了一种基于STM32 单片机和ADS1248的温度控制系统,利用热电制冷器件并采用位置型数字PID 算法可以有效地对目标温度进行控制,并且能达到较高的控制精度。
1 温度控制系统总体设计
1.1 总体方案设计
系统以PCI 探测器为例,其内置有热电制冷器、Pt100热敏电阻器、敏感元件等元器件,系统设计框图如图1 所示。本系统是以STM32 单片机、ADS1248、热电制冷器为主要组成部分的温度控制系统。其中,STM32 为核心MCU,实现PID 控制算法;ADS1248 为高集成度的测温芯片,可通过自带的SPI 接口与STM32 通信;热电制冷器作为调节温度的半导体元件[2],Pt100 热敏电阻器作为温度反馈信号。该系统主要以数字PID 方式调节STM32 片上的DAC 输出来调节热电制冷器的制冷量大小,最终达到一个稳定的输出从而实现对敏感元件温度的精确控制。温度值可通过上位机显示。
图1 系统框图Fig 1 System block diagram
1.2 ADS1248 特性介绍
ADS1248 是德州仪器推出的低功耗、高集成度的24 位低噪声温度测量A/D转换器。其集成有低噪声可编程增益放大器(PGA)、两路可调大小的恒流源、单周期设定数字滤波器的精密Delta-Sigma ADC 振荡器输入切换器(input mux)、2.048 V 的电压参考源[3]。
1.3 PCI 探测器
系统中使用的PCI 探测器是上海物理研究所研制的3~5 μm 的红外探测器,广泛应用于航天遥感、工业实时检测、报警、环保等领域。PCI 探测器的探测灵敏度与其内置的敏感元件本身温度有关,因此,需要对敏感元件进行温度控制。
热电制冷器为一种半导体器件,分为冷端面和热端面,当电流正向流过器件时,在冷端面吸热,在热端面放热,从而使冷端面温度迅速降低[4]。敏感元件与测温元件放置于热电制冷器的冷端面,热端面与外壳相连,以提供有效的散热。
2 硬件电路设计
2.1 测温电路设计
系统中ADS1248 温度采集电路如图2 所示。图中,P1用于连接三线制的Pt100 热敏电阻器,ADS1248 的AIN0,AIN1 作为差分输入端,将片内两个恒流源配置成500μA,并通过片内模拟开关分别输出连接至AIN0,AIN1。芯片的VREFOUT 和VREFCOM 为内置2.048 V 电压参考源的两端,需连接1 μF 滤波电容器。R21 为参考电阻器,应选用高精度和高稳定性电阻器以提高采样精度[5]。R30 为偏置电阻器。
图2 ADS1248 温度采集电路Fig 2 Temperature acquisition circuit based on ADS1248
2.2 制冷电路设计
系统中制冷电路如图3 所示。图中DAC 为STM32 自带的12 位DAC,可通过编程调节其输出电压大小。DAC 输出经过电压跟随器后作为三极管基极电压输入,产生相应的基极电流,从而在集电极产生一个放大β 倍的制冷电流作用于热电制冷器,进而产生合适的制冷量对Pt100 热敏电阻器进行制冷。电压跟随器用于提高DAC 的驱动能力。
当DAC 输出电压为0 时,三极管不导通,热电制冷器停止制冷,由于热端面的热量影响,热电阻器温度会极其迅速地回升。
3 PID 控温软件设计
3.1 PID 控制过程
本系统采用数字PID 的控制方式,其PID 控制框图如图4 所示[6]。图中,STM32 自带的12 位DAC 为控制环节中的控制器,通过实际温度值与设定温度值之差来调节DAC 的输出值。热电制冷器作为控制环节中的被控对象,Pt100 热敏电阻器与ADS1248 输出值作为控制环节中的反馈信号。热电制冷器的制冷量大小由DAC 输出控制,而Pt100 热敏电阻器的温度值随制冷量大小而变化,可看成DAC 间接地控制Pt100 热敏电阻器大小。
图4 PID 控制框图Fig 4 Block diagram of PID control
3.2 PID 控制算法
PID 控制算法在具体实现上有模拟PID 和数字PID 两种。对于数字PID 控制系统又可分为位置型数字PID 和增量型数字PID,本系统中采用位置型PID,需要将模拟PID微分方程离散化变换为差分方程,用求和代替积分、用后向差分代替微分[7]。
模拟PID 表达式如式(1)所示
式中 u(t)为控制器的输出量,对应于本系统中的DAC 输出,e(t)为偏差值,即Pt100 热电阻器实际值与设定值之差,KP为比例常数,TI为积分时间,TD为微分时间。
将模拟PID 表达式中各项离散化后具体表达式如式(2)所示[8],其中,T 为采样时间,k 为采样序号
将式(2)代入式(1),可得t=k 时的数字PID 离散化方程关系式
最后可将式(3)化简为
实际使用时,考虑到制冷电路中三极管的导通压降的影响,为了不让调节过慢,可加上一个基准值U0,U0取三极管导通压降的临界值,最终表达式如式(5)所示[9]
数字PID 的算法实现流程图如图5 所示。
图5 PID 控制算法流程图Fig 5 Flow chart of PID control algorithm
3.3 PID 参数整定
本系统通过试凑法来整定PID 参数,最终可得到一组效果最佳的PID 参数,其中,比例常数KP=50,积分常数KI=6,微分常数KD=2,基准值U0=1000,控制过程的响应曲线如图6 所示。从PID 响应曲线可以较为明显地看出,系统输出在经过一段时间的超调之后逐渐地收敛到设定值,最终达到稳定状态,其稳定效果较好。
4 试验验证
为了验证本温度控制系统的有效性,在室温条件下对PCI 探测器的冷端温度进行温度控制。整个过程中先控制冷端温度到0 ℃,再下降到-10 ℃,最后再下降到-15 ℃,温度曲线如图7 所示,温度控制的精度可达到±0.1 ℃,基本达到预期目标。
5 结 论
图6 PID 响应曲线Fig 6 Response curve of PID
图7 温度控制过程曲线Fig 7 Curve of temperature control process
本系统以应用范围较广的PCI 探测器为试验对象,利用STM32 和ADS1248 设计实现了基于数字PID 算法的温度控制系统,以DAC 输出可调电压驱动三极管的方式来调节热电制冷器的制冷量,进而达到控制冷端温度的效果,其控制精度可达±0.1 ℃。该系统能较好满足温度控制的要求,具有控制简单、灵活性大等优点,对于工业上需要温度控制的传感器具有较大的应用价值。
[1] 于 浩,薛秀生,张 兴,等.发动机表面热辐射率主动式测试系统的研制[C]∥航空试验测试技术学术交流会,厦门:航空工业测控技术发展中心,中国航空学会测试技术分会,测控技术,2014:76-79.
[2] 李建海,张大为,张 凯,等.数字PID 控制器在温度控制系统中的应用[J].电子测量技术,2009,32(4):100-103.
[3] 汪定国,王怡苹.一种高精度铂电阻温度测量方法[J].电子测量技术,2012,35(11):104-107.
[4] 郭经纬,吴志明,吕 坚,等.基于ADN8831 的高性能温度控制系统设计[J].传感器与微系统,2008,27(2):103-105.
[5] 侯金华,琚长江.一种高精度高灵活性热电阻测温模块的设计方法[J].仪表技术,2012(10):43-46.
[6] 徐 贲.数字PID 温度控制实验系统的设计与实现[J].科技信息,2008(28):32-33.
[7] 张树青,李 妍,王步洲,等.基于ADS1248 高精度测温装置的设计[J].河北工业科技,2013,30(4):249-252.
[8] 杨前利.基于数字PID 的闭环温度控制系统的设计[J].计算机与数字工程,2013,41(12):2004-2008.
[9] 刘 丰.发射率在线测量系统的设计与实现[D].武汉:华中科技大学,2013.