基于单片机的恒温箱温控系统设计

一、系统方案设计
本系统是基于经典C51系列单片机的应用开发 , 集环境温度的信号采集、数据的处理及温度的保持控制等等为一体的数字控制系统 。同时 , 该系统设计有友好的人机交互界面以及简易的设置按键 。
系统由如下功能模块组成:MCU模块 , 显示模块 。电源模块 , 按键设置模块 , 温度采集模块 。
冷却模块以及加热模块 。系统方案框图如图1所示 。
 
图1 系统方案框
二、元器件选择
本设计的MCU采用sTC89C52单片机;考虑到节省器件使用的需要 。温度传感器则采用单总线制的数字温度传感器DSl8820 , 无需接A , D转换器 , 采样值可直接送单片机处理 , 简易方便;系统采用普通单刀继电器HK4100F作为控制开关;两个水泥电阻(10W , 10Ω)串联作为加热器件 , 低压(最高24V)供电 , 安全可靠;以5V直流供电小型风扇达到降温或使容器受热均匀的目的;采用普通的按键开关 , 实现恒温温度的可调设置功能;三位一体的数码管实时显示当前容器的温度值 , 简易低廉 , 实现了人机交互界面之目标 。
三、硬件电路设计
依据系统方案 , 概述主要模块接口电路;1、电源模块 。12~24V交流输入 , 输入的交流电压为水泥电阻的发出热量提供电能;输入交流电压经整流滤波 , 接入稳压芯片7805转变为5V直流电压(VCC)以供给MCU及其外设系统使用 。
2、显示模块 。共阳数码管 , 段选接MCUI/013的P1组管脚 。以9012三极管作为数码管位选开关 , 位选分别由P2‘5、P2’6、P2“7等管脚控制 , 三位数码管显示当前温度(采样温度)值 , 其中有一个为小数位 。其余两个分别为十位和各位 。
3、加热模块 。主要根据设定恒温值与采样温度值的比较结果进行工作 。即 , 采样温度值大于设定值时 。继电器闭合并接通水泥电阻加热 , 否则断开 。
图2中 , JDl、JD2分别接串联水泥电阻及交流电源的一端 , 该继电器由单片机的P2‘4管脚控制 。
 
图2 电路原理图
4、按键设置模块 。为了节省材料和硬件资源 , 系统设计了三个按键 , 设置恒温值时 , 一个用于递增输入;另一个用于递减输入;第三个预留 。三个按键的一端接地 。另一端分别接MCU的P2’1、P2‘3、P2”2管脚 。
5、冷却模块 。安装小型风扇 , 以5V直流电压供电 , 以继电器控制风扇的工作状态 , 以实现智能化控制 。主要根据设定恒温值与采样温度值的比较结果进行工作 。即当采样温度值大于设定值时 , 继电器闭合并启动风扇冷却 。否则断开 。该继电器由单片机的P2“3管脚控制 。
6、温度采集模块 , 温度采集模块 。以单总线操作的DSl8820温度传感器作为温度采集器 。从温度传感器获取温度值的方法非常简洁 , 无须接A , D转换器 。即可实现对温度测量并将测量数据直接送单片机处理 。且可使系统实现温度的巡回测量和显示 。其中 , 温度传感器的数据管脚接单片机的P3”5管脚 。
四、系统软件设计
1、系统软件概述 , 如图3所示 , 系统软件主流程是一死循环程序 。其主要任务是:
(1)初始化系统 。主要完成相关单片机寄存器的配置 , 初始化全局变量等 。
(2)判断 。设置按键是否按下“ 。若按下 。则转入设置处理 。并定时10S , 若10S后仍然没有按键按下 , 则跳出设置处理 。
(3)采集温度并处理数据 。主要对DSl8820复位并读取数值 , 对所得数据作相关处理并最终转换为十进制数以便于数码管显示 。
 
图3 主程序流程图
2、部分软件程序代码展示 。软件的设计 , 使用KeilC51开发编写软件程序 。软件程序主要由主程序 , 初始化子程序 , 读取DSl8820传感器数据子程序 。温度数据处理子程序 , 显示子程序 。中断定时子程序以及按键设置子程序等组成 。由于读取DSl8820数据的子程序涉及底层硬件接13 , 故该子程序采用汇编语言编写 , 除此之外之外 。其他全部程序代码采用C语言编写 。
主程序:
 
数码管显示程序:
 
温度控制子程序:
 
五、PCB设计与硬件焊接
以Altium Designer软件绘制设计系统PCB图 。
如图4所示 。设计PCB时 , 主要注意如下问题:1、按模块电路组合排列元器件 。即将同一模块的元器件尽量排列在一起 , 以避免布线繁杂而难以发现检测或排除故障;2、布线时保证安全的线间距 , 设置好布线规则后 。最好手动布线;3、需要与外界连接的接口 , 一般放在PC B的边缘;4、滤波电容 。
需靠近要滤波的器件附件 , 相互连接的导线不宜过长 。否则影响滤波效果 。检查确保制成的PCB没有短路、断路以及连错的情况下 , 将相应元器件焊接于制成的PCB上 。
 
图4 PCB图
六、系统调试与故障排除
以万用表检测硬件的连接线路;在保证硬件电路没有短路、断路等问题的情况下 。使用宏晶科技单公司所提供的下载软件(如图5所示) 。将程序下载到STC89C52RC单片机上 。从而进行软硬件结合调试 。
 
图5 下载软件界面图
在调试的过程中 , 遇到如下故障 , 下载成功并给系统上电 , 刚开始程序正常运行 , 具有预期效果--数码管显示出温度值 。而不到1分钟 。数码管不再显示 。此时 , 用手摸MCU , 发现温度正常不发热 。按复位键 , 无效;然后拔掉电源 , 用万用表测试数码管 。数码管完好;后来换了另外一块完好的MCU , 问题依然存在;最后着手去查硬件问题 , 发现MCU复位电路上的电解电容焊接反了 , 将该电容替换 , 问题得以解决 。用WNY-03型0-150℃水银温度计头插入温控样品容器箱 , 测20℃ , 30℃ , 40℃ , 50℃控制值与实际值的偏差 。
【基于单片机的恒温箱温控系统设计】七、功能简介
制作成品如6所示 。整个系统所具有的功能:(1)具有简易可行的温度采集功能 。(2)依据所采集的温度值和设定的恒温值进行对比 , 并决定对系统环境加热或者冷却实现自动控温 。(3)实现对小范围环境(如样品容器箱)的恒温 。
 
图6 成品效果展示图
八、小结
本设计以经典的低廉单片机作为微控制器 , 设计了具有友好人及交互界面、智能化高等特点的温控样品容器箱 。另外 , 需要指出的是 。该系统仍然具有完善空间 , 如选用贴片封装的元器件 。半导体制冷器件等 。改善软件方面 , 亦有很大的空间 。如程序滤波算法的应用 , 将进一步减少温度误差 。将使该系统控制精度更高、功耗更低 。温度控制范围更大 。

    推荐阅读