基于单片机和DS18B20的温度采集和分析系统

发布者:翅膀小鹰最新更新时间:2016-08-05 来源: 21ic关键字:单片机  DS18B20  温度采集  分析系统 手机看文章 扫描二维码
随时随地手机看文章

传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性较差、测量温度准确率低,且还必须经专门的接口电路转换为数字信号后才能由单片机进行处理。不仅如此,大部分温度系统都缺少对温度的采样存储,无法对温度进一步分析。本文介绍了一套以个人电脑及80C51单片机为核心,使用DS18B20温度传感器进行温度采样,数据库进行温度存储,Matlab进行温度分析的系统。该系统可对其所处环境的温度进行实时监控,同时进行温度的采样、存储和分析,实现对特定环境下温度的了解。

1 系统总体组成

系统硬件部分主要用于温度的测量和存储。PC端则用于测温事件的建立与存储、测量参数的设置、温度数据的存储及温度数据的分析。整体而言,系统核心部分分为温度监测模块、温度存储模块和温度分析模块3部分。

温度监测模块用于温度的监测及采样,首先利用PC端程序进行测温事件的建立及采样开始时间(时分秒)、采样结束时间(时分秒)、采样间隔(秒)和传输方式8个采样相关参数的设置,传输方式包括直接传输和间接传输,对应温度的永久存储和临时存储,相关参数通过串口传给单片机。然后利用80C51单片机和DS18B20温度传感器来获取当前温度,并按要求对温度进行采样,同时利用其他器件将温度及当前时间显示到LED屏上。

温度存储模块分为临时存储模块和永久存储模块,临时存储模块用于将所测量的温度数据通过I2C总线临时存储于AT24C02芯片中,永久存储模块则将AT24C02芯片中的数据或当前测量的温度数据通过串行口传给PC端,然后PC端程序将其存储于SQL Server数据库中。

温度分析模块利用Matlab对所获数据进行处理。通过将数据库中的数据导入Excel表,然后调用Matlab的m文件读取Excel表中的数据,并对其分析,完成数据处理。

系统的总体设计如图1所示。

a.jpg

2 系统硬件设计

系统硬件原理如图2所示,硬件电路图如图3所示。整个系统通过STC89C52RC单片机进行控制,8051系列单片机为1980年Intel公司推出的MCS-51系列8为高档单片机微机,而该型号单片机为8051内核芯片,内含Flash E2PROM存储器,内部程序存储空间的大小为4 kB,内部RAM为512 Byte,价格较低,能较好地满足系统要求。DS18B20温度传感器通过单总线与单片机P1.7连接,单总线数字温度传感器将地址线、数据线、控制线合为1根信号线,硬件开销小,为保证系统稳定性,将DS18B20的VCC端与外部电源相连。1602液晶为5 V电压驱动,可显示两行,每行16个字符,内置含128个字符的ASCII字符集字库,可满足系统信息输出的要求,1602占用单片机的P0及P2.3、P2.4、P2.5。AT24C02为E2PROM存储器,使用了快速、高效、精准的I2C接口设计技术与单片机进行通信,时钟线与单片机P2.0相连,信号线与P2.1相连。DS1302为时间芯片,能自动产生年、月、日、时、分、秒等时间信息,可实现系统温度与测量时间的对应传输,并方便系统控制。MAX232为RS232/TTL电平转换芯片,实现下位机与PC端上位机的串口通信,其与单片机的RXD(P3.0)和TxD(P3.1)相连。

b.jpg

3 系统软件设计

3.1 单片机程序设计

图3为程序的程序总体设计图,application为整个单片机程序的全局变量,用以区分系统核心部分和应用部分,当按下与P3.2相连的按键时,触发外部中断0,application自加1。

c.jpg

系统核分又分为空闲模式和工作模式。系统处于空闲模式时,读取DS1302的时间信息和DS18B20的温度信息,在液晶显示屏上显示当前的日期、时间和温度,同时利用按键可校准日期和时间;处于工作模式时,硬件电路与PC端配合工作,完成温度的采样、存储和传输。

应用部分,单片机通过串口获得温度阈值和函数式,利用下文将叙述的公式完成相应功能。另外,单片机进行温度采样的时间由定时器0进行精确控制。定时器1用于波特率的产生。当PC端传递数据给单片机时,将导致串口中断,参数数据传送至单片机的SBUF寄存器,然后再将数据存储于char型二维数组Parameter中,因为所需传输的参数数据共有8个,且每个参数的位数均为2位,故包括‘\0’在内共需3个char。型存储空间,从而完成采样参数设置。当单片机向PC端传递温度数据时,先传递温度的整数部分传给SBUF寄存器,再将温度的小数部分传给SBUF,从而传给PC端,此时先用强制转换将float型的温度数据转换为int型变量,传递其整数部分,然后将float型变量乘以100并减去其整数部分,得到小数部分。

3.2 PC端程序设计

图4为数据库设计的E—R图。系统数据库中包括事件表、数据表和处理结果表。事件表存储各种事件信息,数据表存储对应时间的温度数据及时间数据,处理结果表存储处理结果。

d.jpg

 

