基于Arduino的温度测量系统的研究.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Arduino的温度测量系统的研究.doc

基于Arduino的温度测量系统的研究 摘要:设计了一种基于Arduino Mega 2560和DS18B20的多点温度测量系统。该温度测量系统主要包含温度检测单元和控制单元两个部分,利用DS18B20的单总线结构,实现了电路简单、功能可靠的多点温度测量系统。可用于多点温度测量和温度场的分布测量等多种场合。 关键词:温度测量DS18B20Arduino单总线 中图分类号:TB393 文献标识码:A 文章编号:1007-9416(2016)06-0000-00 很多场合都需要进行温度检测,最常用的方法是采用单片机和温度传感器配合工作。但通常使用的单片机往往不容易上手,开发周期长。Arduino的出现解决了这一问题,它是一类便捷灵活、方便上手的开源电子原型平台[1]。基于AVR平台,Arduino对AVR库进行了二次编译封装,将端口都进行打包处理,因此不需要了解其内部硬件结构和寄存器设置,不需要用户直接处理底层系统,提高了应用程序的开发效率。本文利用Arduino的便捷灵活、方便上手这一特性,并选用DS18B20作为温度采集传感器,设计了一套多点温度测量系统。 1系统总体设计 系统的结构如图1所示,主要由温度采集单元和Arduino主控板构成。温度传感器DS18B20以单总线的连接方式将采集到的温度数据发送给Arduino主控板,Arduino主控板通过串口将整合后的温度数据上传到PC端,在PC端对接收到的数据进行显示、存储、分析。 2温度检测系统的硬件设计 2.1 主控板Arduino Mega 2560 Arduino Mega 2560是采用USB接口的核心电路板,它的处理器核心是ATmega 2560,具有54路数字输入/输出口,其中16路可作为PWM输出,16路模拟输入,4路UART接口,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮[2],其开发板图如图2所示。 与Arduino系列其他型号的开发板相比,Mega 2560是一个增强型的Arduino控制器,它提供了更多的输入输出口,可以控制更多的设备,以及拥有更大的程序空间和内存,为以后系统的升级提供了硬件基础。 2.2 DS18B20温度传感器 DS18B20是由美国DALLAS半导体公司推出的一种“一线总线”接口的温度传感器。具有体积小,硬件开销低,抗干扰能力强,精度高等特点,其常见的封装形式如图3所示。 DS18B20采用单总线的连接方式,单总线系统包括一个总控制器和多个DS18B20从机构成。通过单总线访问DS18B20的基本协议为:初始化、ROM操作命令、存储器操作命令和执行/数据四个步骤[3]。 由于每个DS18B20都有一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上,系统中数据口为主控板的P10引脚,用于读写和温度转换,电源由主控板的5V电压口直接提供,无需外部电源[4]。 2.3 温度测量电路设计 本文设计的温度检测系统利用了主控板自带的5V电源直接供电,省去了外部电源电路的设计。并采用了一个4.7KΩ的上拉电阻驱动多个DS18B20,省去了大量的上拉电阻,避免了因总线上节点过多而造成供电不足,同时进一步提高了温度传感器布线的灵活性,设计的温度测量电路如图4所示。 3温度检测系统的软件设计 首先Arduino在数据线上发出低复位脉冲,然后恢复总线为高,随后DS18B20发出响应脉冲,Arduino发现有响应脉冲后再搜索,按位逐个取得器件的序列号,也就是器件地址,再对各个器件发出转换命令进行测温,由每个DS18B20测温并把结果保存到自己的RAM中,经过转换时间后,由Arduino按地址读出每个DS18B20的测温结果,将温度数据发送到串口,上传至PC,其程序主流程图如图5所示。 4系统实现及实验 实现了一个13点的温度测量系统,为了验证该系统的可靠性,进行了温度场的分布测量实验。实验中采用医用特定电磁波治疗仪(TDP)的治疗灯头[5]的温度场分布作为测量对象,测试系统实物图如图6所示。 为得到医用TDP治疗灯头的温度场分布,进行了多次测温实验,灯头与测温系统的垂直距离分别取10cm,20cm,30cm,测温范围为50cm2的水平面。关于空间内的温度数据分析,本文以垂直距离为10cm时的温度数据为例进行了3D建模分析,其空间分布情况如图7所示,其中Z轴表示摄氏温度值,X-Y平面为10cm处的测温水平面,从图中可以看出,灯头中心处温度最高,随着与灯头中心距离的增加,温度逐渐降低。 5 结语 本文设计并实现了一种基于Arduino的多点温度测量系统,并利用该系统测量了医用TDP治疗灯头的温度场分布。TDP灯头的结构为圆盘形,其电热丝由内到外环绕在圆盘内,故其温度分布为中心处最高,由内到外逐

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档