单片机恒温箱的温控系统制作
系统的主要性能指标有:(1)恒定温度值设定范围:20-50℃,最小区分度:1℃;f 2)数码管显示实际温度值,显示范围:0-99℃;最小区分度:0.1℃;(3)温度控制误差:≤4-1℃;(4)显示精度:温度控制的绝对误差≤±3℃.鉴于风扇冷却,环境温度高于20℃.恒温下限相应上移。
一、系统方案设计
本系统是基于经典C51系列单片机的应用开发,集环境温度的信号采集、数据的处理及温度的保持控制等等为一体的数字控制系统。同时,该系统设计有友好的人机交互界面以及简易的设置按键。
系统由如下功能模块组成:MCU模块,显示模块。电源模块,按键设置模块,温度采集模块。
冷却模块以及加热模块。系统方案框图如图1所示。
图1系统方案框
二、元器件选择
本设计的MCU采用sTC89C52单片机;考虑到节省器件使用的需要。温度传感器则采用单总线制的数字温度传感器DSl8820,无需接A,D转换器,采样值可直接送单片机处理,简易方便;系统采用普通单刀继电器HK4100F作为控制开关;两个水泥电阻(10W,10Ω)串联作为加热器件,低压(最高24V)供电,安全可靠;以5V直流供电小型风扇达到降温或使容器受热均匀的目的;采用普通的按键开关,实现恒温温度的可调设置功能;三位一体的数码管实时显示当前容器的温度值,简易低廉,实现了人机交互界面之目标。
三、硬件电路设计
依据系统方案,概述主要模块接口电路;1、电源模块。12~24V交流输入,输入的交流电压为水泥电阻的发出热量提供电能;输入交流电压经整流滤波,接入稳压芯片7805转变为5V直流电压(VCC)以供给MCU及其外设系统使用。
2、显示模块。共阳数码管,段选接MCU I/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、部分软件程序代码展示。软件的设计,使用Keil C51开发编写软件程序。软件程序主要由主程序,初始化子程序,读取DSl8820传感器数据子程序。温度数据处理子程序,显示子程序。中断定时子程序以及按键设置子程序等组成。由于读取DSl 8820数据的子程序涉及底层硬件接13,故该子程序采用汇编语言编写,除此之外之外。其他全部程序代码采用C语言编写。
主程序:
数码管显示程序:
温度控制子程序:
五、PCB设计与硬件焊接
以Altium Designer软件绘制设计系统PCB图。
如图4所示。设计PCB时,主要注意如下问题:1、按模块电路组合排列元器件。即将同一模块的元器件尽量排列在一起,以避免布线繁杂而难以发现检测或排除故障;2、布线时保证安全的线间距,设置好布线规则后。最好手动布
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)