logo资料库

单片机恒温箱的温控系统制作.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
制作天地 HANDS ON PROJECTS 编者按 :此设计出于一位本科学生之手,完成得不错。用 18SB20 测温,三位 LED 数码管动态显示,三 个按键,硬件简洁。程序设计在高于设定值 3 个字时开风扇,低于 3 个字时开加热电阻避免频繁开关。C 语 言编程,思路清楚。本刊收到许多学校学生的论文作品,由于内容及格式问题不能刊用,欢迎广大学生参与 投稿,此文可以作为参照。 作 者 作 者 陈 勇 黄锦煌 单片机恒温箱的温控系统制作 本设计的主要原理是,单片机实时地将温度传 感器所采集的温度值与所设定的恒温值进行比较和 二、元器件选择 处理,从而监控并保持样品容器箱的温度值。本文 本设计的 MCU 采用 STC89C52 单片机 ;考虑 给出了该系统的方案设计、硬件电路、软件设计、 到节省器件使用的需要,温度传感器则采用单总线 故障排除以及系统调试等内容。 制的数字温度传感器 DS18B20,无需接 A/D 转换器, 系统的主要性能指标有 :(1)恒定温度值设定 范围 :20 ~50 C,最小区分度 : 1 C ;(2)数码管 采样值可直接送单片机处理,简易方便 ;系统采用 普通单刀继电器 HK4100F 作为控制开关 ;两个水 显示实际温度值,显示范围 :0~99 C ;最小区分度 : 泥电阻(10W,10Ω)串联作为加热器件,低压(最 0.1 C ;(3)温度控制误差 :≤ ±1 C ;(4)显示精 高 24V)供电,安全可靠 ;以 5V 直流供电小型风 度 :温度控制的绝对误差≤ ±3 C。鉴于风扇冷却, 扇达到降温或使容器受热均匀的目的 ;采用普通的 环境温度高于 20 C,恒温下限相应上移。 按键开关,实现恒温温度的可调设置功能 ;三位一 体的数码管实时显示当前容器的温度值,简易低廉, 一、系统方案设计 实现了人机交互界面之目标。 本系统是基于经典 C51 系列单片机的应用开 发,集环境温度的信号采集、数据的处理及温度的 三、硬件电路设计 保持控制等等为一体的数字控制系统。同时,该系 依据系统方案,概述主要模块接口电路 ; 统设计有友好的人机交互界面以及简易的设置按键。 1、电源模块。12~24V 交流输入,输入的交流 系统由如下功能模块组成 :MCU 模块,显示 电压为水泥电阻的发出热量提供电能 ;输入交流电 模块,电源模块,按键设置模块,温度采集模块, 压经整流滤波,接入稳压芯片 7805 转变为 5V 直流 冷却模块以及加热模块。系统方案框图如图 1 所示。 电压(VCC)以供给 MCU 及其外设系统使用。 显示模块 按键设置 模块 冷却模块 电源模块 温度采集 模块 加热模块 MCU 图1 系统方案框 2、显示模块。共阳数码管,段选接 MCU I/O 口的 P1 组管脚。以 9012 三极管作为数码管位选开 关,位选分别由 P2^5、P2^6、 P2^7 等管脚控制,三 位数码管显示当前温度(采样温度)值,其中有一 个为小数位。其余两个分别为十位和各位。 3、加热模块。主要根据设定恒温值与采样温 度值的比较结果进行工作,即,采样温度值大于设 定值时,继电器闭合并接通水泥电阻加热,否则断开。 43
制作天地 HANDS ON PROJECTS 图 2 中,JD1、JD2 分别接串联水泥电阻及交流电 送单片机处理,且可使系统实现温度的巡回测量和 源的一端,该继电器由单片机的 P2^4 管脚控制。 显示。其中,温度传感器的数据管脚接单片机的 4、按键设置模块。为了节省材料和硬件资源, P3^5 管脚。 系统设计了三个按键,设置恒温值时,一个用于 递增输入 ;另一个用于递减输入 ;第三个预留。三 个按键的一端接地,另一端分别接 MCU 的 P2^1、 四、 系统软件设计 P2^3、 P2^2 管脚。 1、系统软件概述,如图 3 所示,系统软件主 5、冷却模块。安装小型风扇,以 5V 直流电压 流程是一死循环程序。其主要任务是 : 供电,以继电器控制风扇的工作状态,以实现智能 (1)初始化系统。主要完成相关单片机寄存器 化控制。主要根据设定恒温值与采样温度值的比较 的配置,初始化全局变量等。 结果进行工作,即当采样温度值大于设定值时,继 (2)判断“设置按键是否按下”。若按下,则 电器闭合并启动风扇冷却,否则断开。该继电器由 转入设置处理,并定时 10S,若 10S 后仍然没有按 单片机的 P2^3 管脚控制。 键按下,则跳出设置处理。 6、温度采集模块,温度采集模块。以单总线 (3)采集温度并处理数据。主要对 DS18B20 操作的 DS18B20 温度传感器作为温度采集器。从 复位并读取数值,对所得数据作相关处理并最终转 温度传感器获取温度值的方法非常简洁,无须接 A/ 换为十进制数以便于数码管显示。 D 转换器,即可实现对温度测量并将测量数据直接 2、部分软件程序代码展示。软件的设计,使用 44 2010 VOL.08 图2 电路原理图
开始 初始化寄存器 初始化全局变量 设置键按下 是 否 设置处理 采集温度 恒温控制处理 显示当前温度 结束 图3 主程序流程图 制作天地 HANDS ON PROJECTS } } 数码管显示程序 : void display(uint shu) { uchar bai,shi,ge; uint temp; temp=shu; // 十进制数分别分离出百、十、个位 bai=temp/100; shi=(temp%100)/10; ge=temp%10; wei1=0; P1=table[bai];// 显示百位上的数 Keil C51 开发编写软件程序。软件程序主要由主 程序,初始化子程序,读取 DS18B20 传感器数据 delay(5); wei1=1; wei2=0; 子程序,温度数据处理子程序,显示子程序,中断 P1=table_daidian[shi];// 显示十位上的数 定时子程序以及按键设置子程序等组成。由于读取 DS18B20 数据的子程序涉及底层硬件接口,故该子 程序采用汇编语言编写,除此之外之外,其他全部 delay(5); wei2=1; wei3=0; 程序代码采用 C 语言编写。 P1=table[ge]; // 显示个位上的数 主程序 : void main() { init(); // 初始化全局变量和定时器 while(1) { if(flag) delay(5); wei3=1; } 温度控制子程序 : void set_jdq() {/* 控制继电器从而判断是否加热 */ if(current_tmpbalance_tmp+3) /* 采样温度(实际温度)大于所设恒温值 */ jdq2=0; /* 启动继电器 2 风冷 */ else jdq2=1; /* 关闭继电器 2*/ } 45
制作天地 HANDS ON PROJECTS 五、PCB设计与硬件焊接 并给系统上电,刚开始程序正常运行,具有预期效 果——数码管显示出温度值,而不到 1 分钟,数 以 Altium Designer 软件绘制设计系统 PCB 图, 码管不再显示。此时,用手摸 MCU,发现温度正 如图 4 所示。设计 PCB 时,主要注意如下问题:1、 常不发热,按复位键,无效 ;然后拔掉电源,用万 按模块电路组合排列元器件,即将同一模块的元器 用表测试数码管,数码管完好 ;后来换了另外一 件尽量排列在一起,以避免布线繁杂而难以发现检 块完好的 MCU,问题依然存在 ;最后着手去查硬 测或排除故障 ;2、布线时保证安全的线间距,设 件问题,发现 MCU 复位电路上的电解电容焊接反 置好布线规则后,最好手动布线 ;3、需要与外界 了,将该电容替换,问题得以解决。用 WNY-03 连接的接口,一般放在PCB的边缘;4、滤波电容, 型 0~150 C 水银温度计头插入温控样品容器箱,测 需靠近要滤波的器件附件,相互连接的导线不宜过 20 C,30 C,40 C,50 C 控制值与实际值的偏差。 长,否则影响滤波效果。检查确保制成的 PCB 没有 短路、断路以及连错的情况下,将相应元器件焊接 于制成的 PCB 上。 七、功能简介 制作成品如 6 所示。整个系统所具有的功能:(1) 具有简易可行的温度采集功能。(2)依据所采集的 温度值和设定的恒温值进行对比,并决定对系统环 境加热或者冷却实现自动控温。(3)实现对小范围 环境(如样品容器箱)的恒温。 图4 PCB图 六、系统调试与故障排除 以万用表检测硬件的连接线路 ;在保证硬件电 路没有短路、断路等问题的情况下,使用宏晶科技 单公司所提供的下载软件(如图 5 所示),将程序下 载到 STC89C52RC 单片机上,从而进行软硬件结 合调试。 图6 成品效果展示图 八、小结 本设计以经典的低廉单片机作为微控制器,设 计了具有友好人及交互界面、智能化高等特点的温 控样品容器箱。另外,需要指出的是,该系统仍然 具有完善空间,如选用贴片封装的元器件,半导体 制冷器件等。改善软件方面,亦有很大的空间,如 程序滤波算法的应用,将进一步减少温度误差,将 使该系统控制精度更高、功耗更低,温度控制范围 图5 下载软件界面图 更大。 在调试的过程中,遇到如下故障,下载成功 46 2010 VOL.08 46 2010 VOL.08
分享到:
收藏