热电阻温度控制系统解读.docx
- 文档编号:26444156
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:24
- 大小:218.45KB
热电阻温度控制系统解读.docx
《热电阻温度控制系统解读.docx》由会员分享,可在线阅读,更多相关《热电阻温度控制系统解读.docx(24页珍藏版)》请在冰豆网上搜索。
热电阻温度控制系统解读
河北工程大学
机电学院课程设计说明书
课程设计名称
基于AT89S52的电热片温度控制系统设计
教学系、部、室
测控系
专业
测控技术与仪器
学号
姓名
指导教师
目录
(一)功能描述…………………………………………………………
(二)系统分析及设计…………………………………………………
1系统框图…………………………………………………………..
2系统组成分析……………………………………………………
3测控系统硬件设计……………………………………………….
(1)温度测量电路………………………………………………
(2)主电路………………………………………………………
(3)控制电路……………………………………………………….
(4)报警与指示电路………………………………………….
(三)关键技术分析…………………………………………………
(四)系统总体电路设计……………………………………………..
(五)系统软件设计………………………………………………….
(六)课程设计总结………………………………………………….
基于AT89S52的电热片温度控制系统
摘要:
本文介绍了一种基于AT89S52单片机的电阻炉温度控制系统,阐述了系统的工作原理、硬件电路以及软件设计。
并且把整个硬件系统的电路设计划分为PT00温度传感器与AT89S52单片机的硬件接口电路设计、数据显示设计、通信接口电路设计。
该装置可实现环境温度的实时测量与控制,并能记录、存储相关数据,并附有通信接口,能应用方便。
具有精度高、稳定性好的特点。
此系统还设计了单片机与上位机的通信,实现了远程温度控制。
这种方案可大大地提高工作效率和控制精度,有助于自动化水平的提高,具有良好的经济效益和推广价值。
该系统经过实验,取得了较为满意的控制效果。
关键字:
单片机;AT89S52;温度控制系统;模数转换
(一)功能描述
温度测控系统是一个基于AT89S52单片机的温度测量闭环控制系统,能通过pt100温度传感器对电热片的温度信号进行采集,再由A/D转换芯片ADC0809将电压值转换成数字量,经单片机采集后与设定温度进行比较,并把温度显示在数码管显示器上。
当温度高于温度控制范围上线时,报警器发出蜂鸣声示警,同时AT89S52单片机会发出指令,关闭电热片的电源,同时开启散热扇,使温度不至于过高。
当温度降到控制温度下限时,散热扇接受单片机指令停止工作,单片机再次发出指令,开启电热片。
周而复始使温度始终控制在需求的控制范围之内。
该系统测温范围为200℃~400℃,报警上、下限为250℃-350℃。
2系统特点精度高、测温范围广、报警及时,可广泛应用于基于单片机的测温报警。
(二)系统分析及设计
1系统框图
2系统组成分析
1)AT89S52单片机
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
主要性能:
1、三个16位定时器/计数器;
2、六个中断源;
3、全双工UART串行通道;
4、低功耗空闲和掉电模式;
5、掉电后中断可唤醒;
6、看门狗定时器;
7、双数据指针;
2)温度传感器
信号采集与放大电路
Pt100输入:
179.528-247.092Ω
本设计采用热电阻传感器PT100,又叫铂电阻,热电阻,是一种温度传感器,铂电阻温度系数为0.0039×/℃,0℃时电阻值为100Ω,电阻变化率为0.3851Ω/℃。
采用不锈钢外壳封装,内部填充导热材料和密封材料灌封而成,尺寸小巧,适用于精密仪器、恒温设备、流体管道等温度的测量,非常经济实用。
铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区(-200℃~400℃)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。
按IEC751国际标准,温度系数TCR=0.003851,Pt100(R0=100Ω)、Pt1000(R0=1000Ω)为统一设计型铂电阻。
PT100温度传感器原理
PT100是一个温度传感器,是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在-200℃至650℃的范围.
电阻式温度检测器(RTD,Resistance,TemperatureDetector)是一种物质材料作成的电阻,它会随温度的上升而改变电阻值,如果它随温度的上升而电阻值也跟著上升就称为正电阻系数,如果它随温度的上升而电阻值反而下降就称为负电阻系数。
大部分电阻式温度检测器是以金属作成的,其中以白金(Pt)作成的电阻式温度检测器,最为稳定-耐酸碱、不会变质、相当线性最受工业界采用。
PT100温度感测器是一种以白金(Pt)作成的电阻式温度检测器,属于正电阻系数,其电阻和温度变化的关系式如下:
R=Ro(1+αT) 其中α=0.00392,Ro=100Ω(在0℃的电阻值),T为摄氏温度
因此白金作成的电阻式温度检测器,又称为PT100。
PT100温度传感器为正温度系数热电阻传感器,主要技术参数如下:
①测量范围:
-200℃~+650℃;
②允许偏差值
℃:
A级
,B级
;
③响应时间<30s;
④最小置入深度:
热电阻的最小置入深度≥200mm;
⑤允通电流≤5mA。
另外,PT100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。
鉑热电阻的线性较好,在0~100摄氏度之间变化时,最大非线性偏差小于0.5摄氏度。
鉑热电阻阻值与温度关系为:
①-200℃<t<0℃时,
;
②0℃≤t≤850℃时,
;
式中,A=0.00390802;B=-0.000000580;C=0.0000000000042735。
可见PT100在常温0~100摄氏度之间变化时线性度非常好,其阻值表达式可近似简化为:
,当温度变化1℃,PT100阻值近似变化0.39
。
1:
Vo=2.55mA×100(1+0.00392T)=0.255+T/1000。
2:
量测Vo时,不可分出任何电流,否则量测值会不准。
电路分析由于一般电源供应较多零件之后,电源是带杂讯的,因此我们使用齐纳二极体作为稳压零件,由于7.2V齐纳二极体的作用,使得1K电阻和5K可变电阻之电压和为6.5V,靠5K可变电阻的调整可决定电晶体的射(集极)极电流,而我们须将集极电流调为2.55mA,使得量测电压V如箭头所示为0.255+T/1000。
其后的非反向放大器,输入电阻几乎无限大,同时又放大10倍,使得运算放大器输出为2.55+T/100。
6V齐纳二极体的作用如7.2V齐纳二极体的作用,我们利用它调出2.55V,因此电压追随器的输出电压V1亦为2.55V。
其后差动放大器之输出为Vo=10(V2-V1)=10(2.55+T/100-2.55)=T/10,如果现在室温为25℃,则输出电压为2.5V。
工作原理:
传感器的接入非常简单,从系统的5V供电端仅仅通过电阻就连接到PT100了.这种接法通常会引起严重的非线性问题,但是.由于有了单片机的软件校正作为后盾,因此就简化了传感器的接入方式.
3)模数转换器
ADC0809引脚图
A/D转换器芯片ADC0809简介
8路模拟信号的分时采集,片内有8路模拟选通开关以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。
ADC0809的内部结构
ADC0809的内部逻辑结构图如下图所示。
ADC0809内部逻辑结构
图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。
地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,通道选择表。
信号引脚
ADC0809芯片为28引脚为双列直插式封装,对ADC0809主要信号引脚的功能说明如下:
IN7~IN0——模拟量输入通道
ALE——地址锁存允许信号。
对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。
START——转换启动信号。
START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。
本信号有时简写为ST.
A、B、C——地址线。
通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。
其地址状态与通道对应关系见表
CLK——时钟信号。
ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。
通常使用频率为500KHz的时钟信号
EOC——转换结束信号。
EOC=0,正在进行转换;EOC=1,转换结束。
使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。
D7~D0——数据输出线。
为三态缓冲输出形式,可以和单片机的数据线直接相连。
D0为最低位,D7为最高OE——输出允许信号。
用于控制三态输出锁存器向单片机输出转换得到的数据。
OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。
Vcc——+5V电源。
Vref——参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。
其典型值为+5V(Vref(+)=+5V,Vref(-)=-5V).
电路连接主要涉及两个问题。
一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。
④8路模拟通道选择:
启动A/D转换只需要一条MOVX指令。
在此之前,要将P2.0清零并将最低三位与所选择的通道对应的口地址送入数据指针DPTR中。
例如要选择IN0通道时,可采用如下两条指令,即可启动A/D转换:
MOVDPTR,#0FEF8H;送入0809的口地址MOVX@DPTR,A;启动A/D转换(IN0)注意:
此处的A与A/D转换无关,可为任意值
.转换数据的传送
A/D转换后得到的数据应及时传送给单片机进行处理。
数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。
为此可采用下述三种方式。
(1)定时传送方式
对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。
例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。
可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。
(2)查询方式
A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。
因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。
(3)中断方式
把表明转换完成的状态信号(EOC)作为中断请求信号以中断方式进行数据传送。
不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。
首先送出口地址并以
信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。
不管使用上述那种方式,只要一旦确认转换结束,便可通过指令进行数据传送。
所用的指令为MOVX读指令,
MOVDPTR,#0FEF8H;MOVXA,@DPTR
该指令在送出有效口地址的同时发出
有效信号,使0809的输出允许信号OE有效,从而打开三态门输出,是转换后的数据通过数据总线送入A累加器中。
这里需要说明的示,ADC0809的三个地址端A、B、C即可如前所述与地址线相连,也可与数据线相连,例如与D0~D2相连。
这是启动A/D转换的指令与上述类似,只不过A的内容不能为任意数,而必须和所选输入通道号IN0~IN7相一致。
例如当A、B、C分别与D0、D1、D2相连时,启动IN7的A/D转换指令如下:
MOVDPTR,#FE00H ;送入0809的口地址
MOVA,#07H;D2D1D0=111选择IN7通道
MOVX@DPTR,A;启动A/D转换
4)LED七段数码管显示器
LED数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。
①静态显示方式。
在静态显示方式下,每一位显示器的字段需要一个8位I/O口控制,而且该I/O口须有锁存功能,N位显示器就需要N个8位I/O口,公共端可直接接+5V(共阳)或接地(共阴)。
显示时,每一位字段码分别从I/O控制口输出,保持不变直至CPU刷新显示为止。
也就是各字段的亮灭状态不变。
静态显示方式编程较简单,但占用I/O口线多,即软件简单、硬件成本高,一般适用显示位数较少的场合。
②动态扫描显示方式。
当要求显示位数较多时,为简化电路、降低硬件成本,常采用动态扫描显示电路。
所谓动态扫描显示电路是将显示各位的所有相同字段线连在一起,每一位的a段连在一起,b段连在一起…g段连在一起,共8段,由一个8位I/O口控制,而每一位的公共端(共阳或共阴COM)由另一个I/O口控制。
这种连接方式由于将多位字段线连在一起,当输出字段码时,由于多门同时选通,每一位将显示相同的内容。
因此要显示不同的内容,必须采取轮流显示的方式。
即在某一瞬间时,只让某一位的字位线处于选通状态(共阴极LED数码管为低电平,共阳极为高电平),其他各位的字位线处于开断状态,同时字段线上输出这一位相应要显示字符的字段码。
在这一瞬时,只有这一位在显示,其他几位暗。
同样在下一瞬时,单独显示下一位,这样依次轮流显示,循环扫描。
由于人的视觉滞留效应,人们看到的是多位同时稳定显示。
本设计为动态显示,显示器由3个LED数码管组成。
输入有11个信号,它们是段选信号P2.0~P2.7和位选信号。
驱动电路可采用分立元件电路,也可采用集成驱动电路,此外有些硬件译码电路本身包括驱动电路。
由于这里采用动态输出,且单片机的内部结构决定了数码管可以直接由单片机驱动。
因此采用分立元件的显示驱动电路也很简单。
3系统硬件设计
本系统的硬件设计主要包括单片机的最小系统、温度采集电路、LED七段数码管显示器显示接口、键盘接口、蜂鸣器报警电路以及串口通信等。
AT89S52为主控制器件,AT89S52是ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含有8K字节的EPROM和256字节的RAM。
以下是各部分电路功能:
(5)报警和提示装置:
蜂鸣器和发光二极管
蜂鸣器报警电路由晶体管和蜂鸣器组成,由单片机I/O口输出信号控制晶体管的导通或者截止,晶体管导通,则蜂鸣器报警,通过单片机来控制蜂鸣器来产生报警声音。
另外,为了提醒注意,本系统还设计了两个发光二极管(一红一绿),用以区分是高温报警还是低温报警。
(6)散热装置
电风扇选择为12V,0.6W的。
(7)电热片
(8)继电器
为了能使单片机(AT89S52)能够控制电热片和电风扇的通断,本系统运用了继电器的开关特性,将通过I/O口的值来控制继电器的通断从而控制电风扇和电热片。
4.测控系统硬件设计
(1)温度测量电路
(2)控制电路
(3)报警及显示电路
报警电路
显示电路
(三)关键技术分析
通过对采样信号进行滤波减小随机误差由于外界干扰或某些不可预知的因素,模拟量在受到干扰后,经A/D转换后的结果偏离了真实值,可能会出现一些随机的误差,如果只采样一次,无法确定结果是否可信。
必须通过多次采样得到一个A/D转换的数据序列,通过软件算法处理后才能得到一个可信度较高的结果。
这种方法就是数字滤波。
通过数字滤波的方法可进一步提高温度的可信度。
(四)系统总体电路设计
见大图
(五)系统软件设计
系统总程序:
变量定义:
HIGNEQU20H;存放温度上限
LOWEEQU21H;存放温度下限
VSTREQU22H;存放标准位,0时设置上限,1时设置下限,2时显示
A_BITEQU30H
B_BITEQU31H
C_BITEQU32H
STARTBITP1.0;p3.0接0809的开始选通端口,输出允许控制端
EOCBITP1.1;外部中断0,当0809数据转换完成触发
;---------------------程序开始-----------------------------
ORG0000H
LJMPLP
AJMPMAIN
MAIN:
NOP
LCALLPROINIT
LOOP:
SETBP1.1;启动A/D转换
MOVDPTR,#0FEF8H
MOVX@DPTR,A
JNBP1.1,$
MOVXA,@DPTR
MOVSBUF,A
LCALLDELAY
MOVA,30H
CJNEA,20H,LP2
LCALLDELAY;处理后显示
LCALLKEY;调用键盘函数
AJMPMAIN
;---------------------初始化子程序-------------------
PROINIT:
MOV20H,#350
MOV21H,#250
MOV22H,#00
MOV30H,#00
MOV31H,#00
MOV32H,#00
MOV33H,#00
RET
;-----------------送显前的数值转换程序---------------
DAT_COV:
SETBSTART;打开输出允许控制端
MOVA,P0
NOP
NOP
CLRSTART
MOVB,#51
DIVAB;除以51即是乘以5除以255
MOV30H,A;30H中是整数部分
MOVA,B
MOVB,#5
DIVAB
MOV31H,A
MOVA,B
MOVB,#2
MULAB
MOV32H,A
RET
=================================
键盘程序
SB1为功能键
SB2设置数据+
SB3设置数据-
=================================
KEY:
JNBP2.0,KEY1
JBP2.0,$;按键松开取键值
MOVA,22H;有功能键按下
INCA
CJNEA,#2,LP4
MOV22H,A
KEY1:
JNBP2.1,KEY2
JBP2.1,$;等待按键弹起
JCLP5
MOVA,20H;设置上限加
INCA
MOV20H,A
LP5:
MOVA,21H;设置下限加
INCA
MOV21H,A
KEY2:
JNBP2.1,LP4
JBP2.1,$;等待按键弹起
JCXIAXIAN0
MOVA,20H;设置上限加
DECA
MOV20H,A
XIAXIAN0:
MOVA,21H;设置下限加
DECA
MOV21H,A
LP4:
MOV22H,#00
RET
;=================================
中断程序
;=================================
LP:
LCALLDAT_COV;数据处理
CLRF0
RET
;=================================
;报警函数
;=================================
LP2:
CPLC
MOVP1.4,C;光报警
MOVP3.4,C;声报警
MOVP1.7,C
LCALLDELAY
CLRP1.4
CLRP3.4
MOVP1.5,C;光报警
MOVP3.4,C;声报警
MOVP1.6,C
LCALLDELAY
CLRP1.5
CLRP3.4
RET
DELAY:
MOVR0,#0AH
DL2:
MOVR1,#125
DL1:
NOP
NOP
DJNZR1,DL1
DJNZR0,DL2
RET
;=================================
;数码管显示部分
;=================================
;第一位显示
MOVDPTR,#TAB;指定查表启始地址
MOVA,A_BIT;取第一位数
MOVCA,@A+DPTR;查第一位数的7段代码
SETBP3.2
MOVP1,A;送出第一位的7段代码
LCALLDELAY
CLRP3.2开第一位显示
;第二位显示
MOVDPTR,#TAB;指定查表启始地址
MOVA,B_BIT;取第二位数
MOVCA,@A+DPTR;查第二位数的7段代码
SETBP3.1
MOVP1,A;送出第二位的7段代码
LCALLDELAY
CLRP3.1;开第二位显示
;第三位位显示
MOVDPTR,#TAB
MOVA,C_BIT;取第三位数
MOVCA,@A+DPTR;查第三位数的7段代码
MOVP1,A;送出第三位的7段代码
SETBP3.0
LCALLDELAY;显示8ms
CLRP3.0;开第三位显示
RET
;=================================
;数码管段码数据表;共阴数码管
;=================================
TAB:
DB3fH,06H,5bH,4fh,66H,6dH,7dH,07H,7fH,6FH
END
(六)课程设计总结(此段仅供参考)
这次课程设计用到单片机,CAD制图、汇编语言、模拟和数字电路知识等好多知识,这些好多都是以前学过的内容,虽然感觉理论上已经掌握,但在运用到实践的过程中还是感觉不够用,很多基础的东西都还没有很好的掌握。
小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。
要做好一个课程设计,就必须做到:
在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
课程设计结束了,我的发现、提出、分析、解决问题和实践能力都有提高。
我在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 热电阻 温度 控制系统 解读