基于单片机的热电偶冷端温度控制论文
更新时间:2024-05-10 09:37:01 阅读量: 综合文库 文档下载
- 单片机热电偶温度控制程序推荐度:
- 相关推荐
基于单片机的热电偶冷端温度补偿设计
摘要:热电偶的冷端温度控制系统以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\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 单片机控制部分 ……………………………………………………
0
3.3 数字显示部分 ………………………………………………… 4.软件设计 …………………………………………………………………
4.1主程序……………………………………………………………… 4.2 液晶显示模块……………………………………………………… 5.系统测试及结果分析…………………………………………………………
5.1实用仪器及型号 ……………………………………………………… 5.2.2温度数据采集测试记录 …………………………………………… 6.总结 ……………………………………………………………………………… 参考文献……………………………………………………………………………
1. 引言
热电偶在热处理炉温控制,航空发动机排气温度点检等100~1300摄氏度高温度测量领域有着广泛的应用,测量精度意义重大。K型热电偶是工业生产中被广泛应用的廉价高温传感器。但由于:①产生的信号很微弱(仅约40μV/℃),需要精密放大器对其进行放大;②按0℃分度,冷端在非0℃情况下需进行温度补偿;③输出的信号为模拟信号,欲与单片机等数字电路接口时须进行A/D转换。因此,以往的热电偶测温电路比较复杂、成本高、精度低,而且容易遭受干扰。MAXIM公司新近开发出一种K型热电偶信号转换器(IC)MAX6675,该转换器集信号放大、冷端补偿、A/D转换于一体,直接输出温度的数字信号,使温度测量的前端电路变得十分简单。
1.设计任务及要求
设计一个热电偶冷端自动补偿温度控制系统,冷端在非0℃情况下需进行温
度补偿。采集的热电势经MAX667送入单片机,然后在显示器上显示现场的温度。
2.系统设计方案
该系统以AT89C51单片机为中心控制器件,主要由温度传感模块,A/D转换放大模块,单片机编程模块,显示模块,控制模块等部分组成,如图2.1
1
K型 热电偶 MAX6775 AT89C51 LCD显示 串行通信
图2.1 系统基本模块方框图
2.1各模块电路的方案选择及论证 2.1.1温度采集及控制模块
方案一:k型热电偶与MAX6775结合进行冷端温度补偿及温度的采集。电路简单、可靠性高、抗干扰性强 。
方案二:采用热敏电阻。选用此类元件的优点价格便宜,但由于热敏电阻的非线性特性会带来较大的误差。
方案三:使用带有A/D(模数转换)单片集成的DS18B20传感器。DS18B20数字温度计是DALLAS公司生产的即单总线器件,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据。具有线路简单,性能稳定体积小的特点。但DS18B20的程序较复杂,且时序时间较苛刻,不便于书写程序。
比较以上方案,结合设计精度要求最小区分度为1℃,所以选择方案一。
2.1.2主机控制模块
方案一:采用FPGA作为系统控制器。FPGA功能强大,可实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,可以减少体积,提高稳定性,并且可用EDA软件仿真、调试,易于进行功能扩展,但成本较高。由于本设计对数据的处理速度本不高,FPGA的高速处理优势得不到充分体现,且引脚较多,
2
方案二:采用模拟放大器组成的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电路构成,完成热电偶微弱信号的放大、冷端补偿和A/D转换功能。MAX6675采用8脚SO形式封装,图1为引脚排列图,T+接K型热电偶的正极(镍铬合金),T-接K型热电偶的负极(镍硅合金或镍铝合金);片选信号端CS为高电平时启动温度转换,低电平时允许数据输出;SCK为时钟输入端;SO为数据输出端,温度转换后的12位数据由该脚以SPI方式输出。
3
。
(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型热电偶,电压变化率为
41μV/℃,电压可由线性公式Vout=(41μV/℃)×(tR-tAMB)来近似热电偶的特性。上式中,Vout为热电偶输出电压(mV),tR是测量点温度;tAMB是周围温度
4
(3) 冷端补偿
热电偶的功能是检测热、冷两端温度的差值,热电偶热节点温度可在0℃~+1023.75℃范围变化。冷端即安装MAX6675的电路板周围温度,比温度在-20℃~+85℃范围内变化。当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。MAX6675是通过冷端补偿检测和校正周围温度变化的。该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。该器件内部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。因此在实际测温应用时,应尽量避免在MAX6675附近放置发热器件或元件,因为这样会造成冷端误差。
(4) 与单片机的通讯
MAX6675采用标准的SPI串行外设总线与单片机接口。MAX6675从SPI串行
接口输出数据的过程如下:单片机使CS置为低电平,并提供时钟信号给SCK,
5
由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.1μF陶瓷旁路电容。
(6)SPI串行接口
6
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单片机控制电路
7
8
3.4数字显示部分
在设计显示电路时,我们使用单片机AT89C51作为电路控制的核心,单片机AT89C51具有一个全双工的串行口,利用此串行口能够方便的实现系统的控制和显示功能。
LCD1LM016LVSSVDDVEERSRWERS4RW5E6123d07d18d29d310d411d512d613d714D0D1D2D3D4D5D6D7RP11d0d1d2d3d4d5d6d723456789RESPACK-8 3.4 数字显示部分
4.软件设计
程序设计采用了模块化思想,有一个主程序,两个应用程序,即温度采集程序、液晶显示程序。
4.1主程序
主程序首先进行系统初始化,对显示模块进行必要的初始化,设置系统显示界面。其次就是温度值的读取、显示。如图4.1:
9
DJNZ R7,RD_DATAL
MOV DATAL,A ;将数据低位移入缓冲区
SETB CS ;CS高电平,停止数据输出,启动新的数据转换;数据转换子程序,将读得的16位数据转换为12位温度值,去掉无用的位 MOV A,DATAL RLC A MOV DATAL MOV A RLC A SWAP A MOV B ANL A MOV TDATAH MOV A ANL A MOV B MOV A ANL A ORL A MOV TDATAL
,A ,DATAH
;整个数据位左移一位,去掉D15位 ;将DATAH中的高低4位数据互换 ,A ;数据暂存于B中
,#0FH ;得到温度数据高位字节部分D14 ~D11 ,A ;将温度值高位字节保存 ,B
,#0F0H ;得到温度数据低位字节部分D10 ~D7 ,A ,DATAL ;
,#0FH ;得到温度数据低位字节部分D6 ~D3 ,B ;合并的温度低位字节 ,A ;将温度值低位字节保存 15
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 ;设置显示(16×2) 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
16
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 '
17
END
#include
#define uchar unsigned char #define uint unsigned int
sbit DQ=P3^7;//ds18b20与单片机连接口 sbit RS=P3^0; sbit RW=P3^1; sbit EN=P3^2;
unsigned char code str1[]={%unsigned char code str2[]={%uchar data disdata[5]; uint tvalue;//温度值
uchar tflag;//温度正负标志
/*************************lcd1602程序**************************/ void delay1ms(unsigned int ms)//延时1毫秒(不够精确的) {unsigned int i,j; for(i=0;i void wr_com(unsigned char com)//写指令// { delay1ms(1); RS=0; RW=0; EN=0; P2=com; delay1ms(1); EN=1; delay1ms(1); EN=0; } void wr_dat(unsigned char dat)//写数据// { delay1ms(1);; RS=1; RW=0; EN=0; P2=dat; delay1ms(1); EN=1; 18 delay1ms(1); EN=0; } void lcd_init()//初始化设置// {delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5); } void display(unsigned char *p)//显示// { while(*p!='\\0') { wr_dat(*p); p++; delay1ms(1); } } init_play()//初始化显示 { lcd_init(); wr_com(0x80); display(str1); wr_com(0xc0); display(str2); } /******************************ds1820程序***************************************/ void delay_18B20(unsigned int i)//延时1微秒{ while(i--); } void ds1820rst()/*ds1820复位*/ { unsigned char x=0; DQ = 1; //DQ复位 delay_18B20(4); //延时 DQ = 0; //DQ拉低 delay_18B20(100); //精确延时大于480us DQ = 1; //拉高 19 delay_18B20(40); } uchar ds1820rd()/*读数据*/ { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;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; i>0; i--) { DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata>>=1; } } read_temp()/*读取温度值并转换*/ {uchar a,b; ds1820rst(); ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0x44);//*启动温度转换*/ ds1820rst(); ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0xbe);//*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; 20 else {tvalue=~tvalue+1; tflag=1; } tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数 return(tvalue); } /*******************************************************************/ void ds1820disp()//温度值显示 { uchar flagdat; disdata[0]=tvalue/1000+0x30;//百位数 disdata[1]=tvalue00/100+0x30;//十位数 disdata[2]=tvalue0/10+0x30;//个位数 disdata[3]=tvalue+0x30;//小数位 if(tflag==0) flagdat=0x20;//正温度不显示符号 else flagdat=0x2d;//负温度显示负号:- if(disdata[0]==0x30) {disdata[0]=0x20;//如果百位为0,不显示 if(disdata[1]==0x30) {disdata[1]=0x20;//如果百位为0,十位为0也不显示 } } wr_com(0xc0); wr_dat(flagdat);//显示符号位 wr_com(0xc1); wr_dat(disdata[0]);//显示百位 wr_com(0xc2); wr_dat(disdata[1]);//显示十位 wr_com(0xc3); wr_dat(disdata[2]);//显示个位 wr_com(0xc4); wr_dat(0x2e);//显示小数点 wr_com(0xc5); wr_dat(disdata[3]);//显示小数位 } /********************主程序***********************************/ void main() { init_play();//初始化显示 21 while(1) {read_temp();//读取温度 ds1820disp();//显示 } } 22
正在阅读:
基于单片机的热电偶冷端温度控制论文05-10
关于燃气轮机发电机组设备考察调研报告01-18
一幅刺绣作文650字07-12
2019年八年级语文上册 第二单元 第6课《回忆我的母亲》同步训练 新人教版10-24
S版六年级上册语文百花园一教案10-22
2018年电大特许经营概论期末考试机考单选全【微缩打印版】 (5)07-01
新时代教师学习教师法心得体会02-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 热电偶
- 温度控制
- 单片机
- 基于
- 论文
- 八年级语文知识竞赛试题
- 导师指导记录(定稿)
- 地质设计(参考)
- 海洋科学导论试题库
- (最新版)酒店服务毕业论文
- 品味十大男鞋品牌艾力斯顿alsdun - 图文
- 缓和段曲线参数及超高、加宽计算
- 省气瓶安全条例(草案)征求意见稿 doc
- 2017-2023年中国小黄姜行业市场调研与投资前景研究报告(目录)
- 丙硫唑
- 加油站防渗改造实施指导意见(摘录)2016-1-16
- 国内外新能源现状及趋势
- 综采电气设备试卷及答案
- 客户关系管理简答题
- 电子商务实务复习题-选择判断
- 商业伦理学期末考试题整理
- 安徽省2011年省级示范高中名校高三联考数学试题(理)
- 青岛市廉租住房保障资金管理实施办法
- 高中历史必修一第8课 美国联邦政府的建立练习题
- 国家电网公司施工项目部标准化工作手册 110(66)千伏变电工程分册