Matlab分析模块的主要步骤为:从Excel表中获取时间;利用datenum()函数将三维的时分秒转换成一维的实数;利用polyfit()函数拟合时间温度的一阶函数式;利用polyv al()函数计算已知各点拟合曲线的温度值;利用plot画出原始各点和拟合曲线。

PC端可是化程序主要使用Visual C++6.0编写而成,通过串口与单片机进行数据交换,并于数据库和Matlab进行通信,完成测温事件的建立、采样参数的设置以及数据的存储与分析。

PC端可视化程序使用到了Microsoft CommunicationsControl控件(MSComm控件)实现了串口通信和数据接收,利用微软提供的一种面向对象、与语言无关的数据访问应用编程接口 ADO组件实现与SQL Server数据库的通信,通过Matlab引擎调用Matlab的m文件,实现数据的分析,Matlab引擎是一组Matlab提供的接口函数(ICngine API函数),其采用客户机/服务器计算模式,此时C++作为客户端出现,负责用户接口和提出数据请求,Matlab则属于服务器端,向客户端提供数据服务。通过以上接口及MFC函数库完成PC端的可视化程序设计。

4 系统测试及应用

系统测试采用额定功率为1 500 W的电热壶烧水进行实验测试。利用系统对1 200 ml的自来水在电热壶中的温度进行采样,获得相关数据并进行分析,从而得到温度与时间的函数式,然后用该函数式来计算到达某一温度阈值的所需时间,完成应用。

由于电热壶的功率恒定且过大,故加热时因各种原因散失的温度可忽略不计,故水所吸收的热量在单位时间内是恒定的,通过比热容公式Q=Cm△T(其中Q为热量的变化,C为比热容,m为质量,△T为温度变化)及Q=p△t(p为功率,△t为所用时间)可得

 

e.jpg

 

由于水的比热容为4.2×103J/(kg·℃),电热壶功率为1 500 W,水的质量约为1.2kg,代入数据可得△T=0.297△t。

可见水温与时间应该是线性的,其系数约为0.297,即T=at+T0,其中a=0.297,T0为初始温度。

通过以上分析,可得式(2),该公式用于应用部分计算水到达某一温度剩余时间的函数式

t=(T-T1)÷a (2)

其中,t为所需的时间;T1为阈值温度;T为当前温度;a为分析所得函数的一次项系数。

系统测试结果如图6与图7所示,由图6可知,温度与时间呈较好的线性,与上述分析结果一致,由图7可知,拟合曲线的系数为0.264.53,与理论值的相对误差为-10.9%,这可能与电热壶的老化等因素有关。但由实验结果可知,系统可较好地对温度进行采样、存储和分析。

 

f.jpg

图8为针对系统分析的数据进行的一个应用测试,通过式(2)可知电热壶水温至100℃还需要的时间,从图8中可看出,当前水温为23℃,距水烧开还需380 s。

g.jpg

 

5 结束语

经过实验测试,本系统可完成温度的采集、存储和分析功能。通过该系统,可测得某一时段内固定时间间隔的温度值,并可将其存储于PC端的数据库中,当测得规定时间内的数据后,通过系统的分析模块,可对所测的温度数据进行一定程度的分析,获得温度变化的走势曲线图,在热功率恒定的条件下,通过Q=Cm△t函数可获得温度与时间的一次函数,从而对其他时段相同环境下的数据进行提前分析。同时,该系统功能较强,操作简便,系统较稳定,有一定的实际应用价值。

关键字:单片机  DS18B20  温度采集  分析系统 引用地址:基于单片机和DS18B20的温度采集和分析系统

上一篇:51单片机---存储器
下一篇:基于L—PSIII的电子称重系统的设计

推荐阅读最新更新时间:2024-03-16 15:03

嵌入式实时操作系统μC/OS-II在S12单片机上的移植分析
  1 前 言   在采用前后台系统软件设计模式的嵌入式系统中,主程序是一个无限循环,单任务顺序执行,通过设置一个或多个中断来处理异步事件。这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。μC/OS-II 是一个源代码公开、可移植、可裁剪的实时多任务操作系统,具有低成本、稳定可靠、实时性好等优点,是专门针对微处理器和微控制器设计的实时内核,它的内核可以做到很小,很适合在单片机系统上移植。移植了μC/OS-II 的嵌入式系统可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。本文
