数字化温度测量仪的设计.docx
- 文档编号:17991414
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:16
- 大小:299.99KB
数字化温度测量仪的设计.docx
《数字化温度测量仪的设计.docx》由会员分享,可在线阅读,更多相关《数字化温度测量仪的设计.docx(16页珍藏版)》请在冰点文库上搜索。
数字化温度测量仪的设计
第1章设计背景及思路
随着数字化技术的不断发展,传感器也得到了日新月异的发展,我们不再局限于从环境中采集来模拟信号,而是考虑如何得到可处理的数字信号,所以我们把温敏器件、A/D转换器、存储器集成在一起构成数字传感器。
在控制领域,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,而数字传感器与单片机更能够有机联系起来,传感器采集所需信息并且将其数字化,这样单片机就能够对其进行直接处理,从而实现两者的交互控制;其次由于单片机较强的核心控制能力,我们可以搭接辅助电路,进而得到实用的开发系统。
数字温度计可以采用这种模式,目前人们对其测量的准确性以及便捷性要求越来越高,如果我们从微控制器技术着手,那将很好解决这个问题。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,并且能对超限温度进行报警,此温度计既适合民用,在一定程度上也能满足工业或科研的需求。
该设计控制器使用单片机AT89S52,测温传感器使用MAX6675,用3位共阳极LED数码管实现温度显示,设计中的显示电路可使用译码器+LED,也可采用74LS164移位寄存器+LED,前者是并行传输数据,后者可在一定的时钟下串行传输。
超限报警电路采用蜂鸣器与NPN型三极管搭接成集电极开路,当单片机I/O口输出有效高电平,蜂鸣器就会长鸣。
图1.1系统框图
第2章设计方案
2.1方案论证
方案一:
可以使用温敏电阻之类的器件利用其感温效应,将温度的变化反应为电压或电流的变化,然后又A/D电路转换,最后由单片机进行数据处理,3位LED显示被测温度。
方案二:
可以考虑使用温度传感器MAX6675+AT89S52,MAX6675将热电偶测温应用时复杂的线性化、冷端补偿及数字化输出等问题集中在一个芯片上解决,简化了将热电偶测温方案应用于嵌入式系统领域时复杂的软硬件设计,因而该器件是将热电偶测温方案应用于嵌入式系统领域的理想选择。
故采用方案二。
2.2工作原理简介
本系统以AT89S52作为处理器,使用MAX6675作为温度传感器,配以温度显示、蜂鸣器电路。
整个系统力求结构简单,功能完善。
MAX6675进行现场温度测量,将测量数据送入AT89S52的P3.7口,经单片机处理后显示温度值,并与设定的报警温度上下限比较,若高于设定上限值或低于设定下限值则蜂鸣器发出报警。
2.3方案特色
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,AT89S52拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
MAX6675是一种高精度的集成芯片,体积小且不需要任何的其他外围电路,大大的减少了电路中的元件和I/O连线,从而简化了系统结构。
图2.1程序流程图
第3章硬件系统组成
3.1系统框图
图3.1温度计系统框图
温度计的设计框图如图1所示,主要由四部分组成:
单片机控制及其外围、MAX6675温度感应及测量模块、LED显示模块、温度过限报警模块。
其中微控制器采用AT89S52,LED显示部分可采用并行或串行传输数据。
图3.2传感器信号流图
如上图所示,由三个模块组成,分别为传感器、A/D转换、微处理器部分,由于MCU处理的是数字信号,所以需要A/D转换电路对传感器的数据进行数字化。
事实上,MAX6675是数字传感器,实则为集成了A/D转换部分,当然也拥有其余很多新功能。
3.2硬件介绍
3.2.1电路原理图
图3.3温度计电路原理图
上图为温度计电路原理图,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等,LED显示模块集成了译码器,其8个段选分别与单片机的P0的8个I/O口相连,其余3个位选分别与P2.0—P2.2相连,P1.0连接一个蜂鸣器组成报警电路,MAX6675的数据口与单片机的P3.7相连,另外两个口连在一块接地,这也是寄生供电的方式,即是由数据线给MAX6675供电,其余几个部分分别为单片机的时钟电路、复位电路、电源电路,几部分共同组成单片机的最小系统。
3.2.2微处理器AT89S52
作为比较经典的一款单片机,AT89S52具有低电压供电和体积小等特点,功耗不是很高很适合便携手持式产品的设计使用系统可用二节电池供电;此外,这款单片机指令系统比较丰富,已经能满足此系统的开发使用。
AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89S52具有以下标准功能:
●与MCS51兼容;
●8K支持在线编程(ISP)的FLASH结构程序存储器,1000次擦写寿命;
●工作电压为4.0V~5.5V;
●全静态工作:
0~24MHz;
●3级程序安全加密保护;
●256*8位内部RAM;
●32个可编程I/O端口;
●3个16位定时器/计数器;
●8个中断源;
●一个全双工异步串口;
●支持低功耗及掉电模式;
●支持中断从掉电模式唤醒;
●内置看门狗;
●双数据指针;
●工业级产品,温度范围(-40°C到85°C),PU为无铅环保产品。
3.2.3温度传感器MAX6675
MAX6675是美国Maxin公司生产的基于SPI总线的专用芯片,不仅能对K型热电偶进行冷端补偿,还能对热电势信号作数字处理,具有很高的可靠性和稳定性,可广泛应用于工业、仪器仪表、自动化领域等。
MAX6675的性能特点如下:
●具有冷端温度补偿及对温度进行数字处理;
●MAX6675采用12位ADC,测量温度范围0℃~1024℃,在0℃~700℃范围内的转换精度为±8个字;
●带SPI串行接口总线,适配单片机构成温度检测系统,允许将多片MAX6675挂在SPI总线上构成复
杂测温系统;
●能检测热电偶的开路故障,一旦热电偶开路,输出串行数据中的D2位就变成1;
●MAX6675的供电电源为0V~5V,串行时钟频率最高不得超过4.3MHz,低功耗,2000V的ESD信号;MAX6675是采用8引脚SO贴片封装,其内部结构框图如图3.4所示。
图3.4MAX6675内部结构
MAX6675SO端输出温度数据的格式如图3.5所示,MAX6675SPI接口时序如图3.6所示。
MAX6675从SPI串行接口输出数据的过程如下:
MCU使CS变低并提供时钟信号给SCK,由SO读取测量结果。
CS变低将停止任何转换过程;CS变高将启动一个新的转换过程。
一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读16个输出位,第1位和第15位是一伪标志位,并总为0;第14位到第3位为以MSB到LSB顺序排列的转换温度值;第2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由MAX6675实现,为开放热电偶检测器操作,T-必须接地,并使能地点尽可能接近GND脚;第1位为低以提供MAX6675器件身份码,第0位为三态。
图3.5MAX6675SO端输出数据的格式
图3.6MAX6675SPI接口时序
MAX6675内部具有将热电偶信号转换为与ADC输入通道兼容电压的信号调节放大器,T+和T-输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。
热电偶输出的热电势经低噪声放大器A1放大,再经过A2电压跟随器缓冲后,被送至ADC的输入端。
在将温度电压值转换为相等价的温度值之前,它需要对热电偶的冷端温度进行补偿,冷端温度即是MAX6675周围温度与0℃实际参考值之间的差值。
3.2.4AT89S52与传感器的接口电路
图3.6AT89S52与传感器的接口电路
热电偶的功能是检测热、冷两端的温度的差值,热电偶热节点温度可在0℃~+1023.75℃范围变化。
冷端即安装MAX6675的电路板周围温度,此温度在-20℃~+85℃范围内变化。
当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。
MAX6675是通过冷端补偿检测和校正周围温度变化的。
该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。
该器件内部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。
当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。
因此在实际测温应用时,应尽量避免在MAX6675附近放置发热器件或元件,因为这样会造成冷热误差。
3.2.5LED显示电路
图3.7LED显示电路
此显示电路采用的是静态显示方式。
工作时,从AT89S52的RXD(P3.0),输出数据,串行输入移位寄存器74LS164的数据输入口A和B;从TXD(P3.1)输出时钟,送至74LS164的时钟口CLK,然后74LS164把串行数据转换成并行数据进行锁存。
有74LS164输出的8位并行数据送至LED,从而实现数据的显示。
在电路原理图中采用的是译码器加LED,这样是通过数个I/O口并行传输数据。
第4章软件设计
此温度计软件程序主要包括初始化程序,读出温度、温度转换、计算温度程序,LED显示程序几部分。
4.1主程序流图
主程序的主要功能是负责温度的实时显示、读出并处理MAX6675的测量的当前温度值,温度测量每750ms进行一次。
这样可以在一秒之内测量一次被测温度,其程序流程见图4.1所示。
初始化的过程主要是由主机发出一复位脉冲,然后等待从机MAX6675响应的过程,其中也包括对MAX6675存储器的设置。
当初始化后,若是首次开机,此时系统会进入读温度,计算并刷新,进而由单片机转换温度,最后由LED显示;如果不是首次开机,则直接进行温度转换,显示已测温度值,再有LED显示。
这个过程的时间是极短的,显示子程序的调用也是实时的。
程序中告警的条件定义为温度高于TH或低于TL。
只要MAX6675一上电,完成温度转换后,会把测得的温度值与RAM中的用户自定义的TH、TL字节对比,若超限,则把该器件内的报警标志位置位,主机可进行搜索。
图4.1主程序流程图
4.2初始化及温度读取
系统的初始化主要包括单片机发出复位脉冲,MAX6675的响应,上面已阐述;接着是对ROM的操作:
读ROM、对比ROM、搜索ROM、跳过ROM、告警搜索。
读出温度子程序的主要功能是读出MAX6675暂存储器中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图4.2示:
复位、跳过ROM命令、读取RAM、检验CRC、匹配移入温度寄存器。
图4.2初始化及读取温度值
第5章课设总结
此次单片机课程设计在匆忙中完成,老实说真的感觉时间很不够,可能是自己还未充分利用好自己的时间。
通过此次课设,我发现仅仅掌握一些单片机基础知识非常不够,何况自己连这一点还未做到,联系到单片机这门课程的特性,它是应用产生的一门科学,比方说:
数字温度计,即是为了解决一个实际问题,单片机是解决问题的一个切入口,但对于一个系统来说,我们需要掌握很多相关知识,这些知识实际上是在一条链上,而我们往往不能很好把握它,最终的收获仅仅是重复而已。
作为一个大四的学生,自己也搞不清楚之前到底有什么确定的收益,学的东西不少,会弄的东西还真的不多,电子、通信或计算机衍生科学真的博大精深,思前想后,我们还是得从实践中把握真知,实际的项目工程就是最好的教科书。
当然,这些也只是在自己很好的把握这条知识链后的话题了。
短短的几天中,自己再一次对单片机的知识做了回忆性的学习,这加深了我对其得记忆。
更实在的是我学习了AT89S52单片机与MAX6675温度传感器,我相信自己在以后的学习中还能更好的使用它。
参考文献:
【1】阎石.数字电子技术基础[M].4版.北京:
高等教育出版社,1998
【2】张毅刚.单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版社,1997
【3】清华大学电子学教研组编.童诗白,华成英主编.模拟电子技术基础[M].3版.北京:
高等教育出版,2001
【4】谭博学苗慧静等.集成电路原理及应用[M].电子工业出版社2009,1-5
【5】刘连新,AT89S52单片机应用及介绍[R].2008,8-18
图1
图2
图3
图4
图5
图6
图7
图8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字化 温度 测量仪 设计