基于单片机的数码管显示的K型热电偶温度计的设计与仿真.docx
《基于单片机的数码管显示的K型热电偶温度计的设计与仿真.docx》由会员分享,可在线阅读,更多相关《基于单片机的数码管显示的K型热电偶温度计的设计与仿真.docx(38页珍藏版)》请在冰豆网上搜索。
![基于单片机的数码管显示的K型热电偶温度计的设计与仿真.docx](https://file1.bdocx.com/fileroot1/2023-1/24/92162269-8cf0-4639-8b38-869471cf9e40/92162269-8cf0-4639-8b38-869471cf9e401.gif)
基于单片机的数码管显示的K型热电偶温度计的设计与仿真
理工大学毕业设计(论文)
基于单片机的数码管显示的K型热电偶温度计的设计与仿真
学院(系):
信息工程学院
专业班级:
信息工程xxxx班
学生:
xx
指导教师:
xx
学位论文原创性声明
本人重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
学位论文使用授权书
本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士论文评选机构将本学位论文的全部或部分容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、囗,在年解密后适用本授权书
2、不囗。
作者签名:
年月日
导师签名:
年月日
摘 要
本文主要介绍了基于热电偶温度传感器的测温系统的设计。
利用转换芯片MAX6675和k型热电偶,将温度信号转换成数字信号,通过模拟SPI的串行通信方式输送数据,在通过单片机处理数据,最后由数码管显示数据。
本文采用了带有冷端补偿的温度转换芯片MAX6675、K型热电偶、89C51单片机、数码管等元器件设计了相应温度采集电路、温度转换电路、温度数码管显示电路。
结合硬件电路给出了相应的软件设计,测温精度可达到0.25℃。
本系统的工作流程是:
首先热电偶采集温度,数据经过MAX6675部电路的处理后送给单片机进行算法处理,最后通过数码管电路显示出测量温度。
本设计最后对系统进行了proteus的调试和仿真,实现了设计的要求。
关键词 温度传感器 热电偶 热时间常数 冷端补偿
ABSTRACT
Thisdesigndescribesthethermocoupletemperaturesensorbasedontherapidtemperaturemeasurementsystem. Thetemperaturesignalisconvertedintodigitalsignalsbyuseingconversionchipmax6675andk-typethermocouple,conveyingdataviaserialcommunicationsimulationspiinprocessingthedatathroughthemicrocontroller,thefinaldatafromthedigitaltubedisplay
ThisdesignusesatemperatureconversionchipMAX6675,K-typethermocouple,89C51microcontroller,LEDandothercomponents,designcorrespondingtemperatureacquisitioncircuit,temperatureconvertercircuit,theLEDdisplaycircuit.WiththehardwaregiveoutThecorrespondingsoftwaredesign,temperaturemeasurementaccuracyupto0.25℃.Thesystemworksis:
firstacquisitionthermocoupletemperaturedatathroughtheTreatmentoftheoftheMAX6675internalcircuitandbethensentto89C51Aimforrapidalgorithmprocessing.Finally,theLEDcircuitshowsthemeasurementtemperaturevalues.Inthelast,thedesignofthesystemwasproteusdebuggingandsimulation,achievethedesignrequirements.
KEYWORDSTemperaturesensorThermocoupleThermaltimeconstantCold
junctioncompensation
第1章 绪论
温度是反映物体冷热状态的物理参数,对温度的测量在冶金工业、化工生产、电力工程、机械制造和食品加工、国防、科研等领域中有广泛地应用。
在某些特殊的场合对温度的检测速度有很高的要求,例如:
在测量汽车发动机吸入空气的温度的时候,就要求热响应时间小于1s;航天飞机的主发动机的温度测量要求0.4s完成等。
因此针对以上问题就有人提出温度快速测量的思想。
通常用来测量温度的传感器有热电阻温度传感器、热敏电阻、热电偶、半导体温度传感器等几种。
这些常用温度传感器一般的温度测量中可以满足响应速度的问题。
但在特殊的场合就不能达到快速检测的要求,例如在气体温度测量时候,由于温度传感器自身的热滞特性,而气体传热过程又比较缓慢,气体温度测量就有很大滞后。
工业常用的精度较高的温度传感器有铂热电阻、半导体温度传感器等。
铂热电阻具有温度测量围大、重复性好、精度高等特点,但是响应不是很快,特别是在对气体温度测量时至少要几秒钟1]。
所以用温度传感器一般都存在着对气体温度变化响应较慢的问题。
在对温度实时性测量要求比较高的系统,运用常用温度测量方法很难做到对温度的快速测量,对系统的精度影响就很大。
但是将热电偶应用在基于单片机的嵌入式系统领域时,却存在着以下几方面的问题[2]。
①非线性:
热电偶输出热电势与温度之间的关系为非线性关系,因此在应用时必须进行线性化处理。
②冷端补偿:
热电偶输出的热电势为冷端保持为0℃时与测量端的电势差值,而在实际应用中冷端的温度是随着环境温度而变化的,故需进行冷端补偿。
③数字化输出:
与嵌入式系统接口必然要采用数字化输出及数字化接口,而作为模拟小信号测温元件的热电偶显然无法直接满足这个要求。
在许多热工实验中,往往面临热电偶冷端温度问题,不管是采用恒温补偿法(冰点补偿法)还是电桥补偿法,都会带来实验费用较高、实际的检测系统较复杂.难以达到实时测量、接口转换电路复杂等问题,而随着计算机测控技术在工业生产制造领域的普遍应用,温度参数的微机化测量与控制已成为必然趋势。
因此我们必须解决对热电偶测量信号的放大调理、非线性校正、冷端补偿、模数转换、数字输出接口等一系列复杂的问题,以及解决模拟与数字电路硬件设计过程和建表、查表、插值运算等复杂的软件编制过程,以达到使电路简化,成本减少,增加系统可靠性的目的。
鉴于上面的分析,本论文主要任务是设计一种基于高精度K型热电偶传感器测温系统。
采用带有冷端补偿的温度转换芯片MAX6675、K型热电偶、89C51单片机、数码管等元器件设计出相应温度采集电路、温度转换电路、数码管显示电路。
系统用单片机对带有冷端补偿的温度转换芯片MAX6675进行控制,要达到任务书中的技术指标,并对系统进行protues的调试和仿真试验,使其具有良好的实用性能,能够实现对固体表面、液体和气体温度的高精度测量。
第2章 系统原理概述
2.1 热电偶测温基本原理
热电偶测温的基本原理是两种不同成份的材质导体组成闭合回路[2],当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在热电动势,这就是所谓的塞贝克效应。
两种不同成份的均质导体为热电极,温度较高的一端为工作端(热端),温度较低的一端为自由端(冷端),自由端通常处于某个恒定的温度下。
根据热电动势与温度的函数关系制成热电偶分度表;分度表是自由端温度在0℃时的条件下得到的,不同的热电偶具有不同的分度表。
在热电偶回路中接入第三种金属材料时,只要该材料两个接点的温度相同,热电偶所产生的热电势将保持不变,即不受第三种金属接入回路中的影响。
因此,在热电偶测温时,可接入测量仪表,测得热电动势后即可知道被测介质的温度。
热电偶的热电势,应注意如下几个问题:
①、热电偶的热电势是热电偶两端温度函数的差,而不是热电偶两端温度差的函数;②、热电偶所产生的热电势的大小当热电偶的材料是均匀时,与热电偶的长度和直径无关,只与热电偶材料的成份和两端的温差有关;③、当热电偶的两个热电偶丝材料成份确定后,热电偶热电势的大小,只与热电偶的温度差有关。
若热电偶冷端的温度保持一定,这时热电偶的热电势仅是工作端温度的单值函数。
2.2 热电偶冷端补偿方案
热电偶测量温度时要求其冷端(测量端为热端,通过引线与测量电路连接的端称为冷端)的温度保持不变,其热电势大小才与测量温度呈一定的比例关系。
若测量时,冷端的(环境)温度变化,将影响严重测量的准确性。
在冷端采取一定措施补偿由于冷端温度变化造成的影响称为热电偶的冷端补偿。
2.2.1 分立元气件冷端补偿方案
方案一的热电偶冷端温度补偿器件是由分立元件构成的,其体积大,使用不够方便,而且在改变桥路电源或热电偶类型时需要重新调整电路的元件值。
主要包括温度采集电路、信号放大电路、A/D转换电路、热电偶冷端补偿电路、数码管显示电路等。
其系统框图如图2.1。
图2.1分立元气件冷端补偿
2.2.2 集成电路温度补偿方案
方案二采用热电偶冷端补偿专用芯MAX6675,MAX6675温度转换芯片具有冷端温度补偿及对温度进行数字化测量这两项功能[5]。
一方面利用置温度敏感二极管将环境温度转换成补偿电压,另一方面又通过模数转换器将热电势和补偿电压转换为代表温度的数字量,将二者相加后从串行接口输出的测量结果,即为实际温度数据。
主要包括温度采集电路、MAX6675温度转换电路、数码管显示电路等。
其系统框图如图2.2。
图2.2集成电路温度补偿
2.2.3 方案确定
综合对比以上两种方案,方案一电路复杂,且测量不精确照成误差较大,方案二采用集成温度转换芯片不仅能很好的解决冷端温度补偿及温度数值化问题,并消除由热电偶非线性而造成的测量误差,且精确度高,可实现电路的优化设计。
故最后采用方案二。
2.3硬件组成原理
本系统硬件主要由热电偶温度采集电路、MAX6675温度处理电路、89C51单片机控制电路、超量程报警电路和数码管显示电路组成。
热电偶采用分度号为K的热电偶,为了减少外界信号的干扰通过双绞线跟MAX6675芯片直接相连接。
MAX6675芯片通过模拟SPI串行接口传输数据,采用的89C51单片机对带有冷端补偿的温度转换芯片MAX6675进行控制。
本系统设计还具有报警的特点,当所测量的温度低于零摄氏度或者高于400摄氏度时报警电路发出警报。
显示电路由89C51单片机通过74LS373对六位共阴数码管控制,,当所测温度在规定围时就可以通过数码管快速显示出来
2.4软件系统工作流程
系统的软件工作流程为:
热电偶采集的温度数据;温度数据经过MAX6675部电路的AD转换、冷端补偿、部校正[6];温度转换电路将处理后12位数字温度量以串行方式送给单片机;单片机将数字量进行软件算法处理;如果测量温度在测量围,最后通过数码管显示出测量温度;如果超出测量围由单片机控制使报警电路报警。
其软件工作流程图如图2.3。
系统软件设计主要包含主程序,重新测量、超量程报警子程序、显示子程序等功能模块。
。
否
是
是
否
图2.3软件设计总体流程图
其中,SPI串口通信,可以利用proteus硬件仿真来查看,而数据处理是由keil软件仿真来查看结果,最后还是由proteus来验证整个设计是否成功。
第3章元件和软件介绍
3.1 单片机选择及最小系统
MCU是整个系统的控制核心,由于温度测量系统的接口方便,综合考虑整个系统,选用美国ATMEL公司生产的AT89C51型单片机[3]。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,其外观引脚图如下:
图3.7AT89C51外观图
AT89C51提供以下标准功能[4]:
4k字节的flash闪速存储器,128字节部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片振荡器及时钟电路。
同时,AT89C51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式、空闲方式停止CPU工作,但允许RAM,定时/技术器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的容,但振荡器停止工作并禁止其他所有部件工作指导下一个硬件复位。
AT89C51共有4个双向的8位并行I/O端口,分别为P0~P3,共有32根口线,端口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。
P0~P3的端口寄存器属于特殊功能寄存器系列。
这四个端口除了可以按字节寻址外还可以位寻址。
其中P0口为漏极开路作为输出使用时应外加上拉电阻,P3口既可以做为普通I/O口使用,还可以作为特定的功能引脚。
虽然51单片机只有一个串口接口,但其I/O口既可以用字节寻址也可以位寻址,这样在实际应用中,我们就可以通过模拟不同总线的时序特征来实现各种数据的传输。
AT89C51单片机部有一个功能强大的全双工的一部通信串口。
其串行口有四种工作方式:
分别为同步通信方式、8位异步收发、9位异步收发(特定波特率)、9位异步收发(定时器控制波特率)。
它有两个物理上独立接收发送缓冲器SBUF,可同时发送、接收数据。
波特率可由软件设置片的定时器来控制,而且每当串行口接收或发送1B完毕,均可发出中断请求[5]。
3.2热电偶介绍
热电偶是工程上应用最广泛的温度传感器。
它是将温度量转换为电量变化的装置。
它构造简单,使用方便,具有较高的准确度、稳定性及复现性,温度测量围宽,在温度测量中占有重要的地位。
当两种不同材料的导体或半导体连成闭合回路时,将两个接点分别置于温度为T和T0的热源中,该回路会产生热电势。
热电势的大小反映两个接点温度差,保持T0不变,热电势随着温度T变化而变化。
测得热电势的值,即可知道温度T的大小。
图3.1热电偶测温原理图
产生的热电势由两部分组成:
温差电势和接触电势。
3.2.1 K型热电偶概述
K型热电偶作为一种温度传感器,K型热电偶通常和显示仪表,记录仪表和电子调节器配套使用。
K型热电偶可以直接测量各种生产中从0℃到1300℃围的液体蒸汽和气体介质以及固体的表面温度[6]。
图3.2热电偶
镍铬-偶(K)型热电偶是目前用量最大的廉金属热电偶,其用量为其他热电偶的总和。
K型热电偶丝直径一般为1.2~4.0mm。
正极(KP)的名义化学成分为:
Ni:
Cr=92:
12,负极(KN)的名义化学成分为:
Ni:
Si=99:
3,其使用温度为-200~1300℃。
K型热电偶具有线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜等优点,能用于氧化性惰性气氛中广泛为用户所采用。
K型热电偶不能直接在高温下用于硫,还原性或还原,氧化交替的气氛中和真空中,也不推荐用于弱氧化气氛.
3.3数字温度转换芯片MAX6675简介
MAX6675是美国Maxin公司生产的基于SPI总线的专用芯片[9],不仅能对K型热电偶进行冷端补偿,还能对热电势信号作数字处理,具有很高的可靠性和稳定性,可广泛应用于工业、仪器仪表、自动化领域等。
其部结构框图如图3.3所示。
图3.3MAX6675部结构框图
3.3.1 冷端补偿专用芯片MAX6675性能特点
MAX6675的主要特性如下:
①简单的SPI串行口温度值输出。
②0℃~+l024℃的测温围。
③12位0.25℃的分辨率。
④片冷端补偿。
⑤高阻抗差动输入。
⑥热电偶断线检测。
⑦单一+5V的电源电压.
⑧低功耗特性。
⑨工作温度围-20℃~+85℃。
⑩2000V的ESD保护。
该器件采用8引脚50贴片封装。
引脚排列如图3.4所示,引脚功能如表3-1。
图3.4脚功能图
表3-1 引脚功能表
引脚
名称
功能
1
GND
接地端
2
T-
K型热电偶负极
3
T+
K型热电偶正极
4
VCC
正电源端
5
SCK
串行时钟输入
6
CS
片选端,CS为低时、启动串行接口
7
SO
串行数据输出
8
N.C.
空引脚
3.3.2 冷端补偿专用芯片MAX6675温度变换
MAX6675部具有将热电偶信号转换为与ADC输入通道兼容电压的信号调节放大器,T+和T-输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。
热电偶输出的热电势经低噪声放大器A1放大,再经过A2电压跟随器缓冲后,被送至ADC的输入端。
在将温度电压值转换为相等价的温度值之前,它需要对热电偶的冷端温度进行补偿,冷端温度即是MAX6675周围温度与0℃实际参考值之间的差值。
对于K型热电偶,电压变化率为41μV/℃,电压可由线性公式Vout=(41μV/℃)×(tR-tAMB)来近似热电偶的特性。
上式中,Vout为热电偶输出电压(mV),tR是测量点温度;tAMB是周围温度
3.4KEIL软件仿真软件介绍
keilc51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统[7],与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
此次的毕业设计主要是利用KEIL来完成程序的编写,主要用汇编语言来编写程序,用计时器来完成数码管动态显示的。
在16进制转换成10进制时,利用keil来查寄存器从而看程序是否能达到转换的目的。
3.5PROTEUS硬件仿真软件介绍
proteus软件是英国Labcenterelectronics公司出版的EDA工具软件[8]。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MATLAB等多种编译。
此次设计中,利用proteus完成整个电路的硬件仿真,并且在开始的数据采集阶段,利用proteus的示波器来查看数据是否传输。
以及最后的阶段,看数据是否正确显示。
第4章程序设计及硬件仿真
在这个部分,是根据数据的采集,传输,处理,显示来逐渐完成的。
其中,有的部分可以用keil来查看结果,有的部分可以用proteus来查看程序结果。
4.1数据的采集
热电偶作为一种主要的测温元件,具有结构简单、制造容易、使用方便、测温围宽、测温精度高等特点[14]。
但是,热电偶的应用却存在着非线性、冷端补偿、数字化输出等几方面的问题。
设计中采用的MAX6675是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器,其电路如图3-14所示。
K型热电偶的两端分别跟MAX6675芯片的T-跟T+相连,为了允许热电偶断路检测,T-引脚必须接地。
MAX6675的测量精度对电源耦合噪声较敏感。
为降低电源噪声影响,在MAX6675的电源引脚附近接入1只0.1μF瓷旁路电容。
温度由热电偶采集,然后将数据直接送给冷端补偿芯片MAX6675芯片进行处理,处理后送给单片机控制电路,完成简单的温度采集过程[9]。
图4.1温度采集硬件图
4.2数据传输部分
数据传输,即用单片机读取max6675的数字信号,其通信模式为SPI。
串行外围设备接口SPI(serialperipheralinterface)总线技术是Motorola公司推出的一种同步串行接口,Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口[10]。
SPI用于CPU与各种外围器件进行全双工、同步串行通讯。
SPI可以同时发出和接收串行数据。
它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:
串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线CS。
当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。
发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。
主SPI的时钟信号(SCK)使传输同步。
其时序图如下:
图4.2SPI通信模式时序图
对于不带SPI串行总线接口的AT89C51系列单片机来说,可以使用软件来模拟SPI的操作,包括串行时钟、数据输入和数据输出[11]。
MAX6675从SPI串行接口输出数据的过程如下:
MCU使CS变低并提供时钟信号给SCK,由S0读取测量结果。
CS变低将停止任何转换过程:
CS变高将启动一个新的转换过程。
一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读16个输出位,第l位和第15位是一伪标志位,并总为0,第14位到第3位为以MSB到LSB顺序排列的转换温度值;第2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由MAX6675实现,为开放热电偶检测器操作,T-必须接地,并使接地点尽可能接近GND脚;第1位为低以提供MAX6675器件身份码,第0位为三态。
对于在SCK的下降沿输入数据和上升沿输出数据的器件,则应取串行时钟输出的初始状态为0,即在接口芯片允许时,先置P1.1为0,以便外围接口芯片输出1位数据(MCU接收1位数据),之后再置时钟为1,使外围接口芯片接收1位数据(MCU发送1位数据),从而完成1位数据的传送。
Max6675因为是传输16位数据,所以要分为高8