水温调节控制器
摘要
单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。
51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。
本次课程设计的内容是使用AT89C51单片机最小系统设计温度控制系统,系统以单片机为主控单元,主要用于对温度信号的采集。
通过对水温值得设定进行检测和报警系统。
利用单片机AT89C51控制DS18B20温度传感器对水温的控制,当水温低于预设的温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由3位数码管显示,范围为0-99摄氏度。
二、要求(1)控制密闭容器内空气温度
(2)测温和控温范围:0℃~99℃
(3)控温精度±1℃
(4)掌握DS18B20的工作原理及使用方法。
三、实验内容 3.1 基本设计思路根据系统的要求,本次设计可分为温度温度采集模块、温度显示 和温度信号控制3个模块。具体框架图如图1所示:
温度传感器 DS18B20 从设备环境的不同位置采集温度,51单片机获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。通过按钮来控制,使电路中的温度控制在预设值范围内。当LED灯亮时表示该硬件系统正在进行加热,当达到预设值则停止加热。
a温度传感器热电偶测温基本原理
将两种不同材料的导体或半导体A和B焊接起来,构成一个闭合回路,如图2所示。当导体A和B的两个执着点1和2之间存在温差时,两者之间便产生电动势,因而在回路中形成一个大小的电流,这种现象称为热电效应。温度传感器热电偶就是利用这一效应来工作的。
b温度传感器热电阻测温原理
温度传感器热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。
c数字化温度传感器的工作原理
将温度信号转化为串行数字信号供微处理机处理
3.4 各模块基本功能与设计方案选择和论述温度传感器从使用的角度大致可分为接触式和非接触式两大类,前者是让温度传感器直接与待测物体接触,而后者是使温度传感器与待测物体离开一定的距离,检测从待测物体放射出的红外线,达到测温的目的。在接触式和非接触式两大类温度传感器中,相比运用多的是接触式传感器,非接触式传感器一般在比较特殊的场合才使用,早期得到广泛使用的接触式温度传感器主要有热电式传感器,其中将温度变化转换为电阻变化的称为热电阻传感器,将温度变化转换为热电势变化的称为热电偶传感器。现在的温度传感器已经走向数字化,集成化,外形小,接口简单,广泛用于生活中的各个领域。
方案一:采用热敏电阻
可以用热敏电阻对温度感应程度来实现对输入信号的改变,价格比较便宜,但是其灵敏度不高。
方案二:采用热电偶
热电偶是目前接触式测温中应用也十分广泛的热电式传感器,它具有结构简单、制造方便、测温范围宽、热惯性小、准确度高、输出信号便于远传等优点。但是,由于热电偶来采集温度的话会用到运放的比较器电路,信号放大电路,译码器电路来将模拟信号转化为数字信号继而在数码管上显示出来,电路结构过于复杂。
方案三:采用二极管
二极管在正向导通时由于少子的存在和导电性,所以导通电压会受温度影响,优点是价格便宜,对电路要求低,但缺点是精度不高。
方案四:采用数字化温度传感器DS18B20
DS18B20是美国半导体公司推出的第一片支持一线总线的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器的优点,可以直接将温度转化成串行数字供微处理器处理。用此前器件后续电路只需要用单片机控制,电路简单而且精确度高。
综上所述:由于本次课设的要求是对一个较范围内的温度进行采集,所以对精度的要求较高,考虑到成本问题,并且保证电路结构简明,本次试验采用方案三进行温度采集。
本次设计要求对所检测的温度信号进行测量显示,并且精确度至少为1摄氏度。
方案一:用数码管显示
通过51单片机这个微处理器得到转化后的温度数值后,通过程序设定,是可以精确到小数点后两位的,所以本次实验中用4位数码管就可以了,接口较少。并且数码管消耗的电力比液晶显示更加清晰,适合在白天等强光下显示。缺点是只能够显示数字,不能够显示出其他有用信息。
方案二:用1602液晶屏显示
也可以利用1602来对转换后的温度进行显示进行控制,但是由于液晶是反光式的,在外界光线很明亮时容易看不清楚。它的优点是可以显示出文字信息,很明了。另外,其价格比数码管要贵得多。
综上所述:本次设计中主要是显示出已经测到的温度值,并不需要显示其他文字信息,考虑到价格及可见清晰度问题,决定采用方案一。
四、系统软件设计整个温度系统是硬件电路配合软件电路的设计来完成的。当硬件的功能确定以后,软件的功能也就确定了。
主程序分为4大模块,分别为:
(1)DS18B20内的温度转换部分
(2)读出转换后的温度数值
(3)在七段数码管上的显示模块
(4)温度处理即控制模块
4.2实验原理AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
特性:
• 独特的单线接口仅需一个端口引脚进行通讯
• 简单的多点分布应用
• 无需外部器件
• 可通过数据线供电
• 零待机功耗
• 测温范围-55~+125℃,以0.5℃递增。华氏器件-67~+2570F,以0.90F 递增
• 温度以9 位数字量读出
• 温度数字量转换时间200ms(典型值)
• 用户可定义的非易失性温度报警设置
• 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
• 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统。
DS18B20的工作原理:
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
4.2.3基于74HC245的缓冲模块总线收发器(bus transceiver),典型的CMOS型三态缓冲门电路。由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。
245是方向可控的八路缓冲器,主要用于实现数据总线的双向异步通信。为了保护脆弱的主控芯片,通常在主控芯片的并行接口与外部受控设备的并行接口间添加缓冲器。当主控芯片与受控设备之间需要实现双向异步通信时,自然就得选用双向的八路缓冲器了,245就是面向这种需求的。常见于同并口液晶屏、并口打印机、并口传感器或通讯模块等设备的接口上。
五、 原理电路图运用电容、51单片机、七段数码管、LED、电解电容 、DS18B20、电阻、74HC245构成实验整体原理图。
运用单片机处理温度转化成的串行数字信号,实现信号处理。将获得的结果通过输出装置输出显示在七段数码管上,并且在最后的处理部分也借用了P2口的三个引脚,来点亮所需要点亮的LED灯。
89C52单片机组成结构中包含运算器、控制器、片内存储器、并行I/O口、串行I/O口、定时/计数器、中断系统、振荡器等功能部件。
运用一个DS18B20温度传感器作为外部温度的检测部分,并将采集好的串行数字信号供单片机处理。如图。
7seg-mpx4-ca是4位共阳极7段式数码显示管7seg-mpx4-blue是蓝色的4位7段式数码显示管
该7段数码管分别接于AT89C51单片机和74HC245上,显示初始的预设值和后期温度传感器的返回值。
运用单击DS18B20上的+或-号来实现温度的调节:
1、当温度高于预设值时,单片机控制系统进行加热。LED灯亮。
2、当温度低于预设值时,LED灯不亮。
OVEN:
用于该水温控制的加热,当红灯亮时,表示在加热。
六、仿真结果温度信号模拟,加载目标代码程序文件,进入调试环境,执行程序,在Proteus ISIS界面中,分别调试十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设值时,红色发光二极管点亮表示进入热状态,反之,发光二极管灭,则表示停止加热。仿真结果如图所示:
luo1429181965 发表于 2017-12-28 23:11
好资料,51黑有你更精彩!!!
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |