1、热电偶测温系统设计 摘要:热电偶传感器是目前接触式测温中应用最广的热电式传感器,在工业用温度传感器中占有及其重要的地位。该测温系统由温度测量电路、运算放大电路、A/D转换电路及显示电路组成,以89C51单片机为主控单元,由K型镍铬-镍硅热电偶测量热端温度T,测量范围在01200之间,由集成温度传感器AD590测量冷端温度T0,并对测温热电偶的热电势及AD590测得的补偿电势进行采样,送入A/D转换器转换成数字量,存放在单片机内存单元中,经程序解算后得到温度值,转换为BCD码,同时驱动四位数码管显示。试验结果显示,该系统对温度测量具有较高的精度,实现了温度测量功能,其主要技术指标达到了系统设计要
2、求。关键词:热电偶 ;温度 ;A/D;单片机 1.热电偶测温原理及系统框图1.1 热电偶测温原理热电偶的基本工作原理是热电动势效应。1823年塞贝克发现,将两种不同的导体(金属或合金)A和B组成一个闭合回路(称为热电偶,见图1-1),若两接触点温度(T,T0)不同,则回路中有一定大小电流,表明回路中有电势产生,该现象称为热电动势效应或塞贝克效应,通常称为热电效应。回路中的电势称为热电势或塞贝克电势,用EAB(T,T0)表示。两种不同的导体A和B称热电极,测量温度时,两个热电极的一个接点置于被测温度场(T)中,称该点为测量端,也叫工作端或热端;另一接点置于某一恒定温度(T0)的地方,称参考端或自
3、由端、冷端。T与T0的温差愈大,热电偶的热电势也愈大,因此,可以用热电势的大小衡量温度的大小。图1-1 热电效应当热电偶两电极的材料不同,且A、B固定后,热电偶的热电势EAB(T,T0)便成为两端温度T和T0的函数,即:EAB(T,T0)= E(T)E(T0) (1-1)也就是说,热电偶的热电势等于热端与冷端温度T和T0所引起的电势差。当T0保持不变,即E(T0)为常数时,则热电势EAB(T,T0)便为热电偶热端温度T的函数EAB(T,T0)= E(T)C=(T) (1-2)由此可知,EAB(T,T0)与T有单值对应关系,这就是热电偶测温的基本公式。1.2系统框图如图1-2所示。此方案采用89
4、C51单片机系统为核心开发热电偶测温系统。I/VAD590K型热电偶 放大 A/D 转换 (TLC 0832) 单片机89C51 显示电路 T0T图1-2 方案二的系统框图系统由四大部分组成:(1)温度测量电路及放大电路;(2)冷端温度补偿电路;(3)A/D转换电路;(4)89C51驱动的LED显示电路。对系统框图的说明如下:热电偶选用的是K型热电偶(镍铬-镍硅热电偶),测温范围选用01200度,利用集成温度传感器AD590进行冷端补偿,放大电路选用自动调零放大电路,A/D转换器选用TLC0832,单片机选用89C51,并扩4个74LS164,连接4个LED数码管。集成温度传感器AD590测量
5、冷端温度T0,其输出电流与绝对温度成正比(1A /K),它相当于一个温度系数为1A /K的高阻恒流源。将输出电流通过电阻及放大器转换成电压信号,送入A/D转换器转换为数字量,存放在内存单元中,完成了对补偿电势的采样。由K型镍铬-镍硅热电偶测量热端温度T,经放大器放大,再由A/D转化器转换成数字信号,单片机将该信号与内存中的补偿电势相加,得到真实的热电势值,并编程实现计算温度值,转换为BCD码,利用单片机驱动四个74LS164及LED数码管,显示被测温度。2.热电偶测温系统硬件电路设计2.1 温度测量及放大电路本系统设计选用K型(镍铬-镍硅)热电偶,此热电偶是目前用量最大的廉价金属热电偶,其用量
6、为其他热电偶的总和。型热电偶的正极为含铬10%的镍铬合金,负极为含硅3%的镍硅合金。可测量01300的介质温度,适宜在氧化性及惰性气体中连续使用,短期使用温度为1200,长期使用温度为1000。其主要特点如下:(1) K型热电偶具有线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜等优点,能用于氧化性惰性气氛中。广泛为用户所采用。(2) K型热电偶不能直接在高温下用于硫,还原性或还原,氧化交替的气氛中和真空中,也不推荐用于弱氧化气氛中。当氧分压较低时,镍铬极中的铬将择优氧化,使热电势发生很大变化,但金属气体对其影响较小,因此,多采用金属制保护管。为了实现温度的数字测量
7、和显示,或组成温度的巡检系统,或向计算机过程控制系统提供温度信号,都要对热电偶的热电势进行数字化处理。所以在采用热电偶的温度数字测量系统中,最基本的环节是热电偶和A/D转换器。使用时必须注意:(1)热电偶输出的热电势信号一般都很小(mV数量级),在进行A/D转换之前,必须经过高增益的直流放大。(2)热电偶的热电特性,一般来讲都是非线性的。欲使显示数和输出脉冲数与被测温度直接相对应,必须采用线性化措施进行非线性校正。可采用硬件校正法或软件校正法。在带有计算机或微处理器的测量系统中,非线性校正(和冷端补偿)工作,都直接由计算机完成,即所谓“软件校正法”。所谓“硬件校正法”即采用的是非线性校正装置。
8、由此可见,放大电路的必要性,此系统中温度测量及放大电路如图2-1所示,电路中A1、A2、A3运放组成同相输入并串差动放大器(仪用放大器),放大倍数为 (2-1)其中,适当调整Rp2 ,可使放大倍数Au=100。图2-1 温度测量及放大电路2.2 冷端温度补偿电路根据国际温标规定,热电偶的分度表是以To=0oC作为基准进行分度的,而在实际使用过程中,自由端温度To 往往不能维持在0oC,那么工作温度为T时在分度表中所对应的热电势EAB(T,0)与热电偶实际输出的电势值EAB(T,T0)之间的误差为EAB(T,0)- EAB(T,T0) = EAB(T0,0)。由此可见,差值EAB(T0,0)是自
9、由端温度To 的函数,因此需要对热电偶自由端温度进行处理。而且在工程测温中,冷端温度常随环境温度的变化而变化,将引入测量误差,故对冷端进行处理和补偿十分必要。冷端温度补偿有多种方法,如0恒温法(冰点槽法)、冷端温度修正法及冷端温度自动补偿法、AD590冷端温度补偿法等,该系统设计利用集成温度传感器AD590作为冷端补偿元件。如图2-2所示。AD590的主要特点:(1)线性电流输出:1A/K,正比于绝对温度;(2)测量温度范围宽:-55+150;(3)精度高:激光校准精度到5(AD590M);(4)线性好:满量程范围0.3(AD590M);(5)电压电源范围宽:+4+30V。图中,AD590只需
10、单电源工作,抗干扰能力强,要求的功率很低。AD590输出电流与绝对温度成正比(1A /K),它相当于一个温度系数为1A /K的高阻恒流源。因此在室温25时,其输出电流I=(273+25)=298A,即输出电流为 (2-2)又因为R9=10K,故 (2-3)由于一般电源供应较多器件之后,电源是带杂波的,因此我们使用齐纳二极管作为稳压元件,再利用可变电阻分压,将输出电压U2调整至2.73V 。放大器输出电压Uo为 (2-4)如果现在为摄氏28,则输出电压为2.8V,输出电压(CH0)接A/D转换器的输入通道,那么A/D转换输出的数字量就和摄氏温度成线形比例关系,方便后续的计算与处理。 图2-2 冷
11、端补偿电路2.3 A/D转换电路TLC0832是美国德州仪器公司生产的8位串行模数转换器,有两个可多路选择的输入通道,与单片机或控制器通过三线接口连线,性能比较高。TLC0832芯片具有以下特点:(1)8位分辨率;(2)5V单电源供电,基准电压为5V;(3)输入模拟信号电压范围为05V;(4)输入和输出电平与TTL和COMS兼容;(5)可直接和微处理器接口或独立使用;(6)在串行时钟为250KHz时,转换时间为32s,总非调整误差为1LSB,使用十分方便;(7)有两个可多路选择的模拟输入通道。TLC0832DIP封装的引脚分配图如下图2-3所示:图2-3 TLC0832DIP封装的引脚分配图各
12、引脚说明如下:为片选端,低电平有效;CH0,CH1为模拟信号输入端;DI为多路器地址选择输入端;DO为模数转换结果串行输出端;CLK为串行时钟输入端;GND为电源地;VCC/REF为正电源端和基准电压输入端。当为低电平时,启动A/D转换,在整个转换过程中必须始终为低电平,连续输入10个脉冲完成一次转换,数据从第2个时钟开始输出。转换结束后应将置为高电平,当重新拉低时将开始新的一次转换。TLC0832通过串行接口与CPU相连来传送控制命令,可用软件对通道和输入端进行选择和配置。转换开始后,器件从CPU接收时钟,在一个时钟的时间间隔前导下,以保证输入多路器稳定。在转换过程中,转换的数据同时从DO端
13、输出,并以最高位(MSB)开头。在经过8个时钟后,转换完成,当变高时,内部所有寄存器清零,此时,输出电路变为高阻态。DI和DO端可以连在一起,通过一根线连到处理器的一个双向I/O口进行控制。TLC0832的地址是通过DI端移入来选择模拟输入通道,同时也决定输入是单端还是差分输入。在本设计中,TLC0832的连接电路如图2-4所示,P1.2连接端,由P1.1提供串行时钟,DO和DI由P1.0控制,CH0为与AD590测得的温度成比例的电压信号,CH1为与热电偶测得的电势成比例的电压信号。/CS1CH02CH13GND4DI5DO6CLK7VCC/REF8U9TLC0832CH0CH1+5VGND
14、P1.2P1.1P1.0图2-4 TLC0832部分电路2.4.1单片机选择及部分功能简介MCU是整个系统的控制核心,由于温度测量系统的接口方便,综合考虑整个系统,选用美国ATMEL公司生产的AT89C51型单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,其外观引脚图如下:图2-5AT89C51外观
15、引脚图AT89C51提供以下标准功能:4k字节的flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式、空闲方式停止CPU工作,但允许RAM,定时/技术器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作指导下一个硬件复位。AT89C51共有4个双向的8位并行I/O端口,分别为P0P3,共有32根口线,端口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。P0P3的端口
16、寄存器属于特殊功能寄存器系列。这四个端口除了可以按字节寻址外还可以位寻址。其中P0口为漏极开路作为输出使用时应外加上拉电阻,P3口既可以做为普通I/O口使用,还可以作为特定的功能引脚。虽然51单片机只有一个串口接口,但其I/O口既可以用字节寻址也可以位寻址,这样在实际应用中,我们就可以通过模拟不同总线的时序特征来实现各种数据的传输。AT89C51单片机内部有一个功能强大的全双工的一部通信串口。其串行口有四种工作方式:分别为同步通信方式、8位异步收发、9位异步收发(特定波特率)、9位异步收发(定时器控制波特率)。它有两个物理上独立接收发送缓冲器SBUF,可同时发送、接收数据。波特率可由软件设置片
17、内的定时器来控制,而且每当串行口接收或发送1B完毕,均可发出中断请求。2.4.2AT89C51单片机的SPI实现对于不带SPI串行总线接口的AT89C51单片机来说,可以使用软件来模拟SPI的操作,包括串行时钟、数据输入和数据输出。对于不同的串行接口外围芯片,它们的时钟时序是不同的。对于在SCK的上升沿输入(接收)数据和在下降沿输出(发送)数据的器件,一般应将其串行时钟输出口P1.1(模拟MCU的SCK线)的初始状态设置为1,而在允许接口后再置P1.1为0。这样,MCU在输出1位SCK时钟的同时,将使接口芯片串行左移,从而输出1位数据至MCU的P1.3口(模拟MCU的MISO线),此后再置P1
18、.1为1,使单片机从P1.0(模拟MCU的MOSI线)输出1位数据(先为高位)至串行接口芯片。至此,模拟1位数据输入输出便宣告完成。此后再置P1.1为0,模拟下1位数据的输入输出,依此循环8次,即可完成1次通过SPI总线传输8位数据的操作。对于在SCK的下降沿输入数据和上升沿输出数据的器件,则应取串行时钟输出的初始状态为0,即在接口芯片允许时,先置P1.1为1,以便外围接口芯片输出1位数据(MCU接收1位数据),之后再置时钟为0,使外围接口芯片接收1位据(MCU发送1位数据),从而完成1位数据的传送。2.5 单片机控制的显示电路本设计使用的是一个四位共阳数码管,采用动态显示方式。当89C51单
19、片机的P0口总线负载达到或超过P0最大负载能力时,必须接74LS245等总线驱动器。其电路如图3-16所示。其中74LS245的片选跟三态控制引脚接地,数据由单片机向数码管传输。数码管的位的选择通过8550三级管进行控制,三级管基极通过限流电阻跟单片机的I/O口相连接,当端口为高电平时,三极管截止,当给端口为低电平时三极管导通,数码管相应的位被选中。这样可方便地对数码管每一位进行单独控制。R3-R10为限流电阻取值170500现取240。为保证三极管可靠开通关断,且要求数码管的亮度适量较高,基极电阻 R11-R14 可适量取小值,本设计取基极电阻为470。图2-6数码管显示电路74LS245是
20、我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。其引脚图如下:图2-7 74LS245引脚功能图74LS245还具有双向三态功能,既可以输出,也可以输入数据。当89C51单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端E低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当E为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端
21、相连,E端接地,保证数据线畅通。89C51的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。3. 热电偶测量温度系统软件设计3.1 软件总体流程设计软件设计采用单片机的C语言或汇编语言编程,运用模块化程序设计思想,对不同功能模块的程序进行分别编程,以便移植或调用,这样使软件层次结构清晰,有利于软件的调试修改。3.2 系统软件实现原理按照本系统的测温需要,需要得到热电偶测得的热电势和AD590测得的冷端温度进行计算以得到热电偶热端温度。AD590测得的冷端温度转换为与温度成正比的电压信号,并进行A/D转换,得到的数
22、字信号,送入单片机,由单片机计算其温度,并查K型热电偶的分度表,得到冷端温度对应的热电势(EAB(T0,0)),即补偿电势,存入内存中。热电偶测得的热电势通过放大电路进行放大,进入A/D转换器变为数字信号,采样结果通过P1.0引脚送入单片机内部,由单片机计算出原始的热电势(EAB(T,T0)),并与内存中的补偿电势相加,即得到真实的热电势值(EAB(T,0)),查K型热电偶的分度表,得到被测温度值,转换为BCD码,并通过串口将数据发送出去,驱动数码管显示正确温度值。3.3 系统程序构建热电偶测温系统软件部分采用模块化设计思想,将系统分为主程序、初始化处理模块、A/D转换模块、温度处理模块、显示模块,其软件系统的主程序实现流程如图3-1所示。图3-1