[单片机]
嵌入式实时操作<font color='red'>系统</font>μC/OS-II在S12<font color='red'>单片机</font>上的移植<font color='red'>分析</font>
单片机at89s52和其他单片机比有什么优劣势
单片机at89s52是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:8K字节的程序存储器,256字节的RAM,32条I/O线,2个16位定时器/计数器, 一个5中断源两个优先级的中断结构,一个双工的串行口, 片上震荡器和时钟电路。本文首先介绍了单片机at89s52和其他单片机比有什么优劣势,其次阐述了单片机at89s52的引脚图及引脚说明,最后介绍了单片机at89s52的主要特性是什么,具体的跟随小编一起来了解下。 单片机at89s52和其他单片机比有什么优劣势 优点: 1、功能比标准51强那么一点点,多128BRAM,多一个定时器、多512BEEPROM,内置8KROM足够容纳一般程序; 2、容易
[单片机]
<font color='red'>单片机</font>at89s52和其他<font color='red'>单片机</font>比有什么优劣势
C8051单片机实现多目标超声波测距的设计
超声波测距传感器以其测量精度高、响应快和价格低廉而广泛应用在工业现场测距、移动机器人导航和定位等场合。超声波测距传感器常用的方式是1 个发射头对应1 个接收头,也有多个发射头对应1 个接收头。 它们共同之处是:每个接收头只测量一个位置,这个位置就是除盲区内因发射的超声波旁瓣引起的接收信号超声波包络峰值外,第1个接收信号超声波包络峰值对应的距离。 在机器人自主导航避障时,机器人只关心最近障碍物的距离,是能够完成自主避障的。 但是在机器人定位时,尤其在动态环境下,1 个接收头同时测量多个距离,能够更多地描述环境信息,这对机器人用超声波定位具有重要意义。 1 超声波 1. 1 超声波测距原理 超声波测距原理比较简单,一般是采用时差法
[单片机]
C8051<font color='red'>单片机</font>实现多目标超声波测距的设计
基于PIC单片机和LCD模块对电流的驱动
偏置电压是通过使用外部梯形电阻网络(电路见下图)而产生。因为梯形电阻网络连接在VDD和Vss之间,所以会有电流通过梯形电阻网络,电流大小与电阻成反比。也就是说,电阻越大,通过梯形电阻网络的电流就越小。如果使用10kΩ电阻,且VDD=5V,则梯形电阻网络将不断消耗166μA的电流。这对于一些使用电池供电的应用来说是很大的电流。 如何最大程度增大电阻,而又不会对显示质量产生负面影响?一些基本的电路分析可以帮助确定梯形网络中电阻增大的程度。 LCD模块实际上就是一个模拟多路开关,它交替地将LCD电压连接到各个段和公共引脚(段电极和公共电极交叉于每一个LCD像素点)。LCD像素可用电容进行模拟。梯形电阻网络中的每个分接点可以用戴维
[单片机]
基于PIC<font color='red'>单片机</font>和LCD模块对电流的驱动
单片机的外部结构
拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。 1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1接上即可。3、复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。4、EA引脚:EA引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。 图1 二、 任务分析 我们的第一个任务是要用单片机点亮
[单片机]
<font color='red'>单片机</font>的外部结构
STM32F103系列单片机中的定时器工作原理解析
STM32F103系列的单片机一共有11个定时器,其中: 2个高级定时器 4个普通定时器 2个基本定时器 2个看门狗定时器 1个系统嘀嗒定时器 出去看门狗定时器和系统滴答定时器的八个定时器列表; 8个定时器分成3个组; TIM1和TIM8是高级定时器 TIM2-TIM5是通用定时器 TIM6和TIM7是基本的定时器 这8个定时器都是16位的,它们的计数器的类型除了基本定时器TIM6和TIM7都支持向上,向下,向上/向下这3种计数模式 计数器三种计数模式 向上计数模式:从0开始,计到arr预设值,产生溢出事件,返回重新计时 向下计数模式:从arr预设值开始,计到0,产生溢出事件,返回重新计时 中央对齐模式:从0开始向上计数,计
[单片机]
STM32F103系列<font color='red'>单片机</font>中的定时器工作原理解析
基于单片机的电动模型汽车自动控制
全国大学生电子设计竞赛中的C题,要求设计一个以 单片机 为核心器件实现对行驶中的电动模型汽车自动控制系统,控制过程是利用反射式光电检测器采集数据,通过软件完成对电动模型汽车在不同路段的行驶速度实时控制,用数码管对指定行程和所用的时间进行显示,同时利用红外数传方式将在限速区、终点区和返回到起点区后的时间和距离数据向手持显示装置单向传送。系统将键盘设在小汽车中对其速度的控制调整更加方便、更加精确。   方案论证   根据题目的基本要求,设计任务主要是完成电动小汽车在规定行驶路线中的速度控制,根据不同的行驶路段采用变速行进,对行程中的有关数据进行处理显示。为了使汽车与固定点保持联络,本系统加装了红外数码传感器装置,以实现对汽车的行驶
[单片机]
基于<font color='red'>单片机</font>的电动模型汽车自动控制
基于LM331和51单片机的压力数据采集
l 引言 A/D转换器广泛应用于单片机控制数据采集的模拟信号转换。而对于长距离数据传输,高精确度应用,使用一般A/D转换器则存在诸多缺点,可使用V/F转换器代替A/D转换器。V/F转换器与单片机的接口只需一个I/O端口,输入频率信号,且接口简单,占用硬件资源少。以单片机和V/F转换器为核心的数据采集系统,能够实时测量由传感器检测的压力,并满足系统测量精度要求。 2 系统基本原理结构 压力传感器将被测压力转换为电压信号,通过V/F转换器把传感器输出的电压信号转换成相对应的频率信号,采用光电耦合器将频率信号传输到单片机,利用单片机内部的定时/计数器测量信号频率,采用单片机强运算功能,根据电压与频率的线性关系计算压
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved