0引 言
啤酒发酵温度的控制是决定产品品质的关键因素,所以,必须对生产过程中的温度进行严格的控制。啤酒发酵是一个具有时变性、非线性的复杂生化反应过程,使用冷却酒精水通过热交换器间接降温的方法控制发酵温度。传统的手动控制不仅控制质量不稳定,而且操作工人的劳动强度也很大,人力资源浪费问题十分严重,为此我们使用以AT89S52单片机为核心的控制系统来控制啤酒发酵温度。采用单片机对温度进行控制,不仅具有控制方便、灵活和组态简单的优点,而且可以大幅度提高被控温度的技术指标,从而可以显著提高啤酒产品的质量。
本文介绍基于AT89S52单片机的啤酒发酵温度控制系统的硬件设计及工作原理、系统的软件设计和抗干扰措施。
1 系统硬件设计及工作原理
控制系统硬件组成框图如图1所示。本系统主要由AT89S52单片机、温度采集与A/D转换电路、8155扩展电路、液晶显示接口、键盘接口、蜂鸣器报警电路、串口通信电路、DAC0832、电压放大和V/I转换等单元组成。
AT89S52单片机为主控制器件。AT89S52是AT-MEL公司生产的低功耗、高性能CMOS 8位单片机,它除正常工作外还可工作于低功耗的闲置和掉电模式,进一步减少了芯片的功耗。其内部除了配有8 K的Flash程序存储器,还具有256字节的RAM、2个16位定时器/计数器,5个两级中断源结构,32位并行输入/输出口和一个全双工的串行口,看门狗定时电路等。单片机首先根据已经测量的数值计算出温度偏差,然后进行PID控制并计算出相应的控制数据量,将控制数据量输出到D/A转换器。
AT89S52还负责按键处理、液晶显示以及与上位机进行通信等工作。本系统采用8155A芯片来扩展键盘和液晶显示,用.MAX232实现RS 232C标准接口通信电路。键盘主要负责温度控制范围和PID控制参数的输入;液晶显示器采用LCMl28X64:液晶显示模块,把温度控制结果显示在液晶屏上。
1.2数据采集电路的工作原理
温度传感器使用集成温度传感器LM35,它的灵敏度为10 mV/℃,即温度为10℃时,输出电压为100 mV。常温下测温精度为±O.5℃以内,消耗电流最大也只有70uA,采用双电源供电时,测量温度范围为一55~+150℃(金属壳封装)和一40~+110℃(T092封装),无需进行调整。本文采用±5 V双电源供电方式,电路简单,不需要对LM35的输出进行调整。
将LM35的输出电压放大5倍(注:根据发酵温度的变化范围和温度传感器的灵敏度,将电压放大器的电压放大倍数整定为5倍),使放大器输出电压限制在不大于5 V的范围(给定温度对应值要在5 V范围之内),以便与单片机的电平相匹配。放大电路采用集成运放组成,如TLC2272等。
由于温度信号为缓慢变化的信号,对A/D转换速度要求不高,可选用价廉的集成A/D芯片ADC0809。ADC0809是一种8路模拟输入8位数字输出的逐次逼近式A/D转换器件,转换时间为100us。ADC20809将经过5倍电压放大的电压模拟量转化成与其大小成正比的数字量,并送给单片机。 1.3蜂鸣器报警电路
系统时刻检测发酵温度值,出现异常时启动蜂鸣器报警。蜂鸣器报警电路由晶体管和蜂鸣器组成。由单片机I/O口输出信号控制晶体管的导通或截止,晶体管导通,则蜂鸣器报警。
1.4驱动电路
DAC0832输出的0~5 V的电压经过放大器放大为O~10 V的电压。由于DDZ-III型电动角形阀的控制信号是4~20 mA直流电流信号,因此需要将电压信号转换成相应的电流信号。V/I转换电路使用集成电路AD694,AD694是美国AD公司生产的V/I变换器,转换精度高、使用方便、通过改变引脚的不同接法,可以选择多种电压输入范围,对应输出4~20 mA或O~20 mA电流信号。 DDZ-III型电动角形阀以单相交流220 V电源为动力,接受4~20 mA直流信号,自动地控制阀门的开度,从而达到对冷却酒精水流量的连续调节,实现发酵罐内温度的控制,使实际温度向着给定温度变化并最终达到给定温度。
2软件设计
本系统软件设计采用结构化和模块化设计方法,便于功能扩展,程序可采用汇编语言进行编程。程序模块主要包括:主程序、PID数据处理、按键处理、温度采样与A/D转换、数字滤波、越限报警等子程序。本文重点介绍主程序流程图和数据处理模块。
2.1主程序
控制系统主程序的流程图如图2所示。本系统利用定时循环轮流对8个温度进行实时采样,为了能够实现温度的巡回测量,必须有相应的程序来选择温度输入通道。用户可以通过键盘设定温度的上限值和下限值、偏差e(k)绝对值的设定值M、PID控制的系数kp、ki、和kd等参数。
2.2数据处理模块
通常,温度控制大多数采用PID控制方案,所谓PID控制,就是按设定值与测量值之间偏差的比例、偏差的积累和偏差变化的趋势进行控制。在工业上,PID控制又称偏差控制,这是工业控制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。
本温控系统采用的数字PID算法由软件实现,增量PID控制算法的优点是编程简单,数据可以递推使用,占用存储空间少,运算快。但是对于温度这种响应缓慢、滞后性大的过程,不能用标准的PID算法进行控制。当扰动较大或者给定的温度值大幅度变化时,由于产生较大的偏差,加上温控本身的惯性及滞后,在积分作用下,系统往往产生较大的超调和长时间的振荡。因此,为克服这种不良的影响,采用积分分离法对增量PID算法进行改进。当偏差e(k)绝对值较大时,暂时取消积分作用;当偏差e(k)绝对值小于某一设定值M时,才将积分作用投入。
(1)当| e(k)|<M时,用PlD控制。偏差小,说明系统温度已经接近设定值,此时加入了积分作用,可以消除系统静差,保证系统的控制精度。根据递增原理可得:式中:e(K)=r(K)一y(K)为第K时刻所得偏差信号,其中rk是给定值,yk是实际输出值;
kp为比例增益;ki为积分系数;kd为微分系数。则增量式PID控制算法为:
(2)当| e(k)|≥M时,用PD控制。由于偏差大,说明系统温度远离设定值,应快速降温,采用PD控制,可以提高系统的动态响应速度,避免产生过大的超调,减小动态误差。
3抗干扰措施与实际测试结果
3.1控制系统的抗干扰措施
在硬件方面的抗干扰措施有:(1)在电源输入端设置低通滤波器,滤去高次谐波成份;(2)在温度传感器两端,以及其它地方使用压敏电阻器,吸收不同极性的过电压;(3)在运行现场进行电磁干扰试验,对试验结果进行概率统计分析,并通过精心选择元器件、采用抗干扰技术使干扰源产生的电磁干扰降至最小;(4)采用了AT89S52中的看门狗定时器,提高系统硬件抗干扰的能力。 在软件方面的抗干扰措施有:(1)在程序设计时,将各程序模块分区存放,彼此之间空出一些存储单元,在这些单元中填充FF(RST指令)。同时对程序中重要的跳转和调用子程序指令前均加入3个NOP指令,以保证程序流向的正确性。(2)利用平均滤波法求取平均值。将最近6次采样得到的温度值,去除最大值和最小值,剩下的4个数据求算术平均值。
3.2实际测试结果
该控制系统在实验过程中,运行状况良好,达到了设计要求。以初始温度4℃、设定温度是18℃为例,啤酒发酵温度控制的实验结果如图3所示。
由于啤酒发酵罐的容积达数百立升,发酵温度基本达到设定值的调节时间需要l.5 h左右。
啤酒发酵温度的传统控制方式是手动控制,即操作工人根据酿造师的指令及自己的经验去调节冷却酒精水控制阀门的开度。手动控制存在的问题是:温度来回波动现象比较严重、温度经常会超越上限值、发酵罐内不同点之间的温度差即温度梯度也比较大。从图3所示的温度曲线来看,改进后的AT89S52单片机温度控制方案达到这样的预期效果:温度控制的精度得到显著的提高、基本克服了温度来回波动和超越上限值的现象(升温初期虽然存在明显的过冲,但温度最高数值仍然在上限值之下,能防止产生无效代谢物的问题)、减小了温度梯度,为啤酒发酵流程提供一个良好的生化反应环境,从而可以提高啤酒产品的质量。
4结束语
本文介绍了基于AT89S52单片机的数字PID算法对啤酒发酵温度进行控制的方案,通过对PID算法中各控制参数的整定和采用积分分离方法,消除了系统的振荡和超调现象,实现了温度的相对精确控制。
此啤酒发酵温度控制系统不但有现场的温度液晶显示和按键控制,还通过单片机串口将测得的温度值传递给上位机,实现了远程的温度显示与控制。
经过实验验证,该温度控制系统结构简单、测温准确、稳定性好、抗干扰能力强,具有一定的实际应用价值。