您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 传感器课设计数器和温度显示
1传感器原理及应用课程设计报告系别:信息工程系班级:姓名:学号:2绪论摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89S51单片机的测温系统,详细描述了利用数字温度传感器AD590开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。AD590、AD0804与AT89C51等结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景;光电传感器选用E3F-R2Y1反馈反射型的光电传感器,能够实现光电转换,从而达到准确计数,并实现在预定值(本科设为逢8)报警和达到一定值清零。关键词:单片机AT89S52;AD590;AD0804;E3F-R2Y1光电开关;3一、设计题目:1.基于AD590的温度检测系统。2.光电计数器的设计。二要求:1.温度检测系统所要达到的功能:(1)测温范围-55℃~+150℃。(2)所需电路原理图,放大电路部分,A/D转换部分,显示电路部分通过查阅资料,文献,自行设计。(3)明确设计目的2.光电计数器所要达到的功能(1)数码管可以显示产品个数(0-99),自由设定产品报警个数(比如8),当产品数目是8的个数时,发出报警(蜂鸣器响)。(2)独立设计电路,应包括单片机小系统、红外光电开关、数码管显示部分。三.设计方案:根据指导老师要求需要将两个设计题目整合到一个系统中。经过分析和查找大量的资料以及同组成员的讨论,得出以下设计方案:1.STC89C52单片机选择STC89C52单片机作为主控芯片;Atmel公司的生产的AT89C52单片机是一种低功耗/低电压、高性能的8位单片机,内部除CPU外,还包括128字节RAM,4个8位并行I/O口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,片内集成4K字节可改变程序Flash存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统设计需要。4单片机P0口作为ADC0804转换数据的输入端,P2.0接ADC0804的INTR端检测数据转换是否结束。P1.0~P1.3的输出信号接到译码器7447上作为数码管的显示,P1.4~P1.7则作为4个数码管的位选信号控制。P3口有特殊的功能,P3.6用于控制ADC0804的启动,P3.7用于控制读取ADC0804的转换结果。2.LED数码管LED是LightEmitingDiode(发光二极管)的缩写,发光二极管是能将电信号转换为光信号的电致发光器件。由条形发光二极管组成“8”字形的LED显示器,也称数码管。七段数码管引脚图5数码管使用条件:a、段及小数点上加限流电阻;b、使用电压,段:根据发光颜色决定,小数点:根据发光颜色决定;c、使用电流,静态:总电流80mA,动态:平均电流4-5mA;共阴数码管实物管脚图4.选用AD590作为温度传感器。AD590工作原理及特性:(1)其输出电流是以绝对温度零度(-273℃)为基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Io=(273+25)=298μA。(2)可测量范围-55℃至150℃。(3)供电电压范围+4V至+30V。精度高。(4)AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。本次选用AD590JH,其非线形度+-1.5度测量范围-55℃~+150℃。(5)AD590封装及典型电路6Vo的值为Io乘上10K,以室温25℃而言,输出值为2.98V(10K×298μA)。量测Vo时,不可分出任何电流,否则量测值会不准。(6)由于AD590输出为电流量单片机不能直接读取,因此需要通过串联电阻将电流量转换为电压量,在由模数转换芯片AD0804将电压量转换为其对应的数字量,然后通过软件将采集到的电压量转化为温度进行显示。5、AD0804工作原理及特性:(1)AD0804引脚图(2)ADC0804电气特性:(1)高阻抗状态输出(2)分辨率:8位(0~255)(3)存取时间:135ms7(4)转换时间:100ms(5)总误差:-1~+1LSB(6)工作温度:ADC0804C为0度~70度;ADC0804L为-40度~85度(7)模拟输入电压范围:0V~5V(8)参考电压:2.5V(9)工作电压:5V(10)输出为三态结构(3)AD0804引脚功能:1(CS)引脚:ChipSelect,与RD、WR接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low)时会active。2(RD)引脚:Read。当CS、RD皆为低位准(low)时,ADC0804会将转换后的数字讯号经由DB7~DB0输出至其它处理单元。3(WR)引脚:启动转换的控制讯号。当CS、WR皆为低位准(low)时ADC0804做清除的动作,系统重置。当WR由0→1且CS=0时,ADC0804会开始转换信号,此时INTR设定为高位准(high)。4引脚和19引脚(CLKIN、CLKR):频率输入/输出。频率输入可连接处理单元的讯号频率范围为100kHz至800kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLKR及CLKIN加上电阻及电容,则可产生ADC工作所需的时序,其频率约为:5(INTR)引脚:中断请求。转换期间为高位准(high),等到转换完毕时INTR会变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据。6引脚和7引脚(VIN(+)、VIN(-)):差动模拟讯号的输入端。输入电压VIN=VIN(+)-VIN(-),通常使用单端输入,而将VIN(-)接地。8(AGND)引脚:模拟电压的接地端。9(VREF∕2)引脚︰模拟参考电压输入端。VREF为模拟输入电压VIN的上限值。若PIN9空接,则VIN的上限值即为VCC。10(DGND)引脚︰数字电压的接地端。11~18(DB7~DB0)引脚︰转换后之数字数据输出端。20(Vcc)引脚︰驱动电压输入端。(4)AD0804典型接线图频率计算方法是Fck=1/(1.1*R*C)8以上图为例R=10KΩ,C=150PF则其内部转换频率是Fck=1/(101*10KΩ*150PF)=606KHz更换不同的R,C值会有不同的转换频率,而频率越高代表速度越快。R,C的组合,务必使频率范围在100KHz~1460KHz之间。(5)AD0804时序图关于AD0804的几点说明:1.首先CS片选端拉低AD0804使能;2.第三引脚(WR)来一个下降沿脉冲,开始进行模拟/数字信号转换;3.转换完毕后AD0804中断输出引脚INTR将高电位将至低电位;94.装换完成后在CS低电平期间AD0804第二引脚来一个下降沿脉冲读取AD转换结果;光电计数器采用反射式光电开关。光电开关有以下几种:⑴槽型光电开关把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽形光电。发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作。槽形开关的检测距离因为受整体结构的限制一般只有几厘米。⑵对射型光电开关若把发光器和收光器分离开,就可使检测距离加大。由一个发光器和一个收光器组成的光电开关就称为对射分离式光电开关,简称对射式光电开关。它的检测距离可达几米乃至几十米。使用时把发光器和收光器分别装在检测物通过路径的两侧,检测物通过时阻挡光路,收光器就动作输出一个开关控制信号。⑶反光板型光电开关反光板型光电开关把发光器和收光器装入同一个装置内,在它的前方装一块反光板,利用反射原理完成光电控制作用的称为反光板反射式(或反射镜反射式)光电开关。正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,收光器收不到光时,光电开关就动作,输出一个开关控制信号。光电开关在没有障碍物遮挡时输出为高电平,当有障碍物遮挡时输出为低电平。因此可将光电开关输出引脚接到单片机的外部中断引脚。每检测到一次物体单片机产生一次中断计数值加一。⑷扩散反射型光电开关它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是找不到的。当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关信号。综合考虑本次设计采用反光板型光电开关。105.采用四位数码管显示数据。采用动态显示,数码管前两位显示整数温度,第三位显示小数点后一位,最后一位显示符号“C”,即温度符号;另外,通过开关切换,后两位还显示光电计数的数值。6.通过软件设置计数报警值。通过软件可设置逢10报警,加到99自动清0。7.按照数据手册单片机,AD590,AD0804,数码管均采用5V电源供电即可,而AD590需在5.5V以上才能正常工作。四.具体实现1.系统组成框图:该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。系统组成框图如下。STC89C52数码管显示电路AD590AD0804光电开关按键电源时钟复位电路112.原理图见附录。3.程序见附录五.各部分定性说明以及定量计算:12电路分析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,数码管显示内容为为“28.0C”。六.调试及问题解决:1、数码管显示的数值不停上下波动;在室内温度应该是基本恒定的,但显示温度个位也在不停地上下波动,后测得AD590处的电压基本恒定,而AD0804接收到的模拟电压量就有变化,只是没有数码管波动的快;检查线路后,证明放大电路、AD0804采集电路没有任何错误。原因分析及解决:从硬件和软件两方面入手;第一、AD0804采集的数据不太稳定,可能是运放电路的原因,改进后,我们在放大电路后并未直接送给AD0804,而是经过一个电压跟随器后再送给AD0804;第二,可能是单片机送给数码管的频数太大,在软件中,改变了原来用采集16次后取平均值,就送给数码管的方法,而分两次采集,算平均值,若两次相等才送给数码管;否则,不送。这样的好处是可以滤掉不定因素对电流的改变,可以弃掉一部分AD0804转换的不合格数字量。2、AD采集到的到的电压正确,但数码管显示的温度不正确;放大后的电压正确,说明运放电路没问题;单片机下了驱动数码管程序,数码管显示正确;仔细检查程序也没有错误,现在就一种可能:AD0804外围电路的问题,但外围电路我们是按郭天祥讲的基本电路连的,检查后没有任何错误。后来查了一些资13料发现AD0804外围的RC振荡电路接的电容为150pF,我们接的是104电容,后改为102能正确显示温度了。刚开始电容接的太大,影响了AD的转换速率。3、在用软件实现显示小数点,我们用80H与调用数组前的数取或,结果不仅点没显示
本文标题:传感器课设计数器和温度显示
链接地址:https://www.777doc.com/doc-3141352 .html