- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业设计(论文)基于单片机的精密温度计的设计
基于单片机的精密温度计的设计
电子信息科学与技术专业 学生:陈喜 指导老师:黄顺
摘 要: 为了满足物理实验室对温度测量的高精度和智能化的要求,研制了一种基于单片机STC12C5608和模数转换芯片AD7705的高精度数字温度计。该温度计以STC12C5608为主控芯片,利用铂电阻温度传感器PT100感应温度,AD7705进行数字量转化,通过串行接口SPI把数据传入到主控芯片,经处理后的温度在液晶显示屏LCD12864上显示。软件部分采用了均值法滤波和插值法进行非线性较准,提高了测量的精度,优化了硬件电路。该温度计设计新颖、功能强大、结构简单。测量范围为-50~+150,测量精度为0.01。
关键词:数字温度计;单片机STC12C5608;AD7705;高精度
1 引言
随着电子仪器的不断更新改进,数字温度计在测温领域得到广泛的运用,尤其是在物理实验室。物理实验室中使用的数字温度计大多采用铂电阻热传感器,它有较广的测温范围[1]。但是大部分的数字温度计测温精度不高,不能满足某些物理实验的测温要求。本文设计的数字温度计使用的是AD7705,它是一款比较典型的高性能16位∑-△A/D转换芯片,具有极高的分辨率[2]。该温度在硬件和软件上使用多种方法减少非线性误差,使之获得更高的精度。
2 设计原理
该数字温度计使用PT100铂电阻热传感器感应温度,由单片机控制的AD7705进行数模转换,并将数字量传入单片机,单片机接收数字量后进行处理,最后将温度显示。结合按键和单片机的智能控制,该数字温度计可以实现对温度测量、保持和定标功能。基本框图如图1所示。
图1 基本框图
3 硬件设计
3.1 电源部分
由于该系统需要稳定的5V电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器LM7805。它仅有输入端、输出端及公共端3个引脚,其内部设有过流保护、过热保护及调整管安全保护电路,由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。如图2所示。
图2 电源结构图
3.2温度传感器部分
热敏电阻的阻值和温度呈正比关系,设计人员只需将已知电流流过该电阻就可以得到与温度成正比的输出电压。根据已知的电阻-温度关系,就可以计算出被测温度值。电阻值随温度的变化称为“电阻的温度系数”,绝大多数金属材料的温度系数都是正数,而且许多纯金属材料的温度系数在一定温度范围内保持恒定[3]。所以,热敏电阻是一种稳定的高精度、并具有线性响应的温度检测器。具体应用中选用哪一种金属材料(铂、铜、镍等)取决于被测温度范围。铂金属的长期稳定性、可重复操作性、快速响应及较宽的工作温度范围等特性使其能够适合多种应用。因此,铂电阻热敏电阻是温度测量中最稳定的标准器件。
铂电阻传感通常对铂电阻采用两线或三线测量的方法,无法完全去除引线电阻的影响,因此本设计中采用四线测量法,去除引线电阻的影响[4]。
3.3 AD转换部分
AD转换部分的连线如图3所示。AD7705芯片需要一个独立的晶振,可为1M或2.4567M,此设计使用的是2.4576M。使用外部的晶振可提供模数转换更精准的同步信号[5]。AD7705为双基准,负基准接地,正基准为REF192提供2.5V电压。 图3 AD转换部分图
3.4 单片机控制及显示电路
单片机与各模块的连线如图4所示。单片机的复位电路为RC复位。使用22.1184MHz的晶振[6]。单片机与AD7705是使用SPI串行通信,使用端口少,速率较快。AD7705的串行时钟频率可接受到10M。AD7705为SPI从器件,DRDY引脚接入到到片机的外中断0的引脚,每转换完一次数就会触发外中断0,进而读取数据转换好的数据[7]。
本设计使用的液晶屏12232。12232有串行接口和并行接口,为了节省I/O口,本设计使用的是串行接口,占用3个I/O口。通过模拟串行时序来控制显示内容,同时12232带有中文字库,可显示汉字。
图4 单片控制部分
4 软件设计
主程序的主要功能是完成单片机在上电复位以后的初始化,对单片机中断的初始化、温度模块和显示模块的初始化及工作。温度模块的初始化主要是对AD7705初始化操作,即设置输出更新率、放大增益和输入通道等。然后进入大循环扫描按键和显示,每采集完25个数据进行一次数据处理,并得到温度值显示。如果处理后的数据不在指定范围内,就重新初始化AD7705,改变增益[8]。主程序流程图如图5所示。
图5 主程程序流程图
本设计采用线性插值法进行软件校正。铂丝热电阻的电阻值X与温度值Y呈非线性关系,对曲线按一定精度要求,把X轴分成若干段,按折线法做线性变换,并将分段基点Xi、Yi值标出,制成表格。分段越多,精度越精确。由于各段用直线代
您可能关注的文档
- 毕业设计(论文)基于matlab的智能多输入多输出智能解耦系统设计仿真.doc
- 毕业设计(论文)基于matlab的智能家居照明控制系统的设计.doc
- 毕业设计(论文)基于matlab仿真的pid控制研究.doc
- 毕业设计(论文)基于matlab电力系统谐波抑制的仿真研究.doc
- 毕业设计(论文)基于matlab信号处理工具箱的iir滤波器设计与仿真.doc
- 毕业设计(论文)基于matlab干涉系统仿真.doc
- 毕业设计(论文)基于net的红石酒店管理系统设计与开发.doc
- 毕业设计(论文)基于opencv的图像轮廓提取方法的实现.doc
- 毕业设计(论文)基于openssl的安全web服务器开发通信工程专业论文.doc
- 毕业设计(论文)基于php的微博系统的设计与实现.doc
文档评论(0)