小型温控系统的研究来源:微计算机信息摘要:本文介绍了基于ADuC841单片机和半导体加热制冷片的小型温度控制系统设计。本设计采用半导体加热制冷片作为温度控制的执行部件,温度传感器DS18B20进行温度检测并提供反馈信号,在控制器单片机上实现增量式PID控制算法。本设计的应用为实现快速、精确的小型温度控制系统提供了一种体积小、功耗低、经济有效的解决方案。关键词:温度传感器;单片机;半导体加热制冷片;增量式控制1引言随着微加工工艺的快速发展,微机电系统(MEMS)在各个领域得到了广泛的应用,伴随着器件的小型化,各个模块的温度特性成为影响整个系统精度、可靠性和稳定性的关键因素。针对小型温控系统的实际要求,选用体积小、重量轻、工作噪音低的半导体加热制冷片作为执行部件,“多点单总线”接口的DS18B20温度传感器作为反馈器件,而单片机作为控制器,选择合适的PID算法来实现对温控箱温度的快速、精确控制。2系统总体设计方案整个温控系统在机械结构上采用内外双层的设计,中间布置有控制电路和执行器件,以及水冷系统管道,凭借液冷散热器的高热交换效率,可以提高系统的温控性能。图1系统方案示意图系统硬件电路主要分为两个部分(如图1所示),即单片机和温度传感器的反馈控制部分和功放及半导体加热制冷片的执行部分。2.1反馈与控制部分DS18B20温度传感器是世界上第一个支持“多点单总线”接口的数字温度传感器,每一个DS18B20都有自己唯一的一个64为序列号存储在内部的ROM中,所以可以在同一条温度测量总线上实现多点采集,从而能够更加精确地给出系统温度值。温度测量范围:-55℃~+125℃能够满足系统温控需求,测温分辨率可以达到0.0625℃,测得温度通过符号扩展的16位数字量方式串行输出。系统控制器选用ADI公司的ADuC841型单片机,此类型单片机板载12位ADC以及两个12位DAC,同时还拥有DMA控制器,为多处理器接口和I/O扩展提供的32位可编程I/O,兼容SPI和标准UART的串行I/O端口,并且还支持板载温度检测以及电源检视等。控制器主要实现如下功能:(1)与MAX232连接,进行和串口的数据通信,可以用于给单片机下载控制程序,同时可以在电脑上实时显示目标温度和实际温度等参数。(2)通过DAC0输出控制信号,控制半导体加热制冷片执行机构。(3)连接DS18B20单一总线上各个芯片的DQ端口,实现对DS18B20的读写控制。(4)通过DAC1输出与温度值相对应的模拟电压,从而可以实时观察温度变化。单片机程序中主要包括延时函数、复位函数、位读写函数、字节读写函数、DAC转换函数、DS18B20的控制函数以及控制算法部分,从而可以实现小型温控系统的基本功能。2.2执行部分整个控制系统的执行部件选择的是型号为TEC1-7108T125的半导体加热制冷片,这种加热制冷片最大温差电流8A、最大温差67℃、最大工作电压8.6V、最大制冷功率38.5W。图2半导体加热制冷片电控实现方案2.5V的参考Cref电压通过运放LMC6482AIM(U1A),即电压跟随器,进入运放LMC6482AIM。因集成功率放大器输出后的反馈电阻为0.17Ω,所以反馈电压为。又因单片机控制信号进入集成功率放大器LM12CL的IN+的电压范围为0~Cref(即0~2.5V),所以要控制进入集成功率放大器LM12CL的IN-的电压范围也为0~2.5V,则设计如上电阻,经计算有:3控制算法的选择本设计中采用常见的PID控制算法,通过对实际温控箱进行温度实验,确定PID的控制参数,调整控制算法。实验中将温控箱视作一阶系统进行处理。先后向实验被控对象送入固定正向1A加热电流和反向-1A制冷电流,测量得到温度变化曲线如分别如图3(a)和(b)所示。(a)(b)图3加热与制冷温度变化曲线理论模拟得到曲线方程分别为:图4增量式PID控制算法温度变化曲线可以看出大概有1.5℃的超调量,但是本算法建立时间短,而且最终稳定精度高。通过实验可以发现,微分环节在温度控制系统中发挥了重要的作用,能够反映出偏差信号的变化趋势,并且能够在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快了系统的动作反应速度,减小调节时间。当温度每发生一个大约0.07℃的变化梯度时,微分作用会导致很大的控制信号正负跳变,消耗较大功率,所以在实际控制算法中给微分环节加入了一个低通数字滤波环节。4系统软件设计本系统中使用单片机作为主控芯片,整个C语言主函数包含的子函数模块主要有:延时函数、复位函数、位读函数、位写函数、字节读函数、字节写函数、DAC1数模转换、读取温度函数等。图5单片机控制DS18B20读取温度子程序流程图根据DS18B20工作条件以及指令说明,单片机控制读取温度的控制子程序流程图如图5所示,主要实现以下几个功能:CCHSKIPROM跳过存储器命令:主器件单片机可以使用跳过存储器命令来呼叫总线上所有从器件,而不必通过发送每个从器件的存储器代码逐个呼叫。0xBE读暂存寄存器命令:单片机可以读取暂存寄存器中的内容。数据发送以暂存寄存器字节0的最低位开始,一直到第9字节。任何时候只要单片机想读暂存寄存器中的数据,就先发送复位命令,再使用读暂存寄存器命令。44H温度转换命令:温度转化命令初始化一次温度转换,转换完成后,结果被保存在两字节温度寄存器中,然后DS18B20进入到低电压零状态。以上程序反复运行,就可以通过DS18B20实时对温度进行读取。5结语本文设计和实现了一种利用半导体加热制冷片,基于单片机的小型实验用温控系统,能够在较低的功耗下实现快速温度变化控制。通过做全功率加速和制冷的实验,得到了最大加热温度可到90℃,而最大制冷温度能到约-10℃。系统控制温差范围约100℃,稳定后的温度波动为±0.1℃之内。本设计属于国防科研项目,主要用于对MEMS器件进行温度特性测试,已投入使用,长时间工作稳定,并且具有较好的快速性,完全可以满足温度特性测试的项目要求。本文作者创新点:采用半导体加热制冷片作为小型温控箱的加热与制冷执行元件,DS18B20温度传感器反馈温度信号,并且以单片机作为控制单元,使用增量式PID控制算法取代普通PID控制,实现了一种经济、有效而且稳定的温控方案。