温度采集系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方案设计与分析
1温度控制系统方案
测温系统采用集成温度传感器AD590测量温度,AD590具有线性优良、性能稳定、灵敏度高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便等优点。
可广泛应用于各种冰箱、空调器、粮仓、冰库、工业仪器配套和各种温度的测量和控制等领域。
将AD590测得的温度信号经转换电路转换为电压量输出,再经AD转换后,将数据送入单片机处理,最后由显示电路显示所测温度,此外还设有键盘,用来设置温度,将测得温度与设置温度比较后,由指示灯指示系统所处的工作状态。
2硬件资源简介
2.1 89C51简介
89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—F alsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89 C2051是它的一种精简版本。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.3三端稳压器LM7805简介
三端稳压集成电路lm7805电子产品中,常见的三端稳压集成电路有正电压输出的lm78 ××系列和负电压输出的lm79××系列。
顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。
它的样子象是普通的三极管,TO- 220 的标准封装,也有lm9013样子的TO-92封装。
用lm78/lm79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
该系列集成稳压IC型号中的lm78或lm79后面的数字代表该三端集成稳压电路的输出电压,如lm7806表示
输出电压为正6V,lm7909表示输出电压为负9V。
为三端固定集成稳压电路的使用方便,电子制作中经常采用。
2.4 AD590简介
AD590是美国ANALO G DEV ICES 公司的单片集成两端感温电流源。
其主要特性如下:
(1) 流过器件的电流(μA) 等于器件所处环境的热力学温度(开尔文) 度数:I r/T=1 式中,Ir—流过器件(AD590) 的电流,单位为μA;T—热力学温度,单位为K;
(2) AD590的测温范围为- 55℃~+150℃;
(3) AD590的电源电压范围为4~30 V,可以承受44 V正向电压和20 V 反向电压,因而器件即使反接也不会被损坏;
(4) 输出电阻为710 mΩ;
(5) 精度高,AD590在- 55℃~+150℃范围内,非线性误差仅为±0.3℃。
2.5 ADC0801简介
ADC0801是逐次逼近式8位MOS型AD转换器。
3系统结构图
温度系统的总体结构框图如图3-1所示。
主要包括温度采集、实时温度显示、报警指示、输入键盘,系统核心采用AT89C51单片机作为微处理器。
图3-1 系统总体原理框图
温度采集部分将数据传入单片机进行数据处理,然后送到实时显示部分显示。
实时显示部分可以显示通过键盘输入的设置温度,默认设置温度为20℃。
将所测温度与设置的温度进行比较后报警。
4系统设计
4.1硬件设计
4.1.1电源设计
测温电路需要+12V、-12V电源,单片机系统和显示电路需要+5V电源,将220V交流电压变压整流后经三端稳压器LM7805、LM7812、LM7912分别输出+5V、+12V、-12V电压。
图4-1
4.1.2最小系统
本设计采用AT89C51单片机,采取上电自动复位和手动复位两种复位方式。
连接电路图如图4-2。
图4-2
4.1.3键盘设计
设置温度值采用两个按键,以中断方式输入,分别接单片机的P32和P33口,一个按键控制数值递增,另一个控制递减。
图4-3
4.1.4显示LED
显示分为两部分,分别显示两位测得温度值和两位设置的温度值,为减少对单片机IO口的占用,采用扫描显示方式,将四个数码管并联,数据口接单片机
P2口,控制端接P1口的低四位。
图4-4
4.1.5输入部分
测温电路首先应将电流转换成电压。
由于AD590为电流输出元件,在0℃时输出的电流I=273 uA,温度T每增加1℃,I增加1u A。
输出的电压变化为: Δv=1uA×R2
系统要求电压变化范围在0—5伏,可解得R2<62.5K,设计中R2采用了52K 的电阻。
当温度为-10摄氏度时,要求输出电压尽量接近于0 V,
U0=(It-Vcc/R1) ×R2=0
由上述公式,得R1约为56k,本设计中取R1=56.3
图4-5
ADC0801是逐次逼近式8位MOS型AD转换器,其转换电路如下图,数据总线接单片机的P0口,RD脚接P37,WR脚接P36,转换结束状态信号接P30,用查询方式转换。
图4-6
4.2软件设计
4.2.1主程序
主程序流程框图如图4-2-1,外部中断0的中断服务程序流程框图见图4-2-2,外部中断1的中断服务程序见图4-2-3。
图4-2-1主程序流程图 图4-2-2外部中断0服务程序流程图 图4-2-3外部中断1服
务程序流程图
4.2.2模块化设计程序
#include "reg51.h" #include "intrins.h" #define uchar unsigned char #define uint unsigned int sbit ds=P1^0; sbit dula=P2^6; sbit wela=P2^7; uchar flag ; uint temp;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef};
void TempDelay (uchar us)
{
while(us--);
}
void delay(uint count)
{
uint i;
while(count)
{
i=200;
while(i>0)
i--;
count--;
}
}
void init_com()
{ TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
// REN=1;
PCON=0;
// SMOD=0;
// EA=1;
//ES=1;
}
void display(uint temp) {
uchar qian,bai,shi,ge;
qian=temp/1000;
bai=t temp%1000/100;
shi=temp%100/10;
ge=temp%100%10; dula=0;
P0=table1[qian];
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
delay(1);
P0=table[bai];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delay(1);
P0=table1[shi];
dula=1;
dula=0;
P0=0xfc;
wela=1;
wela=0;
delay(1);
P0=table[ge];
dula=1;
dula=0;
P0=0xfb;
wela=1;
wela=0;
delay(1);
}
5方案综合评价与分析
本设计采用集成温度传感器AD590测量温度,AD590具有线性优良、性能稳定、灵敏度高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便等优点。
将AD590测得的温度信号经转换电路转换为电压量输出,再经AD转换后,将数据送入单片机处理,最后由显示电路显示所测温度,此外还设有键盘,用来设置温度,将测得温度与设置温度比较后,由指示灯指示系统所处的工作状态。
同时借助protel99SE软件,绘制出系统原理图以及系统的元件封装图,充分利用所学知识进行软硬件设计,结合实际,最终形成简单的温度控制系统。
该温度控制系统结构,通过单片机和简单的模拟电路实现对温度的控制和显示,可以应用到生产和生活等对温度控制要求较低的场合。