随着我国经济的发展,科学研 究深入推进,温度监测与控制系统在工业设计、智能仪表、日常家用电器等领域的应用越为广泛,基于单片机设计的电子产品有着广阔的应用市场和发展前景。
DSl8820是Dallas公司生产的一款数字温度传感器,超小体积,超低硬件开销,抗干扰能力强,精度高,附加功能强。DSl8820的温度检测与数 字数据输出集成于,一个芯片上,单总线数据通信,二进制输出,分辨率{zg}可达12位,检测温度范围为-55~+125 ℃,具有限温报警功能。同时,DSl8820内置EEPROM、64位光刻ROM,支持多点组网,根据需要把多个DSl8820并联在{wy}的三总线上,便 可实现组网多点测温,便于温控系统的扩展和升级。
1 系统工作原理
为实现被控对象温度的冷热调节,所设计的温度控制系统以AT89S51单片机作为控制核心,包括温度采样模块、温度显示模块、执行模块、过欠温指示模块以 及小键盘等外同电路。系统时钟频率为12 MHz,采用智能集成化器件DSl8820来监测被控对象,将温度值转换为带符号的数字信号,通过单总线输出,实现了温度采集、转换与变送的功能,有利于 简化电路。考虑到单片机的直流输出驱动能力,采用三极管、74LS244和74LS07来驱动相应的外围集成电路。温度数据通过4个并行共阳极的LED动 态显示,并自行搭建小键盘来实现被控对象目标温度的设定。执行模块利用固态继电器SSR进行光电隔离,实现小功率直流电控制220 V交流电通断,使得控制加热管通断、风扇启停的继电器带电或失电,并采用大功率的风扇和加热管以实现有效的温度冷热调节。系统中采用不同颜色的LED灯指 示系统的工作运行状态,红色发光二极管亮表示温度过高或过低报警,绿色发光二极管亮则表示系统工作正常。系统组成如图1所示。
DSl8820测量温度与输出温度之间的关系如表2所示,输出温度为12位的二进制数,存储在DSl8820两个8位的RAM中,二进制数的前5位是符号 位。
2.4 固态继电器驱动模块
本 设计中选用交流型固态继电器SSR,它是一种输入控制电流小、带光电隔离器的无触点开关。通过控制SSR输入端直流电的通断便可控制输出端交流电的通断, 而且启动性能平稳,对电网辐射干扰小。固态继电器控制电路见系统总电路图(图2),在负载端由100 Ω和0.1μF组成串接电路,用于对风扇、加热管进行过电压保护。
2.5 AT89S51单片机控制模块
AT89S5l是整个系统的控制核心,其内置Flash ROM,用于存放用户程序。DSl8820所感测的温度数字信号和用户目标温度作为输入信号,经控制程序处理后发出相应的控制信号,显示系统工作状态、被 控对象温度值,以及控制SSR直流端的通、断电,从而控制风扇、加热管的通断电,实现被控对象温度的冷热调节。总电路图(图2)中虽然给出DSl8820 与单片机的接口电路、固态继电器控制电路,但由于DSl8820和执行设备设置在被控对象现场,因而在实际中要留出相应的信号传输线。
3 系统软件设计
软件部分采用程序模块化设计,便于各个功能的调试和实现。系统软件程序主要由主程序、功能实现和运算控制3个模块组成。
3.1 主程序模块
主程序模块采用循环查询直至中断退出,以达到温控系统冷热自动控制的目的。主程序流程如图3所示。
3.2 运算控制模块
运算控制模块包括数字滤波、PID算法、温度传感器 控制3个子程序。数字滤波由限速滤波实现,限速滤波能充分利用每一个采样值,保证了采样的实时性和采样值变化的连续性。限速滤波子程序流程如图4所示。
PID算法由积分分离PID算法实现,采用积分分离的方法,在被控量开始监控时取消积分作用,在温度值接近目标值时才产生积分作用,有效降低系统启、停次 数频繁给系统带来的振荡。积分分离PID算法为:
式中,Y(K)为温度的目标设定值,C(K)为经数字滤波后的温度测量值,△Y为设定的{zd0}允许偏差值。根据此算法思想 可用汇编语言编程实现积分分离PID算法。
DSl8820控制子程序按照DSl8820的通信协议编制,包括DSl8820初始化,DSl8820读、写控制子程序,分别按照相应的规则说明进行编 程实现。
3.3 功能实现模块
功能实现模块包括温度值设置、温度显示、固态继电器通断控制以及系统运行状态显示等 子程序,其中在温度显示子程序中要完成各个位置段码的调用、数码管的选通以及数据总线的稳定(一般采用延时几ms实现)。
4 系统调试
系统调试主要进行PID参数的整定和温度值的系统误差校正。PID参数及系统其它参数的整定首先采用经验值,再逐个细调,以满足控制精度要求。根据表3的 实验数据,利用MATLAB进行一维曲线拟合,校正系统误差,从而得到更准确的测量数据。
MATLAB拟合过程和结果如图5所示。图5中“O”表示(检测值,标准值),“*”表示(检测值,拟合值),一维曲线拟合方程为:y=0.994 8x-O.399 6,经数字滤波后的采样值再采用此方程处理便可得到更为xx的测量值。
5 结束语
本文从应用角度出发,给出了温控系统冷热调节详细的硬件和软件设计,充分利用DSl8820单总线测温的准确性和便捷性,并使用限速滤波、积分分离PID 算法、MATLAB一维曲线拟合等方法来提高系统的可靠性和测量值的xx性。但信号传输线的抗干扰、键盘按键消抖等方面还不够完善,而且采用MATLAB 进行处理的实验数据采样不够充分,未考虑在测量过高或过低温度时的温度漂移情况,因此系统的设计有待进一步的深入与完善。