模电课设温度传感器设计.docx
《模电课设温度传感器设计.docx》由会员分享,可在线阅读,更多相关《模电课设温度传感器设计.docx(11页珍藏版)》请在冰点文库上搜索。
模电课设温度传感器设计
武汉理工大学
模拟电路课程设计报告
初始条件:
具备模拟电子电路的理论知识;具备模拟电路基本电路的设计能力;具备模拟电路的基本调试手段;自选相关电子器件;可以使用实验室仪器调试。
2.2单片机电源部4
2.5单片机控制部分7
第四节总电路图……………………….………………...…………………………………..10
附录:
附表1总电路图………………………………………………………...13
·第一节引言
随着科学研究、工业和家用电器等方面对测温和温控的需要,各种新型的集成电路温度传感器不断被研制出来。
集成温度传感器是将温敏晶体管与相应的辅助电路集成在同一块芯片上。
它能直接给出正比于绝对温度的理想线性输出。
利用AT89C51单片机为核心,配合温度传感器,信号处理电路,显示电路,可将温度传感器检测到的水温模拟量转换成数字量,显示于LED显示器上。
在众多温度传感器中,集成温度传感器AD590因其线性好、精确度高和易于实现计算机在线测试与数据处理等优点.在生活中有着广泛的应用。
·1.1温度检测系统概述
能源问题已经是当前最为热门的话题,离开能源的日子,世界将失去一切颜色,人们将寸步难行,虽然本设计是节省电能角度出发,而电能又是可再生能源,但是在今天还是有很多的电能是依靠火力,核电等一系列不可再生的自然资源所产生,一旦这些自然资源耗尽,我们将面临电能资源的巨大的缺口,因而本设计从开源节流的截角度出发,节省电能,保护环境。
·1.2本设计任务和主要内容
设计并制作一个温度检测系统。
本设计主要内容如下:
(1)温度测定范围为0~99℃,最小区分度为1℃,标定温度≤1℃。
(2)环境温度降低时温度测量的静态误差≤1℃。
(3)用十进制数码管显示水的实际温度。
·第二节系统主要硬件电路设计
·2.1单片机控制系统原理
·2.2单片机电源部分
·2.3温度采样电路
·2.3.1温度传感器的选取
目前市场上温度传感器较多,有以下几种:
方案一:
选用铂电阻温度传感器,此类温度传感器线性度、稳定性等方面性能都很好,但其成本较高。
方案二:
采用热敏电阻,选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。
方案三:
选用美国AnalogDevices公司生产的二端集成电流传感器AD590。
其测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃。
此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。
比较以上三种方案,方案三具有明显的优点,因此选用方案三。
2.3.2温度传感器AD590
测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃。
AD590为电流型传感器温度每变化1℃其电流变化1uA在35℃和95℃时输出电流分别为308.2uA和368.2uA。
其外形如图1,采用金属圆壳3脚封装,管脚1为电源正端“+”,2脚为电流输出端“-”,3脚为管壳接地端,一般不用。
电路符号如图2所示。
·2.3.3电路原理及参数计算
3、接下来我们用差动放大器使其输出V。
为(100K/10K)·(V2-V1)=T/10。
由于ADC0804的最大输入电压为5V,所以将电路中的100KΩ电阻分别用一个47KΩ的电阻和5KΩ的滑动变阻器的串联电路代替。
这样,当温度在0-100℃变化时,输出的电压V。
的范围是0-5V。
·2.3.4ADC0804性能描述
ADC0804为8bit的一路A/D转换器,其输入电压范围在0—5v,转换速度小于100us,转换精度0.39﹪。
ADC0804的Vin接采样电路的V。
口,Vref用两个1KΩ的电阻分压得到。
CS管脚接地,使ADC0804始终处于选通的状态。
输出口DB0-DB7分别接到单片机STC89C52的P1^0-P1^7管脚,将转换后的模拟信号输给单片机。
读信号输入端RD和写信号输入端分WD分别接到单片机的P2^3和P2^4端口。
·2.4温度显示部分
温度显示部分采用两个数码管,显示范围为0-99.数码管采用公阴极数码管,a-dp分别接在锁存器74HC573的Q0-Q7上。
数码管的gnd分别接到单片机的P2^6和P2^5,以控制位选。
而锁存器74HC573的输入端D0-D7分别接到单片机的P0^0-P0^7,锁存端与P2^7连接,以控制数据的输入。
·2.5单片机控制部分
单片机控制部分采用STC89C52控制。
管脚接法如下图
其中,CON9为上拉电阻。
所用晶振为12MHz。
·第三节系统的软件设计
#include//52系列单片机头文件
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitdula=P2^7;//申明U3锁存器的锁存端
sbitled_a=P2^6;//申明数码管a的gnd
sbitled_b=P2^5;//申明数码管b的gnd
sbitadwr=P2^3;
sbitadrd=P2^4;
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
voiddelayms(uintxms)//延时函数
{
uinti,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
voiddisplay(ucharshi,ucharge)//显示子函数
{
led_a=0;led_b=1;//选通数码管a,关闭数码管b
dula=1;
P0=table[shi];//送段选数据
dula=0;
delayms(5);//延时
led_a=1;led_b=0;//选通数码管b,关闭数码管a
dula=1;
P0=table[ge];
dula=0;
delayms(5);
}
voidmain()
{
uchara,A1,A2,advalue,temperature;
dula=1;//数码管显示清零
P0=0x00;
dula=0;
while
(1)
{
adwr=1;//关闭A/D转换
_nop_();//延时一个机械周期
adwr=0;//启动A/D转换
_nop_();
adwr=1;
for(a=20;a>0;a--)
{
display(A1,A2);
}
P0=0x00;//读取P1口之前先给其写全0
adrd=1;
_nop_();
adrd=0;//A/D读使能
_nop_();
advalue=P1;//A/D数据读取赋给P1口
adrd=1;
temperature=(uchar)(advalue/255.0*100.0);
A1=temperature/10;//分出十位和个位
A2=temperature%10;
}
}
·第四节总电路图
见附表1
·第五节系统测试方法
·5.1测试仪器
万用表
·5.2部分指标测试方法
·调节滑动变阻器R2使R2加上R3的阻值为10KΩ
·调节滑动变阻器R10使R10加上R8的阻值为50KΩ
·调节滑动变阻器R11使R11加上R9的阻值为50KΩ
·调节50KΩ的滑动变阻器R5,使运算放大器的反向输入端输入电压为2.73V
·第六节小结与体会
1、运算放大器做减法运算器用时,电阻阻值必须精确调节才能使输出结果和理论值更加接近。
2、7805输出电压为4.95V,基本满足要求。
3、应该给稳压管加强散热,长时间使用时稳压管会长时间处于高温的状态。
结束语
本电路采用AT89C52单片机做主控芯片,利用温度传感器AD590采集温度,且可显示温度,电路简单、运行稳定、工作精度高。
附录:
一、原器件清单:
电阻:
1k(2个),10k(4个),47k(2个)
滑动变阻器:
1k(1个),5k(2个),50k(1个)
10uF(1个)和1000uF(2个)电解电容,点触式开关(1个),30pF(2个)、150pF(1个)、0.01uF(1个)瓷片电容。
12MHz晶振
6V稳压管
OP07(2个)
AD590
7805
ADC0804
STC89C52
7段数码管
二、主要参考文献资料
【1】郭天祥.51单片机C语言教程——入门、提高、开发、拓展全攻略-北京:
电子工业出版,2009.1ISBN978-7-121-07893-4
【2】康华光.电子技术基础模拟部分(第五版)-高等教育出版社