毕业设计(论文)-基于单片机的热电偶冷端温度补偿设计.doc_第1页
毕业设计(论文)-基于单片机的热电偶冷端温度补偿设计.doc_第2页
毕业设计(论文)-基于单片机的热电偶冷端温度补偿设计.doc_第3页
毕业设计(论文)-基于单片机的热电偶冷端温度补偿设计.doc_第4页
毕业设计(论文)-基于单片机的热电偶冷端温度补偿设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的热电偶冷端温度补偿设计摘要:热电偶的冷端温度控制系统以AT89C51单片机为中心控制器件,主要由温度传感模块,A/D转换放大模块,单片机编程模块,显示模块等部分组成。温度信号由热电偶采集,经MAX6675进行冷端补偿并放大,然后送入单片机内。显示部分由“人机交互界面”的1602液晶显示,增加可读性。该系统具备较高的测量精度,能较好的完成设计要求。 Thermocouple cold end temperature control system based on AT89C51 single chip microcomputer as the central control device, mainly by the temperature sensing module, A / D conversion amplification module, MCU programming module, display module and other components. The temperature signal acquisition by thermocouple cold end compensation, by MAX6675 and amplification, and then into the single chip computer. The display section by interface of the 1602 liquid crystal display, increase readability. The system has higher accuracy, and better able to complete the design requirements.目 录1.引言设计任务及要求设计方案2.1各模块的电路的方案选择及论证2.1.1温度采集及控制模块2.1.2 主机控制模块2. 1. 3显示模块2.2系统各模块的最终案3.功能模块设计和参数计算 3.1温度采集及控制部分 3.2 单片机控制部分 3.3 数字显示部分 4.软件设计 4.1主程序 4.2 液晶显示模块5.系统测试及结果分析5.1实用仪器及型号 5.2.2温度数据采集测试记录 6.总结 参考文献1. 引言 热电偶在热处理炉温控制,航空发动机排气温度点检等1001300摄氏度高温度测量领域有着广泛的应用,测量精度意义重大。K型热电偶是工业生产中被广泛应用的廉价高温传感器。但由于:产生的信号很微弱(仅约40V),需要精密放大器对其进行放大;按0分度,冷端在非0情况下需进行温度补偿;输出的信号为模拟信号,欲与单片机等数字电路接口时须进行AD转换。因此,以往的热电偶测温电路比较复杂、成本高、精度低,而且容易遭受干扰。MAXIM公司新近开发出一种K型热电偶信号转换器(IC)MAX6675,该转换器集信号放大、冷端补偿、A/D转换于一体,直接输出温度的数字信号,使温度测量的前端电路变得十分简单。 1.设计任务及要求 设计一个热电偶冷端自动补偿温度控制系统,冷端在非0情况下需进行温度补偿。采集的热电势经MAX667送入单片机,然后在显示器上显示现场的温度。2.系统设计方案 该系统以AT89C51单片机为中心控制器件,主要由温度传感模块,A/D转换放大模块,单片机编程模块,显示模块,控制模块等部分组成,如图2.1AT89C51K型热电偶MAX6775串行通信LCD显示图2.1 系统基本模块方框图 2.1各模块电路的方案选择及论证2.1.1温度采集及控制模块方案一:k型热电偶与MAX6775结合进行冷端温度补偿及温度的采集。电路简单、可靠性高、抗干扰性强 。方案二:采用热敏电阻。选用此类元件的优点价格便宜,但由于热敏电阻的非线性特性会带来较大的误差。方案三:使用带有A/D(模数转换)单片集成的DS18B20传感器。DS18B20数字温度计是DALLAS公司生产的即单总线器件,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据。具有线路简单,性能稳定体积小的特点。但DS18B20的程序较复杂,且时序时间较苛刻,不便于书写程序。比较以上方案,结合设计精度要求最小区分度为1,所以选择方案一。2.1.2主机控制模块方案一:采用FPGA作为系统控制器。FPGA功能强大,可实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,可以减少体积,提高稳定性,并且可用EDA软件仿真、调试,易于进行功能扩展,但成本较高。由于本设计对数据的处理速度本不高,FPGA的高速处理优势得不到充分体现,且引脚较多,方案二:采用模拟放大器组成的PID控制系统。对于温度控制系统是足够的。但要附加显示,温度设置等功能,附加电路较多,且反应速度慢。方案三:采用AT89C51单片机作为控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑功能。本身带有定时/计数器,可以用来定时、计数,并且具有功耗低、体积小、技术成熟和成本低等优点。基于以上分析,拟定方案三,由AT89C51作为主机控制部分。2.1.3显示模块方案一:采用三个LED八段数码管分别显示温度的十位、个位和小数位。数码管具有低能耗,低损耗,寿命长,耐老化,对外界环境要求低。但LED八度数码管引脚排列不规则,动态显示时要加驱动电路,硬件电路复杂。方案二:采用可以显示字幕的1602液晶显示屏。1602液晶显示屏(LCD)具有功耗低、轻薄短小无辐射危险,平面显示及影像稳定,不闪烁,可视面积大,画面效果好,抗干扰能力强。同时,编程容易,且具有多种功能:光标显示、画面移位、睡眠模式,增加可读性,降低功耗。2.2系统各模块的最终方案根据以上分析,结合器件和设备等因素,确定如下方案:1采用AT89C51单片机作为控制器,分别对温度采集、LCD显示。2温度测量模块采用R热电偶与MAX6775相结合可实现冷端温度补偿高分辨率测量3显示用液晶显示屏显示实时温度值。3功能模块设计和参数计算3.1温度采集与控制部分系统的信号采样和转换电路主要由热电偶与MAX6775组成。(1)MAX6675内部电路构成、性能MAX6675的内部由精密运算放大器、基准电源、冷端补偿二极管、模拟开关、数字控制器及ADC电路构成,完成热电偶微弱信号的放大、冷端补偿和AD转换功能。MAX6675采用8脚SO形式封装,图1为引脚排列图,T+接K型热电偶的正极(镍铬合金),T-接K型热电偶的负极(镍硅合金或镍铝合金);片选信号端CS为高电平时启动温度转换,低电平时允许数据输出;SCK为时钟输入端;SO为数据输出端,温度转换后的12位数据由该脚以SPI方式输出。 。(1)GND接地端 (2) T- K型热电偶负极 (3) T+ K型热电偶正极 (4) VCC 正电源端 (5) SCK 串行时钟输入 (6) CS 片选端,CS为低时、启动串行接口 (7) SO 串行数据输出 (8 )N.C. 空引脚(2)温度变化MAX6675内部具有将热电偶信号转换为与ADC输入通道兼容电压的信号调节放大器,T+和T-输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。热电偶输出的热电势经低噪声放大器A1放大,再经过A2电压跟随器缓冲后,被送至ADC的输入端。在将温度电压值转换为相等价的温度值之前,它需要对热电偶的冷端温度进行补偿,冷端温度即是MAX6675周围温度与0实际参考值之间的差值。对于K型热电偶,电压变化率为41V/,电压可由线性公式Vout=(41V/)(tR-tAMB)来近似热电偶的特性。上式中,Vout为热电偶输出电压(mV),tR是测量点温度;tAMB是周围温度(3) 冷端补偿热电偶的功能是检测热、冷两端温度的差值,热电偶热节点温度可在0+1023.75范围变化。冷端即安装MAX6675的电路板周围温度,比温度在-20+85范围内变化。当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。MAX6675是通过冷端补偿检测和校正周围温度变化的。该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。该器件内部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。因此在实际测温应用时,应尽量避免在MAX6675附近放置发热器件或元件,因为这样会造成冷端误差。(4) 与单片机的通讯MAX6675采用标准的SPI串行外设总线与单片机接口。MAX6675从SPI串行接口输出数据的过程如下:单片机使CS置为低电平,并提供时钟信号给SCK,由SO读取测量结果。CS变低将停止任何转换过程,CS变高将启动一个新的转换过程。将CS变低在SO端输出第一个数据,一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读16个输出位,第1个输出位是D15,是一伪标志位,并总为0;D14位到D3位为以MSB到LSB顺序排列的转换温度值;D2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由MAX6675实现,为开放热电偶检测器操作,T-必须接地,并使接地点尽可能接近GND脚;D1位为低以提供MAX6675器件身份码,D0位为三态标志位。 MAX6675 SO端输出温度数据的格式如图3所示。 (5) 噪声补偿MAX6675的测量精度对电源耦合噪声较敏感。为降低电源噪声影响,可在MAX6675的电源引脚附近接入1只0.1F陶瓷旁路电容。(6)SPI串行接口MAX6675采用标准的SPI串行外设总线与MCU接口,且MAX6675只能作为从设备。MAX6675 SO端输出温度数据的格式如图3所示,MAX6675 SPI接口时序如图4所示。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.2 单片机控制部分此部分是电路的核心部分,系统的控制采用了单片机AT89C51。单片机AT89C51内部有8KB单元的程序存储器及256字节的数据存储器。因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。图3.2单片机控制电路3.4数字显示部分 在设计显示电路时,我们使用单片机AT89C51作为电路控制的核心,单片机AT89C51具有一个全双工的串行口,利用此串行口能够方便的实现系统的控制和显示功能。3.4 数字显示部分4.软件设计 程序设计采用了模块化思想,有一个主程序,两个应用程序,即温度采集程序、液晶显示程序。4.1主程序主程序首先进行系统初始化,对显示模块进行必要的初始化,设置系统显示界面。其次就是温度值的读取、显示。如图4.1:开始读max6675串行数据程序返回调用子程序数据处理温度采集流程4.2 液晶显示模快液晶显示模块主要完成人机交换界面的显示及系统相关的操作指示。具体能显示当前的温度值、预设值、控制功能(预设值加1、减1图标)。流程如图4.2:液晶驱动函数写命令函数写数据函数液晶管脚宏定义温度读取显示子函数图 4.2 液晶显示流程图4.3 温度读取单片机读取MAX6675转换来的温度信息二进制代码值,并依据电路原理及相关计算公式,将包含温度信息的二进制代码转化成相应的十进制温度值。5.系统测试及结果分析5.1实用仪器及型号K型热电偶、MAX66755.2测试数据结果在本系统中,温度数据的采集是最重要的部分,数据的准确度将直接影响到系统的可靠性。在测试的时候选用北师大的数字温度计2602作为基准温度。测试并记录数据如表一。表一 温度数据采集测试记录2602实测显示值()系统显示值()误差()40.340.5+0.252.852.9-0.165.265.2076.576.8+0.386.786.6-0.1由上表可知,低温测量的时候实际温度与系统温度的误差在1以内。综上所述此测温方法可以满足系统的需要。6.总结MAX6675将热电偶测温应用时复杂的线性化、冷端补偿及数字化输出等集中在一个芯片上解决,简化了热电偶测温电路的设计,实际运行结果表明,该测温系统抗干扰能力强、结构简单、可靠性高,测量精度满足要求。因此,在基于微处理器的单片机嵌入式工业测温系统中,由MAX6675构成的单片热电偶测温解决方案,具有良好的实用价值。在本次系统设计中遇到了很多困难,最后在老师的帮助、队友的配合下,最终得以解决,通过思考,更加深了对单片机的认识和了解。参考文献1 张毅刚.单片机原理及应用M.高等教育出版社, 2003.2高吉祥.全国大学生电子设计竞赛培训系列教程模拟电子线路设计M.北京:电子工业出版社,2007.5黄智伟.全国大学生电子设计竞赛训练教程M.北京:电子工业出版社,20054陈杰,黄鸿.传感器与检测技术M.北京:高等教育出版社,20085翟玉文等.电子设计与实践M.北京:北京中国电力出版社,20056 肖忠祥.数据采集原理M.西安:西北工业出版社,20027 余锡存,曹国华.单片机原理及接口技术西安:西安电子科技大学出版社,2004 8谭浩强.C程序设计(第三版)M.北京:清华大学出版社,2005Zhang Yigang 1. Single chip microcomputer principle and application M . Higher education press, 2003Gao Jixiang 2. The National Undergraduate Electronic Design Contest Training Series Course of analog electronic circuit design M. Beijing: Publishing House of electronics industry, 2007.5Huang Zhiwei. The National Undergraduate Electronic Design Contest Training Tutorial M . Beijing: Publishing House of electronics industry, 20054 Chen Jie, Huang Hong. The sensor and detection technology M. Beijing: Higher Education Press, 2008Zhai Yuwen 5 . Electronic design and practice M . Beijing: Beijing China Electric Power Press, 20056 Xiao Zhongxiang. Data acquisition theory M. Xian: Northwest Industry Press, 20027 Yu Xicun, Cao Guohua. The SCM theory and interface technology, Xian: Xian Electronic and Science University press, 20048 Tan Haoqiang C program design ( Third Edition ) M. Beijing: Tsinghua University press, 2005附件1:程序设计温度采集程序;温度值读取程序;位定义CS BIT P1.0 ;数据输入SCK BIT P1.1 ;片选SO BIT P1.2 ;时钟;数据字节定义DATAH DATA 40H ;读取数据高位DATAL DATA 41H ;读取数据低位TDATAH DATA 42H ;温度高位TDATAL DATA 43H ;温度低位CLR CS ;CS低电平,停止数据转换,输出数据D15CLR CLK ;时钟置为低电平MOV R7, #08H RD_DATAH: ;读数据高位字节D15-D8MOV C,SO ;读SO端数据RLC A ;累加器左移一位SETB SCKNOPCLR SCKDJNZ R7,RD_DATA MOV DATAH,A ;将数据高位移入缓冲区MOV R7,#08HRD_DATAL: ;读数据低位字节D7-D0MOV C,SO ;读SO端数据RLC A ;累加器左移一位SETB SCKNOPCLR SCKDJNZ R7,RD_DATALMOV DATAL,A ;将数据低位移入缓冲区SETB CS ;CS高电平,停止数据输出,启动新的数据转换;数据转换子程序,将读得的16位数据转换为12位温度值,去掉无用的位MOV A,DATAL RLC A MOV DATAL,AMOV A,DATAHRLC A ;整个数据位左移一位,去掉D15位SWAP A ;将DATAH中的高低4位数据互换MOV B,A ;数据暂存于B中ANL A,#0FH ;得到温度数据高位字节部分D14 D11MOV TDATAH,A ;将温度值高位字节保存MOV A,BANL A,#0F0H ;得到温度数据低位字节部分D10 D7MOV B,A MOV A,DATAL ;ANL A,#0FH ;得到温度数据低位字节部分D6 D3ORL A,B ;合并的温度低位字节MOV TDATAL,A ;将温度值低位字节保存 LED显示程序 RS EQU P2.0 RW EQU P2.1 E EQU P2.2 LDATA EQU P1 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#00H ;R0:每行显示字符的个数 MOV R1,#80H ;寄存器地址 MOV A,#38H ;设置显示(162) ACALL WIR MOV A,#0EH ;开显示,显示光标,光标不闪烁 ACALL WIR MOV A,#06H ;整屏显示不移动 ACALL WIR MOV A,#01H ;显示清屏 ACALL WIR MOV DPTR,#LCD LOOP0: MOV A,R1 ;写地址 ACALL WIR INC R1 ;地址加一 CJNE R1,#90H,TT ;判断第一行写完没有 MOV R1,#0C0H ;若写完,R1第二行地址 TT: MOV A,R0 MOVC A,A+DPTR ACALL WDR INC R0 ;计数R0加1 LCALL DELAY1 CJNE R0,#20H,LOOP0 ;R1不等于32则继续 RE: AJMP RE WIR: ACALL BUSY ;写指令寄存器子程序 CLR E ;初始化 CLR RS CLR RW SETB E MOV LDATA,A CLR E RET WDR: ACALL BUSY ;写数据寄存器子程序 CLR E SETB RS CLR RW SETB E MOV LDATA,A CLR E RET BUSY: PUSH ACC ;检测忙信号子程序 ISBUSY:CLR E CLR RS SETB RW SETB E MOV A,LDATA JB ACC.7,ISBUSY ;ACC.7=1,说明忙 POP ACC ACALL DELAY1 RET DELAY1:MOV R6,#5 ;延时子程序 D0: MOV R7,#248 DJNZ R7,$ DJNZ R6,D0 RET DELAY2:MOV R5,#2 D1: MOV R3,#245 D2: MOV R4,#245 DJNZ R4,$ DJNZ R3,D2 DJNZ R5,D1 RET LCD:DB MCS-51 TEST DB Xu Rui Feng END#include#define uchar unsigned char#define uint unsigned intsbit DQ=P37;/ds18b20与单片机连接口sbit RS=P30;sbit RW=P31;sbit EN=P32;unsigned char code str1=temperature: ;unsigned char code str2= ;uchar data disdata5;uint tvalue;/温度值uchar tflag;/温度正负标志/*lcd1602程序*/void delay1ms(unsigned int ms)/延时1毫秒(不够精确的)unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)/*写数据*/unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; del

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论