基于单片机的温度采集系统研究分析
2021-01-21刘星宇
刘星宇
(无锡职业技术学院,江苏 无锡214121)
1 概述
科学技术的不断创新与发展,各个行业对温度精准度和实时性要求也在日益增长,对温度采集系统的效率提出了更高的要求。但并非全部的测量场所均能够在一定程度上,确保相关温度测量人员的人身安全,当采集场所受到外界严苛环境影响时,一套能够自动采集、处理和支持数据远程传输的温度采集装置具有一定的价值。因此,设计基于单片机的温度采集系统,对于需要采集温度数据的相关应用来说具有重要意义。本文基于单片机的温度采集系统设计,以数字温度传感器DS18B20 为采集系统的前端,经单片机操作处理后,将会在LCD1602 显示器上充分展示出对应的测量结果,最终通过串行口与系统终端进行数据传输。
2 系统总体设计架构
对于温度采集系统的总体设计架构而言,其内部的主控制装置将设置为单片机AT89S52,温度传感器装置设置为DS18B20,在此过程中通过LCD1602 显示模块进行数据信息的展示,且接入RS232 串口,将实现数据信号与系统终端的实时传输。
基于PC传输测温系统,其组成部分包括:单片机AT89S52、温度传感器装置DS18B20、显示模块LCD1602、MAX232,硬件中单片机I/O口的资源应用状况:P1 端口作为LCD1602 的数据输入关联装置,将连接到LCD1602 的DB端。P2.5 端口、P2.6 端口和P2.7 端口,三者将会分别连接到LCD1602 的E 端,RS 端和RW 端,主要用于系统的总体控制模块。P3.0 端口和P3.1 端口,两者将分别与MAX232 中的T1INR10UT进行相互的关联,从而在一定程度上实现不同数据信息的传输。P3.3 端口与温度传感器DS18B20 的DQ端进行数字连接。温度采集系统的内部软件,其主要功能是对DS18B20 进行读写控制,使其读取目前所需的温度量值信息,实现对DS18B20 的读写控制。
3 系统硬件设计
3.1 主控制系统电路设计。AT89S52 是具有4 组I/Q 端口,分别为(P0,P1,P2,P3)的40 引脚双列芯片。AT89S52 单片机具有4组8 位I/O 端口(P0,P1,P2,P3),每个I/O 端口都能根据自身需求,将其设置为独立模式的数据信息输入或输出端。
在AT89S52 的主控制电路体系架构中,XTAL2 和XTAL1 与外部晶体振荡器存在一定的连接模式,同时与微调电容直接相连。在温度采集系统的内部芯片设置中,XTAL2 是振荡器反相放大器的数据信息输入端口,此时XTAL2 与与外部晶体振荡器存在一定的连接模式,同时与微调电容直接相连,其被设置为数据信息输出端口。
3.2 温度采集电路设计。在温度采集功能电路设计中,DS18B20 可以作为系统内部的模拟温度传感器、数据信号处理装置,在进行数据信息传输的过程中与AT89S52 通信,从而在设定的区域范围内实现温度采集功能。本文设计的温度采集系统最大的优势在于,通过单总线进行相应数据信息的传输,且仅应用I/O 端口的一端即可。
对于温度采集电路而言,通过DS18B20 采集温度测量的实验对象,并将获取的温度数据信息传递至AT89S52 的P3.3 端口,然后将该数据信息作为系统的信号输入端,基本温度采集电路如图1所示。为了使DS18B20 能够执行精确的温度转换功能,I/O端口必须确保转换周期内的电源供应。
图1 温度采集电路
DS18B20 与AT89S52 相结合,能够在一定条件下实现温度的采集功能。对于本文设计的温度采集系统装置而言,系统组成架构相对便捷,适用于恶劣环境下的现场温度测量,具有广泛的应用价值。
3.3 温度显示电路设计。在温度显示电路设计过程中,LCD1602 具有1~11 万小时的半衰周期。目前最常用的是8 段式数字显示装置,包括十个管脚,每个段位对应一个管脚,其余的显示管可以用来显示数据信息传输的公共终端。因此,8 段式数字显示装置在一定应用情况下,能够直接显示时间、日期、温度等相应量值信息,其具有较强的直观性。通过对温度显示电路的基本尺寸类型分析,LCD1602 通常包括0.3、0.5、0.8、1.0、1.2、1.5、1.8、2.3、3.0、4.0、5.0 等基本类型。对于单模管芯而言,其一般情况下不会超过1.0;对于双模管芯而言,其一般情况下设置的取值区间范围为1.2~1.5;对于三模以上管芯而言,其一般情况下设置不会低于1.8。
4 系统软件设计
4.1 主机控制中心设计。主机控制DS18B20 完成温度转换对应的数据协议是:初始化;ROM操作命令;内存控制。在温度采集系统的控住电路中,在对系统进行任何操作之前,必须对主机进行初始化处理,然后通过主机发送复位数据信息,最终等待相应的信号回复。控制系统接收到数据信息的指令后,启动温度转换模式;当温度转换正在进行时,主机需要读取该时刻的总线状态信息,转换结束后将其设置为1。如果DS18B20 由信号线进行系统电源供电操作,则主机必须提供一个用于时间转换的上拉电平。
4.2 温度采集控制设计。为了有效的处理DS18B20 定时问题,可以对整个温度采集系统进行新的数据编程设计,其主要采用AT89S52 芯片为重要组成部分,有效控制DS18B20 的复位和读写能力,能够在一定程度上按时间顺序有效的读取温度值,将获取的数据信息存储于系统内部的存储装置中。DS18B20 温度采集优势在于系统精度高,分辨率强,抗干扰性能好。由于系统读取的数据格式一般均为二进制数的补码,因此需要求得温度量值数据信息的原始代码。当显示屏展示对应的数据信息量值时,需要对其进行十进制转换,这样才能获取直观数据。
4.3 温度显示控制设计。在温度显示电路的程序设计过程中,将LCD1602 作为温度采集系统的显示模块,在其显示屏上读取相应状态。当其处于空闲状态时,才能够根据实际情况传输实时量值信息,否则将导致失败。在温度采集系统显示模块中,需要清除LCD1602 显示屏上的数据内容,当数据读写操作时屏幕不会发生任何移动,此时AC自动“+1”。在数据显示过程中,首先展示TEMP样式的固定字符,然后显示测量的温度量值数据信息。
当在进行数据信息实时传输的过程中,高8 位中前5 位是固定形式,正数为0,负数为1。最低的四位数表示小数,因此程序将使用TEMP>>4,选取最佳测量数据。在显示电路数据读取过程中,考虑到显可读性和直观性等操作,LCD1602 温度显示流程,如图2 所示。
图2 LCD1602 温度显示流程图
5 系统调试与测试
在对基于单片机的温度采集系统进行调试与测试的过程中,为了保证所设计的系统具有较高的精度,硬件链路设计完成后,需要进行硬件调试。检查系统内部的硬件组成部分是否存在虚焊、错焊等问题,一旦发现系统存在问题,需要在第一时间内采取有效应对措施,该系统共完成3 次修改。
单片机程序代码完成后,需要对内部的温度采集代码、发送端的NRF24L01、接收端NRF24L01 相应的问题检测,以便根据实际情况有效的完成单片机程序部分的设计。通过有效的系统内容调试,单片机程序能够正常工作。在试验温度时,需要将温度稳定在26.5℃左右,通过万用表测得的温度为26℃,当用手紧紧握住温度传感器时,显示管的温度会慢慢升高,最终将会与人体温度相类似。当温度传感器接近冰水混合物时,温度将会逐渐呈递减形式,温度可精确达到0.1℃。在系统测试中,可知接收端和发射端均保持在低功耗状态,基本达到了设计初始目的,收发距离和温度测试精度也达到了设计要求,如表1 所示。
表1 实验测试数据
6 结论
随着社会经济的不断进步,温度采集系统已经被广大的人民群众所应用。特别是对温度要求较高的领域,如农作物种植、食品储藏、食品运输、各类企业仓库等场所。传统模式下的温度测量形式,其主要以热阻和热电偶为核心,但由上述传感器构成的温度测量系统,在信号电路装换过程中需要引入A/D装置,这样才能与系统端口相连接,从而在一定程度上增加生产成本。本文通过温度传感器等硬件和无线传输技术等软件,完成了温度采集系统的开发。在温度测量方面,检测到无线传输信号的稳定性,检测效果良好,其还充分展示了无线传感器的优良性能,能够通过测量、采集和监测等方法进行温度信息的获取。