基于ATmega16单片机的实时温度采集与分析系统

出处:computer00 发布于:2012-05-21 11:03:55

  摘要:温度是工农业生产中很重要的的参数,它直接影响到产品的质量与性能。提出了一种基于ATmega16单片机与温度传感器相结合的实时温度采集与分析系统。本系统介绍了以ATmega16单片机为,以及自动化控制装置GTJJ4-10A固态继电器和数字温度传感器DS18B20,报警与指示电路等,在分析中基于MFC的软件处理。其中包括温度曲线的绘制,以及温度值的保存,显示历史记录等。在经过烧水温度的测试,该系统稳定可靠便于分析。温度误差0.5℃,可以满足工农业生产的要求。

  随着计算机技术尤其是单片微型机技术的发展,温度对人们的生活与工作影响很大,所以要实时采集温度并且对其进行分析。为此,实现实时准确的测量监控。采用串口传送数据并且在PC机上进行分析。由于单片机的控制方便、简单和灵活等优点,采用了高性能avr单片机来控制GTJ4-10A固态继电器,总实现温度的控制。从而总在PC机上绘制温度曲线并保存数据和分析温度的数据。

  1 系统组成及基本原理

  本系统由温度采集模块,固态继电器控制模块,单片机模块,PC机软件处理模块。4个模块加起来实现温度的控制,以及温度采集和温度经过软件处理的分析。它们的逻辑关系如图1所示。

图1 逻辑关系图

图1 逻辑关系图

  本系统的任务是对某种特定环境的温度进行采集并进行保存和再显示,通过单片机去控制固态继电器,从而控制其温度值的大小,再通过PC机实时显示当前的温度,并对当前的温度进行分析与保存。便于与以后的温度值进行对比等应用。首先由ATmega16单片机控制GTJ4-10A固态继电器从而控制交流电,再达到控制温度值的大小,这个时候通过DS18B20温度传感器对当前的温度值进行采集。将采集的数据结果通过Tx送给单片机,单片机将达到的温度值一方面通过串行通讯端口送给计算机,另一方面将温度数据进行对比分析,再通过IO控制GTJ4-10A固态继电器。从而实现了温度值控制。另一方面PC机得到的温度值送给MFC软件绘制温度曲线,同时通过保存按钮将温度值以及采集当前温度的时间记录下来。然后再经过显示按钮将温度值和时间显示出来。这就是对温度的实时采集与分析。

  2 硬件部分设计

  本系统主要采用高性能AVR单片机,GTJ4-10A固态继电器,DS18B20温度传感器,报警输出电路。主要系统电路图略。

  2.1 ATmega16单片机简介

  ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。ATmega16AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与运算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器至10倍的数据吞吐率。因此可以很好进行数据传送以及对继电器的控制和温度的采集。

  2.2 温度采集模块

  DS18B20采用Dallas独有的单总线协议,温度转换结果可选择为9-12位,转换时间在转换结果为12位时为750 ms,可通过读取DS18B 20的状态值判断其是否转换完毕。其测温范围为-55~+125℃,在范围内为±0.5℃。

  2.3 固态继电器的控制

  继电器模块单元通过单片机的IO口控制,让单片机的计算器计数,当环境温度的需要加热时,我们通过IO让继电器工作,达到某一数值时,再给继电器IO口低电平,从而通过单片机和利用继电器实现弱点控制交流电的作用,这里主要是利用了单片机PWM实现控制,从而就实现温度值大小的控制。具体电路图如图2所示。

图2 单片机控制电路

图2 单片机控制电路

  2.4 报警输出电路

  报警输出电路通过单片机的PA6口控制8550三极管,从而控制蜂鸣器。当温度值达到某一值时,蜂鸣器报警。这时通知单片机停止加热,再经过固态继电器控制加热设备,实现温度维持在一恒定的温度值附近。如果温度值低于某一数值时,单片机通知加热设备加热,这个原理是采用采集温度值控制的,从而达到用户的要求。

  3 软件部分设计

  在系统硬件构架完成后,系统软件所实现的功能主要是针对温度曲线的绘制以及温度值的实时记录和存档并且实现历史记录。程序流程图如图3所示。

图3 软件流程图

图3 软件流程图

  通过单片将数据传递给PC机,PC机将接收到的数据在温度曲线显示与分析用户见面显示出来。本软件设计中还有串口选择、波特率的选择、停止显示、清空数据、关闭程序等基本功能。这里主要是温度值的曲线绘制,然后再将温度值保存起来并进行再显示的操作。从而达到实时采集与分析的功能。温度曲线显示与分析用户界面如图4所示。

图4 用户界面

图4 用户界面

  3.1 温度显示曲线图

  温度显示曲线图的主要任务是将单片机接收到的数据显示出来,当温度传过时,在软件中分别显示当前的温度值和时刻。通过MFC中的Time函数记录每一个温度值的时刻。并采用绘图函数将温度值和温度的当前时刻绘成曲线,然后再对数据特殊处理绘制成曲线图。在这里比较难处理的是实时的温度采集绘制曲线。

  3.2 保存设计单元

  单片机接受的数据通过MFC中的WriteData()将温度值和时刻值保存下来,此种做法就是利于将来对数据的分析使用,将温度值和时间值记录存档成txt文件,打开txt文件可以很清楚看到数据的变化情况,这部分功能主要是记录温度值和温度值的当前时刻,利于将来对温度值做比较分析。

  3.3 显示设计单元

  显示设计单元是将保存的温度值和时间值再绘制成温度曲线图,便于清楚分析数据。通过ReadData函数将保存的数据读出来,然后在经过画图函数绘制温度曲线图,在这里可以清楚地看到历史数据,这样做便于实验数据科学分析,这部分功能主要是显示历史温度值和时刻,实验结果如图5所示。

图5 实验结果

图5 实验结果

  4 结束语

  该实时温度采集与分析系统行能稳定可靠,另外,本系统采用高性能的ATmega16单片机系统组成。选用高灵敏度的数字式温度传感器为依据。通过单片机控制输出不同的PWM,从而可以绘制出实际的温度曲线,也可以根据不同的环境分析各个时刻的温度值。本软件设计中还有重要的保存和显示历史记录的功能。利于将来进行对比分析数据。同时满足实时环境温度检测和多种用户的要求。

参考文献:

[1]. ATmega16 datasheet https://www.dzsc.com/datasheet/ATmega16_144718.html.
[2]. DS18B20 datasheet https://www.dzsc.com/datasheet/DS18B20_819975.html.
[3]. ALU datasheet https://www.dzsc.com/datasheet/ALU_2089372.html.

关键词:单片机

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!