摘要 本文描述了温控箱的工作原理,本恒温箱控制器控制模式的特殊性。恒温箱所用到的PID算法与普通的PID算法有很大的区别。改进后的PID算法可适应恒温箱热惯性大和反馈信号与控制输出滞后大的特点。以及将AVR mega128的A/D采集通道采集的数据处理成18位分辨率的原理。描述了如何通过过采样和数字滤波来提高反馈数据的分辨率。 关键词 PID调节 高精度 数字滤波
1引言
在某化工厂里使用一种恒温控制箱,用于在某一特定设置的高温下加热某种化学产品,存储加热到一定时间后,对本产品的化学成分进行分析,可得出该产品的使用储存期限,或本产品当时的使用效能。
2 功能
恒温箱的功能
1) 可对产品或实验品加热到设定温度,并在设定时间内保持恒温。
2) 恒温箱有按键和液晶显示器。可用于设定参数、显示数据。
3) 数据通讯功能,恒温箱有串口,可与PC机通讯。
4) 数据打印。
3 工作原理
恒温箱用于加热化学产品,恒温箱可设定的温度范围是70℃~150℃,加温时间是0~72小时。恒温箱的结构由第三方设计,恒温箱的大致结构如图1所示。恒温箱的产品安置槽用于放置待加热的产品或试验品。试验品放在小金属桶内,然后再安置在产品安置槽内。另外恒温箱有测温热敏电阻、电加热器、保温材料、及硅油等。在恒温箱工作时,电加热器加热恒温箱加热体内的硅油,硅油在加热体内传导热量,硅油在热能的作用下循环流动,将热量均匀的传播到产品安装槽周围。使恒温箱内所有的产品都能被均匀加热,并使温度波动控制在0.1℃范围以内。
恒温箱的硅油腔内的硅油的作用有三个方面,1)硅油起热传导的作用。2)硅油可以使恒温箱内所有产品安置槽周围的温度均匀相等。3)硅油有一定的储热作用,可使产品安置槽周围的温度不易受试验品在放置和取出过程的影响。
4 恒温箱控制单元的硬件设计
恒温箱控制器是由以AVR mega128为核心的cpu构成的。其电器原理图如图2所示。恒温箱控制单元包含测温电阻、热电组信号调理、电加热器、按键显示器、微型打印机、CPU模块。测温电阻采用pt100,测温电阻的安装如图1所示。测温电阻信号经过调理单元调理转换成0~5V的信号。由mega128采集并转换成数字信号。为了降低恒温箱控制单元的成本,充分利用mega128的资源,控制单元不再另加A/D芯片。

图1 恒温箱结构三视图
温控箱设两个测温电阻,测温电阻a和测温电阻b。测温电阻a用于测量被控点的温度。产品安置槽周围的温度是被控温度。之所以要设热测温阻b是因为被控对象的热惯性太大。为了保证被控点温度波动能小于0.1℃,所以紧挨着加热器设一测温电阻b,作为控制温度参考点。当测温电阻b测到电加热器的温度过高时,mega128便控制电加热器的工作电流,使其工作电流减少,这时控制算法不再对其工作电流的调整起作用。通过这一温度参考点可限制加热器的温度波动范围,同时能提前预测被控温度点的温度趋势。在温控箱中加热器和产品有很厚的硅油层,由于有了硅油,使所有的产品安置槽周围的温度很均匀。由于硅油能储热使产品安置槽周围的温度不易被扰动。有利于试验的准确性。但同时带来的问题是由于被控对象的热容大,使温度反馈大大滞后于电加热器的工作状态,被控点的温度很难控制。温控箱增设一个测温电阻b,可用于预测测温电阻a的温度变化趋势,在控制策略中简化考虑硅油流动的热力学模型,进而可以简化控制模型,同时保证温控精度。另外恒温箱设有控制键盘、显示器和微型打印机。这些外设的接口是通过CPLD实现的。恒温箱的硬件原理框图如图2所示。
5 恒温箱控制单元的软件设计
5.1 恒温箱温度控制策略
恒温箱的软件设计是整个设备的很重要的一部分。恒温箱的设计要求是温度范围是70℃~150℃,恒温稳定度是0.1℃。恒温箱加热器是个温度惯性很大的被控对象。Mega128的A/D分辨率是10位。为了能使控制单元的性能达到控制要求,在软件上要对A/D采集的数据作数字处理,使A/D的10位分辨率提高到18位分辨率。首先考虑的是对于mega128的A/D转换数据能否分辨率提升,应该说是可行的。因为测温电阻的信号在经测温电阻信号调理单元调理时加载了噪声。这就为提高A/D输出数据的分辨率提供了可能。对mega128的A/D输出的数据进行积分和数字滤波就可达到提高A/D分辨率的目的,同时也可剔除信号中的噪声。数据处理的原理是用mega128的A/D进行过采样,然后对采样数据进行积分和滤波,得到相当于18位分辨率的A/D转换数据。

图2 恒温箱控制单元原理框图
恒温箱热传导的示意图如图3所示。恒温箱的热传导有硅油的对流循环传导和恒温箱体金属壁的热传导,另外还有与电加热器贴在一起的箱体底部热辐射。在这里硅油的对流循环传导速度最慢,但它是主要的热传导途径。电加热器释放的热量有99﹪通过硅油的对流循

环传导。辐射和金属壁传导要快些,但它的量很小。对于分辨率很低的A/D采集器很难采到。只有分辨率很高的数据采集器能感觉到这一信号的存在。对于这种大滞后的被控对象捕捉这一信号是很有用的。对提高控制精度,减弱超调有一定的作用。因此很有必要对mega128采到的数据作降噪和提高分辨率的处理。
5.1 .1 控制算法
恒温箱是个滞后系数很大的被控对象。当电加热器的加热量有所变化时,热敏电阻a要在很长时间后才能测到电加热器的温度变化所带来的影响。因此对恒温箱进行温度控制不能用普通的PID 算法。通常的PID算法如公式1所示。

以上公式1和公式2的算法对于普通的温控对象是可以适应的,但对于本文研究的恒温箱而言就不大适应。这个恒温箱有三个特点。1)闭环反馈的滞后很大,这是由它的结构所决定的。2)恒温箱是个带保温层的箱体,升温容易降温很难是恒温箱的温控不对称性。3)加热片的余热容易引起恒温箱的超调,这一特性与2)描述的特性有关。普通的PID算法用于恒温箱的控制很容易超调,且温度超过设定值后很难降下来。这就很难保证恒温箱的控制温度的波动范围在0.1℃范围内。为了能保证很好的控制恒温箱产品安置槽周围的温度,要对普通得PID作些修改。公式2的KI 项的KI不能是常数,而是一个变量。恒温箱是一个升温快降温慢的被控对象,而且是一个带保温层的储热温箱,因此温箱的降温非常慢。为了使恒温箱温度能在不很长的时间内稳定在设定温度点,缩短波动时间。要尽可能防止温度高于设定点的超差过大。因此要使积分调整到最佳值,第一使温度高于设定点的超差尽可能小,第二使波动周期尽可能少。这里使KI成为测温电阻b和e(k)的函数,在用e(k)调整KI时要仔细考虑,否则容易产生震荡。由于恒温箱体热容大,而加热器输出功率相对小,因此恒温箱的预热时间很长,在恒温箱预热过程中KI 将累积很大的值,它会使PID输出达到饱和。当恒温箱的温度快接近设定温度时要调整KI使它减小,同时对KI 进行限幅。防止恒温箱超调。以便恒温箱在尽可能短的时间内稳定在设定温度。由于恒温箱这一被控对象从控制理论的角度看,它是个柔性被控制对象,同时是一个不对称的被控对象。因此公式2的KD[e(k)-e(k-1)]项的KD也不能是一个一直不变的常数。在加热初期KD可以设得很小,在临近温度设定点时要将KD调整的比较大。当恒温箱的温度超过设定点时KD要适当减小。应为被控对象降温比升温要难。但太小会引起长周期震荡。
5.1 .2 A/D数值处理
为了能满足控制要求,需要将mega128的10位采集数据变成18位采集数据,提高温度信号的分辨率。提高分辨率的方法是,用A/D采集通道对数据进行过采样,然后进行数字滤波,得到相当于18位的热电阻a测得的温度信号。
过采样、噪声成形、数字滤波和抽取是增量累加转换器用来降低噪声并产生高分辨率输出数据的4种重要方法。假定以频率fS对一个数据转换器的输入信号采样,根据数据的奈奎斯特定理 (Nyquist theorem),fS 必须至少是输入频率的2倍(fIN=fS/2)。过采样是以高于输入信号频率两倍的频率对输入信号采样。我们都知道A/D数值的最后一位是噪声位,对某一电平进行大量多次采集,A/D数值的最后一位是“1”或“0”变化的。假若对某一电平进行20次过采样,分析统计这20个采样值最后一位“1”或“0”所占的比例,可得出一个更真实的数值。将这大量的采集数据作积分后得到一个更接近真实的而且分辨率比原A/D数值更高的反映原模拟量电平的数据。过采样量越多可得到更高位和更接近真实值的A/D值。
5.2 恒温箱控制器的软件
恒温箱控制器的CPU是AVR mega128,mega128是一款新能很好的CPU。ICCAVR是mega128的C语言编程工具。对于控制器来说软件要实现的功能是温度控制功能、人机交互功能、数据通讯功能、打印功能、时钟管理功能。控制功能包含A/D采集、数据处理、PID计算、输出控制量。A/D采集用的是mega128 A/D采集通道。若直接用mega128的A/D采样值做控制是得不良好的控制品质的。数据处理模块用于处理A/D通道采集的数据,使其分辨率提升。控制模块的工作周期是50ms。也就是每50ms对热电阻信号做一次模拟量采集,进行数据处理,PID计算,并输出控制量控制电加热器的热能输出。
人机交互功能包括,按键响应、液晶屏信息显示。人机交互功能模块要完成的任务是,参数设定。要设定的参数有恒温箱的恒定控制温度、恒温箱的恒温维持时间。液晶屏显示的信息有设定温度、恒温箱当前温度、工作起始时间、当前累计工作时间。热电阻b的监测温度的显示。打印功能,每间隔5分钟打印一组数据,数据包含恒温箱温度,当时的时间。时间是年月日时分秒。数据通讯功能是将数据传送给计算机。恒温箱有一个RS232口,计算机可以向它发出传输请求,恒温箱受到请求后便向计算机发送数据。时钟管理功能恒温箱的任务管理功能。Mega128要完成的功能有,温度控制功能、人机交互功能、数据通讯功能。在这些功能里温度控制功能是主要功能。PID算法功能模块要求有严格的工作周期,以保证控制品质。时钟管理功能是根据个任务对实时性的要求给个任务分配所需的执行任务的时间段。PID算法控制功能每50ms必须执行一次,哪怕其它任务正在执行过程中,该任务也要被打断,执行PID控制功能。
6 系统性能
对于基于AVRmega128设计的恒温箱进行了测试,其温度控制指标达到了设计要求。恒温箱从内部温度接近于常温的温度开始工作到温度达到设定点温度,并保持稳定,所需时间是四十分钟。满足使用要求。另外其它功能,如人机交互功能、通讯功能、打印功能都可靠工作。温度控制不受其它任务的影响,温控精度能有效保证。
7 结束语
设计一种基于AVR mega128的温度控制器,控制恒温箱,实现了控制器的小型化,低成本。并且满足控制精度。这一应用模式对于类似的控制对象的应用有一定的借鉴价值。此项目是给某化工厂做的8台恒温箱,这种恒温箱市场上没有现成产品,用上述设计所作的恒温箱给用户减少设备投资费近10万元。
本文创新点:用AVRmeg128的低分辨率a/d转换器,通过过采样和数字积分与数字滤波得到18位分辨率的模数转换值,同时用自动参数调整的PID控制一个大滞后和不对称的被控对象。
参考文献:
[1]符林军,王孟效.调整系统控制量的模糊PID控制器的计算机设计与仿真[J]. 微计算机信息,2004,9:16-18
[2],李英春,王孟效. 基于BP神经网络PID的漂白温度控制算法的研究[J] 微计算机信息 2006 Vol.22 No.34 P.41-42,83
[3]韩志刚,王德进.无模型控制器[J].黑龙江大学自然科学学报,1994,11(4):29-35.
|