传感器课程设计报告.docx
《传感器课程设计报告.docx》由会员分享,可在线阅读,更多相关《传感器课程设计报告.docx(19页珍藏版)》请在冰点文库上搜索。
传感器课程设计报告
成绩评定表
学生姓名
鹿蕾
班级学号
1303020202
专业
测控技术与仪器
课程设计题目
基于ad590温度传感器的温度系统的设计
评
语
组长签字:
成绩
日期
201年月日
课程设计任务书
学院
自动化与电气工程学院
专业
测控技术与仪器
学生姓名
鹿蕾
班级学号
1303020207
课程设计题目
基于ad590温度传感器的温度系统的设计
实践教学要求与任务:
1、熟悉所确定的题目,从问题需求、程序结构、难点及关键技术等方面进行分析,形成系统的设计方案;
2、根据方案设计硬件电路;
3、软件编程并调试;
4、完成课程设计报告,打印程序,给出运行结果。
工作计划与进度安排:
第18周(12月28日-12月31日):
根据设计要求和内容查阅参考文献或资料,提出设计方案,进行原理设计。
第20周(1月11日-1月15日):
根据设计方案,完善设计,并进行硬件及软
件调试,测试,撰写课程设计报告,答辩。
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
201年月日
1引言……………………………………………………………………………………………1
1.1温度传感器AD590概述…………………………………………………………………….1
1.2温度计技术状况…………………………………………………………………………….1
2系统总体设计方案…………………………………………………………………………….2
2.1系统整体设计……………………………………………………………………………….2
2.2温度传感器的选择方案………………………………………………………………………2
2.3控制核心的选择………………………………………………………………………………4
2.4ADC0809简介…………………………………………………………………………………4
2.41ADC0809的主要特点……………………………………………………………………….4
2.42ADC0809芯片的工作原理………………………………………………………………….5
3系统硬件设计…………………………………………………………………………………..6
3.1温度测量采集机加热电路模块……………………………………………………………..6
3.2并行A/D(模数)转换模块…………………………………………………………………….7
3.3标度转换的算法……………………………………………………………………………….7
3.4数码管动态显示模块…………………………………………………………………………8
4系统软件设计…………………………………………………………………………………..8
5元件清单……………………………………………………………………………………….10
6系统调试及结果……………………………………………………………………………….10
7结果总结……………………………………………………………………………………….11
8参考文献……………………………………………………………………………………….11
9附录…………………………………………………………………………………………….11
1引言
温度测量领域的新技术不断涌现,主要表现在以下两方面:
(1)温度传感器正从分立元件向集成化、智能化、系统化的方向发展;
(2)在温度测量系统中普遍采用线性化处理、自动温度补偿等项新技术。
我们常见的数字温度计一般使用集成温度传感器作为温度采集元件,集成温度传感器实际上是一种半导体传感器,用晶体管的PN结的端电压与温度的线性关系制成。
具有体积小,线性好、精度适中、灵敏度高、使用方便等优点。
本设计中用的AD590就是一种集成传感器。
1.1温度传感器AD590概述
AD590是AD公司设计生产的一款双端集成电路温度传感器,其输出电流与绝对温度成比例。
再4~30V电源电压范围内,该器件可充当一个高阻抗恒流调节器,,调节系数为1μA/K。
片内薄膜电阻经过激光调整,可用于校准器件,使该器件在298.2K(25℃)时输出298.2μA电流。
1.2温度计技术状况
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
2系统总体方案
2.1系统整体设计
本课程设计中,,电路整体结构如图1:
图1整体电路结构图
总体的设计思路是分为测量电路部分和数字显示部分两部分分别进行设计。
测量电路是对信号的采集与放大,即温度的采集放大部分。
测量电路的设计要求是电路能具有良好的稳定性和测量精度,以及实现摄氏温度测量。
数字显示部分又可分为A/D转换与译码显示。
故采用AD590+放大器+A/D转换器(ADC0809)+AT89C51+LED显示器组合出温度计。
2.2温度传感器的选择方案
AD590是AD公司利用PN结构正向电流与温度的关系制成的电流输出型两端温度传感器.(热敏器件)
AD590是美国模拟器件公司生产的单片集成两端感温电流源。
它的主要特性如下:
1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:
mA/K式中:
—流过器件(AD590)的电流,单位为mA;T—热力学温度,单位为K。
2、AD590的测温范围为-55℃~+150℃。
3、AD590的电源电压范围为4V~30V。
电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
4、输出电阻为710MW。
5、精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。
AD590温度感测器是一种已经IC化的温度感测器,它会将温度转换为电流,在8051的各种课本中常看到它,相当常用到。
其规格如下:
温度每增加1℃,它会增加1μA输出电流。
可量测范围-55℃至150℃。
供应电压范围+4V至30V。
AD590的输出电流值说明如下:
其输出电流是以绝对温度零度(-273℃)为基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Io=(273+25)=298μA。
Vo的值为Io乘上10K,以室温25℃而言,输出值为2.98V(10K×298μA)。
量测Vo时,不可分出任何电流,否则量测值会不准。
AD590的输出电流I=(273+T)μA(T为摄氏温度),因此量测的电压V为(273+T)μA×10K=(2.73+T/100)V。
为了将电压量测出来又需使输出电流I不分流出来,我们使用电压追随器其输出电压V2等于输入电压V。
由于一般电源供应较多零件之后,电源是带杂讯的,因此我们使用齐纳二极体作为稳压零件,再利用可变电阻分压,其输出电压V1需调整至2.73V。
接下来我们使用差动放大器其输出Vo为(100K/10K)×(V2-V1)=T/10V。
如果现在为摄氏28度,输出电压为2.8V。
相关的,AD590的封装及其基本应用电路如图1:
图1AD590的封装及其基本应用电路
而AD590温度传感器本身的电路原理图如图2:
图2AD590内部电路原理图
2.3控制核心的选择
ADC0809的三个I/O口分别为EOC、CLK和CS端口,其中CLK为时钟、CS为片选、EOC为转换结束状态信号。
其中,RD与WR分别与单片机的P3.6与P3.7口相连接,片选CS接地,CLK接500kHz的数字信号,因为本设计未采用中断模式,也未采用检测转换结束状态信号,所以EOC可不接。
本模块采用的方案是根据ADC0809的时序图,用单片机的P3.6和P3.7口分别控制ADC0809的RD与WR,使其在特定的时间内不断置位与复位。
从而使ADC0809不断重复的转换数据,并输出给单片机。
以单片机的P0口接收数据,并存储到变量temp中。
2.4ADC0809简介
2.4.1ADC0809的主要特点
ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的图3
数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。
芯片的引脚如图3各引脚功能如下:
IN0~IN7:
八路模拟信号输入端。
ADD-A、ADD-B、ADD-C:
三位地址码输入端。
CLOCK:
外部时钟输入端。
CLOCK输入频率范围在10~1280KHz,典型值为640KHz,此时A/D转
换时间为100us。
51单片机ALE直接或分频后可与CLOCK相连。
D0~D7:
数字量输出端。
OE:
A/D转换结果输出允许控制端。
当OE为高电平时,允许A/D转换结果从D0~D7端输出。
图21-1ADC0809引脚
ALE:
地址锁存允许信号输入端。
八路模拟通道地址由A、B、C输入,在ALE信号有效时将该八路地址锁存。
START:
启动A/D转换信号输入端。
当START端输入一个正脉冲时,将进行A/D转换。
EOC:
A/D转换结束信号输出端。
当A/D转换结束后,EOC输出高电平。
Vref(+)、Vref(-):
正负基准电压输入端。
基准正电压的典型值为+5V。
2.4.2ADC0809芯片的工作原理
ADC0809带有片内系统时钟,该时钟与I/OCLOCK是独立工作的,无需特殊的速度或相位匹配。
当CS为高时,数据输D端处于高阻状态,此时I/OCLOCK不起作用。
这种CS控制作用允许在同时使用多片ADC0809时,共用I/OcLOCK,以减少多路(片)A/D使用时的I/O控制端口。
一组通常的控制时序操作图如下图4:
图4TLC549的工作时序
3系统硬件设计
温度采集系统由温度采集模块、A/D转换模块和温度值显示模块三大部分组成。
其中温度采集模块主要用AD590采集温度,并输出一个模拟电压信号,ADC0809接收到模拟信号后,进行A/D转换把模拟信号转换位数字信号,并行输
出(一个时钟下降沿输出一次),单片机接到数据后存入累加器A,经过一定的转化,输入到七位数码管中,并动态扫描显示出来。
3.1温度测量采集及加热电路模块
图5是AD590的基本链接。
温度的变化引起电流I的变化,通过Rl和R2的分压可得到VO=1mv/K。
适当调整R2可校准输出U0的精度。
图5温度测量采集及加热电路原理图
图6用滑动变阻器代替输入模拟信号电路
3.2并行A/D(模数)转换模块
ADC0809的三个I/O口分别为EOC、CLK和CS端口,其中CLK为时钟、CS为片选、EOC为转换结束状态信号。
其中,RD与WR分别与单片机的P3.6与P3.7口相连接,片选CS接地,CLK接500kHz的数字信号,因为本设计未采用中断模式,也未采用检测转换结束状态信号,所以EOC可不接。
如图7。
本模块采用的方案是根据ADC0809的时序图,用单片机的P3.6和P3.7口分别控制ADC0809的RD与WR,使其在特定的时间内不断置位与复位。
从而使ADC0809不断重复的转换数据,并输出给单片机。
以单片机的P0口接收数据,并存储到变量temp中。
图7并行模数转换电路
3.3标度转换的算法
ADC0809设定的工作温度为0℃~67℃,温度与电压成正比。
当设定量程与67℃接近时测量所得温度与实际温度才能相符。
ADC0809的A/D输出为00H到FFH,可进行256等分,以此算法设定最小分度为0.2562℃,量程为0℃~67.0℃,比较符合要求。
这样通过标度转换将储存的数据转换并存入双精度型的温度变量t中,然后通过一系列算法,将t中的各位数分别转换为相应的段码。
3.4数码管动态显示模块
本设计所用数码管为高电位有效的数码管。
如图8,将数码管的控制位接到单片机的P3.0-P3.3中。
数据位接到单片机的P2口。
编写程序轮流给P3.0-P3.3置高电位,同时给P2口输送相应的段码。
达到数码管动态扫描的效果。
使其快速扫描,利用人的视觉暂留现象,和数码管的余晖,实现数码管的动态显示。
图8数码管显示模块
4系统软件设计
软件是该LED显示屏控制系统的重要组成部分,在系统的软件设计中我们也才用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。
本系统中下位机(单片机89C51)的主要功能就是实现LED显示屏上字样的移位、显示、数据的读取等功能。
其主程序流程如图9所示。
图9驱动程序流程图
5元件清单
AT89c52
一个
ADC0808
一个
电阻R
1K一个
滑动变阻器
一个
电容
两个30nF
开关
一个
排阻
一个
电压传感器
一个
6系统调试及结果
图9调试电路
如图9所示,当点击调试时,会显示温度。
7结果总结
仿真电路调试时,由于Proteus软件中不包含AD590温度传感器,后由滑动变阻器代替了一下,从网上查知adc0809不可进行仿真,故用0808代替。
在程序调试时。
P口的P在编写程序未大写,定义字母时有落写。
一开始位显示程序算错了,造成了家的困扰,后仔细检查后才发现:
bai=(datas*501/255)/100;
she=(datas*501/255)/10%10;
ge=(datas*501/255)%10;
还有就是注意ALE置零。
将调试好的仿真电路和程序进行联调,主要调试系统的实现功能。
调试过程中滑动变阻器有点问题,经过再三改变延迟等元素仍未能准确的表示滑动变阻器中输出的电压。
8参考文献
[1]范立南.单片机原理及应用教程[M].2006.1.
[2]刘瑞新.单片机原理及应用教程[M].2003.7.
[3]马建国、孟宪元.电子设计自动化技术基础[M].清华大学出版.2006.1.
[4]姜威.实用电子系统设计基础[M].2008.1.
[5]张靖武.单片机系统的PROTEUS设计与仿真[M].2007.4.
[6]赵海雁.《AD590温度传感器》.测试技术学报.1997.11.
[7]刘燕,兰志强.《AD590集成电路温度传感器的特性测量与应用》.中国仪器仪表,2005.6.
[8]张新安.《用AD590制作高精度数字温度计》.实用电子制作,2007.8.
[9]汪明珠,毛德梅等.《基于AD590的温度测控电路及应用》.皖西学院报,2009.2.
[10]蒋敏兰,胡生清等.《AD590温度传感器的非线性补偿及应用》.传感器技术,2001.2.
9附录
全部程序:
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitST=P2^0;
sbitOE=P2^2;
sbitALE=P2^3;
sbitEOC=P2^1;
sbitCLK=P2^4;
longintdatas,bai,she,ge;
ucharduan;
ucharcodenum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
ucharcodenum_dot[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed};
ucharcodewei[]={0x0d,0x0b,0x07};
voiddelay(uintz)
{
uchari;
while(z--)
for(i=0;i<120;i++);
}
voiddisplay()
{
uchari=0;
bai=(datas*501/255)/100;
she=(datas*501/255)/10%10;
ge=(datas*501/255)%10;
for(i=0;i<3;i++)
{
P3=wei[i];
if(i==0){duan=num_dot[bai];}
elseif(i==1){duan=num[she];}
elseif(i==2){duan=num[ge];}
P0=duan;
delay
(2);
}
}
voidmain()
{
TMOD=0x02;
TH0=0x216;
TL0=0x216;
EA=1;
ET0=1;
TR0=1;
while
(1)
{
ST=OE=0;
ALE=1;
ST=1;
ALE=0;
ST=0;
while(!
EOC);
OE=1;
datas=P1;
display();
}
}
voidinter_1()interrupt1
{
CLK=~CLK;
}