DS18B20点击型号即可查看芯片规格书
目录
1.热计量表工作原理 |
4.系统的软件设计 |
结论 |
随着生活水平的提高,人们对生活的环境提出了更高的要求,良好的温度控制对提高人民生活质量起着非常重要的作用。特别是北方,城镇居民冬季一般采取集中供暖,采暖质量的好坏,直接关系到人们生产生活。目前我国绝大数的地区采暖缺少有力的监控系统,无法完成按需采暖以及实现对温度数据的有效控制,从而造成了对供暖热能的浪费。随着人们节约能源意识的逐步增强,迫切需要一种操作简单、节能环保和高效利用的智能热计量仪表温度控制系统。因此本文以AT89S52为控制芯片,DS18B20为温度采集模块,LCD12864为显示采热信息显示模块,设计了一套集成控制室内温度与显示采热信息的热计量仪表温度控制系统。
根据热量与流量、温度之间的关系:
Q=CM(T1-T0)
式中,Q 为散热器的散热量( 单位:J) ;C 为水的比热4.2*103J/kg° C ;T1-T0 为散热器进出口的温差(° C);M 为流经散热器的水的流量(L),也即质量(kg)大小。据上式可知,只要能测出流量和温差,就可计算出散热器的散热量大小。
温度传感器检测的信号传送到单片机,同时将流量信息传输到单片机,用矩阵键盘完成对温度的设定。单片机处理完数据后,发送命令到液晶显示器并控制电磁阀。系统总体框架如图1所示。
图1 系统总体框架
本设计主要有单片机、液晶显示、数字温度传感器、液体流量计、键盘、电磁阀等部分构成。温度显示:单片机控制数字温度传感器(DS18B20),把温度信号通过单总线从数字温度传感器传递到单片机上, 单片机数据处理之后,将当前温度信息发送到LCD(LCD12864) 进行显示。热量显示:流量计检测到的流量信息(脉冲信号)传输到单片机,单片机数据处理之后,将当前热量信息发送到LCD(LCD12864) 进行显示。温度设定:本系统还可以通过按键来设置温度限定值,单片机比较数字温度传感器的温度与设定的温度值,发出控制继电器动作的指令。
DS18B20 的数字温度计提供9 至12 位摄氏温度测量,并具有报警功能与非易失性用户可编程上限和下限触发点。
DS18B20 的通信通过1-Wire 总线,需要定义只有一个数据线(与地面)与中央微处理器的通信。DS18B20 是“一线总线”接口的温度传感器,其内部使用了在板专利技术,其传感器元件及转换电路集成在形如一只三极管的集成电路内。由于一线总线具有独特,因此一个微处理器可控制大面积分布的DS18B20.
单片机(Single-chip Microcomputer 或MicrocontrollerUnit)将CPU、ROM、RAM、I/O 接口电路以及内部系统总线等全部集中在一块大规模集成电路芯片上,就构成了单片机。
AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度易失性存储器的技术制造,与工业用的80C51 产品指令和引脚功能完全兼容。
AT89S52
程序存储器可以在片上Flash 对系统进行编程,亦适于常规编程器。单芯片上,拥有灵活的8 位CPU 以及系统可编程的Flash,使得AT89S52 为许多的嵌入式控制系统提供非常灵活和有效的解决方案。
本系统为多点温度测试,DS18B20 采用外部供电方式,理论上可以在一根数据总线上挂256 个DS18B20,但实践应用中发现,如果挂接25 个以上的DS18B20 仍旧有可能产生功耗问题。另外单总线长度也不宜超过80M,否则也会影响到数据的传输。在实际应用中还可以使用一个MOSFET 将I/O 口线直接和电源相连,起到上拉的作用,如图2 所示。在对DS18B20 进行操作的整个工作过程中,主要包括三个关键过程:搜索 DS18B20 序列号子程序;启动在线 DS18B20 作温度转换子程序:读取在线DS18B20的温度值子程序。
图2 温度采集模块设计
液晶显示模块 LCD12864 的显示分辨率为128×64, 内置8192 个16*16 点汉字和128 个16*8 点ASCII 字符集,具有4 位/8 位并行、2 线或3 线串行多种接口方式。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。另外低电压低功耗是其又一显着特点,由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。设计图见图3。
图3 液晶显示模块设计
图4为主程序的流程图,主程序的功能是:开机以后,进行系统初始化操作,主要是进行定时/ 计数器的初始化。温度采集程序将温度信号转换成数字信号,在输入到单片机的RAM 存储器中;换算成负责进行温度的标度换算后的十六进制换算成BCD 码,并存储到显示缓冲区以便显示子程序使用,需显示时负责将缓冲区中的各路温度送到LCD 上显示出来。键盘子程序通过按键程序的编写,可以完成对温度的设定,图5 为温度设定部分算法流程。流量信号处理程序的作用是:通过设定定时器、计时器以及外部中断,完成对频率的测定,并转换成流量信息。
图4 主程序流程图
图5 温度设定部分算法流程图
本系统对多处技术和方法进行改进,用STC89C52单片机作为控制核心,实现了对整个系统的控制和操作。液体流量计部分采用涡轮传感器实现对液体流量的采集,数字温度传感器采用DS18B20实现对温度信号的采集,将数字温度信号传送到单片机,并且可以通过矩阵键盘完成对温度的设定,单片机通过对比设定温度与实际温度发出命令控制继电器开或者关,控制液体的流量,以达到控制室温的目的。