基于单片机和LM35的温度测量系统
一、设计目的与意义和任务分析
1、设计目的与意义
《测控电路》课程设计是测控电路课程体系的一个重要环节,是按照《控电路设计与实践》教学大纲要求所进行的重要实践教学内容,是引导学生把基础理论与实际应用相结合的一个必不可少的中间环节。通过本设计,要求学生利用所学的基础理论,从设计步骤、设计表达、实际电路调试等方面,全面掌握相关温度测量显示电路的设计与调试技术,培养学生综合运用所学知识进行工程设计的能力,包括
动手能力,独立思考能力,以及分析和解决工程实际问题等能力。
2、任务分析
本次设计的主要任务是完成一个温度范围为0-50 0C的温度测量显示电路的设计与制作。考虑到时间紧和学生兴趣不同,将任务分为设计为主和制作为主的为两
个重点内容不同的模块,由同学根据自己兴趣选择。
二、设计概述
1、传感器确定
1)热敏电阻
价格比较便宜、灵敏度比较好,在实际应用的时候线性度较差,另外调试比较
困难。不适合使用。故不使用热敏电阻。
2) AD590
AD590拥有良好的线性关系,灵敏度较高、使用简单方便。但是这种传感器的
价格比其他的两种都贵很多。故不选用。
3)温度传感器LM35
LM35是NS 公司生产的LM35 ,他具有很高的工作精度和摄氏温度线性成比例, 且无需外部校准或微调, 可以提供
±1/ 4 ℃的常用的室温精度。LM35 的输出电压与摄氏温度的线形关系可用下面公式表示V OU T LM35 ( T ) = 10 mV / ℃×T ℃,0 ℃时输出为0 V ,每升高1 ℃, 输出电压增加10 mV。其电源供应模式有单电源与正负双电源两种, 其接法如图3 与图4 所示。正负双电源的供电模式可提供负温度的测量, 单电源模式在25 ℃下电流约为50 mA ,非常省电。本系统采用的是单电源模式。
图3 单电源模式 图4 双电源模式
考虑到成本,性能等方面的因素,所以在AD590、温度传感器LM35和热敏电
阻中选择了温度传感器LM35。
2、系统方案设计、比较及选定
1)方案一:ICL7107 A/D转换&译码方案
常见A/D转换器的转换方式有非积分式和积分式两类,如逐次逼近比较式A/D
转换、斜坡电压式A/D转换等属于非积分式,其特点是转换速度快,但抗干扰能力差。电压反馈型V-F 变换、双积分式A/D转换则属于积分式,其特点是抗干扰能力强、测量精度高,但转换速度低,在转换速度要求不太高的情况下,获得广泛应用。
工作方框图:
电路原理图:
2)方案二: AVR单片机方案
该电路上利用AVR 单片机对输入信号进行模数转换输出数字信号控制数码管显示温度值。并且可以通过编写程序对输入信号进行分段线性化处理,使得测量精
度大大提高,而且该电路无须外接译码器,结构简单
工作方框图
电路原理图:
该方案比较合理,但是限于对AVR 单片机不是很娴熟,只得舍弃。
3)方案三:8052单片机方案(实际使用的方案)
由于我们的温度传感器是选择LM35,显然用低成本高可靠性的51单片机是最
佳的方案,故我们选择该方案
三、系统工作原理分析
本系统由温度传感器LM35、微处理器、显示电路、软件构成。LM35输出的是就是表示摄氏温度的模拟量,经A/D TLC1549C转换成数字量,再用8052单片机进行
数据处理、译码、动态扫描显示等,下面的系统的总的框图:
1、微控制器原理
本系统采用STC 公司的STC89C52作为微控制器. STC89C52处理芯片
主要性能:
与MCS-51单片机产品兼容 、8K 字节在系统可编程Flash 存储器、 1000次擦写周期、全静态操作:0Hz ~33Hz 、三级加密程序存储器 、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART 串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒、看门狗定时器 、双数据指针、掉电标识符 。
功能特性描述:
STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash ,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8k字节Flash ,256字节RAM , 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL 逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。
在flash 编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。 在flash 编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5 MOSI(在线系统编程用)
P1.6 MISO(在线系统编程用)
P1.7 SCK(在线系统编程用)
P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash 编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。 P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash 编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 INTO(外中断0)
P3.3 INT1(外中断1)
P3.4 TO(定时/计数器0)
P3.5 T1(定时/计数器1)
P3.6 WR(外部数据存储器写选通)
P3.7 RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH 闪存编程和程序校验的控制信号。
RST ——复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG——当访问外部程序存储器或数据存储器时,ALE (地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE 仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。
对FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG )。
如有必要,可通过对特殊功能寄存器(SFR )区中的8EH 单元的D0位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC 指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。
PSEN ——程序储存允许(PSEN )输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN 信号。
EA/VPP——外部访问允许,欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA 端状态。
如EA 端为高电平(接Vcc 端),CPU 则执行内部程序存储器的指令。
FLASH 存储器编程时,该引脚加上+12V的编程允许电源Vpp ,当然这必须是该器件是使用12V 编程电压Vpp 。
这里讲一下动态扫描显示原理:
一般的LED 器七段数码管显示是用静态显示,所谓就是任意时刻内的数码管都是亮的,这样系统要提供很多引线出来,功耗又大,单片机的资源很少,一般采用动态扫描的方式显示,所谓动态扫描就是在一个时刻内只亮一个管,利用我们人眼的视觉暂留就可以显示类似静态显示的效果,要求扫描的速度要快,一般是毫秒级。优点是省下了大量的IO 口,功耗小,但是显示位数不能过多,扫描是占用CPU 一定
的时间。
2、传感器原理
经过比较,我们选择了NC 公司的温度传感器LM35.
1) LM35简介
在自动控制、机电整合的应用中,温度的测量为常见的需求,感测温度的產品有多种型态,依特性可概分为膨胀变化型、颜色变化型、电阻变化型、电流变化型、电压变化型、频率变化型…等,常见的电压变化型的温度传感器有LM35、LM335,其不同点为 LM35 之输出电压是与摄氏温标呈线性关係,而 LM335 则是与凯氏温标呈线性关系。由於摄氏温标较常使用,因此本文将针对LM35做介绍。
1. 温度传感器 LM35
LM35是由National Semiconductor所生产的温度感测器,其输出电压与摄氏温标呈线性关係,转换公式如式(1),0°C 时输出为0V ,每升高 1°C ,输出电压增加10mV 。
(1)
LM35 有多种不同封装型式,外观如图 1 所示。在常温下,LM35 不需要额外的校准处理即可达到± °1/4C的准确率。其电源供应模式有单电源与正负双电源两种,其引脚如图 2 所示,正负双电源的供电模式可提供负温度的量测;两种接法的静默电流-温度关係如图 3所示,单电源模式在25°C 下静默电流约50μA,非常省电。
图1:LM35封装及引脚排列
图2:LM35接线图
图3
2.
我们最终确定使用OP07运算放大器。
Op07是一种低噪声,非斩波稳零的双极性运算放大器。由于OP07具有非常低的输入失调电压(对于OP07A 最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A 为±2nA )和开环增益高(对于OP07A 为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
宽的输入电压范围(最少±13V )与高达110dB (OP07A )的共模抑制比和高输入阻抗的结合,在同相电路阻态中提供了很高的精度,即使在很高的闭环增益下,也能保持极好的线性和增益精度。
失调和增益对时间或温度变化的稳定性也是极好的。不加外调零措施的OP07的精度和
稳定性,即使在高增益下也能使OP07成为一种新的仪器用和军用的工业标准。
OP07A 和OP07适用于在-55℃到+125℃的整个军用范围内,
特点:
·超低失调电压 10uV ·超低失调电压漂移0.2uV/C O
·有长期的稳定性0.2uV/月 ·宽共模输入范围±14.0V
·宽的电源电压范围 ±3V ~±18V ·不需要外部元件调整
封装外形图(管脚朝下)
绝对最大额定值:(TA=25℃)
电源电压: …………………………………………..±22V
内部功耗(注1):……………………. ………. 500mW
差模输入电压 :………………………………… …±30 V
输入电压(注3): ………………………………….±22V
输出短路持续时间 :………………………………….不限
工作温度范围(OP07A 、OP07):……. -55℃~+125℃
储存温度范围:…………………………. -65℃~+150℃
引线温度范围(焊接,60s ):……………………. 300℃
4、A/D的选择。
TLC1549是美国德州仪器公司生产的10位模数转换器。它采用CMOS 工艺,具有内在的采样和保持,采用差分基准电压高阻输入,抗干扰,可按比例量程校准转换范围,总不可调整误差达到±1LSB Max(4.8mV )等特点。
TLC1549的工作温度范围内(自然通风)极限参数如下:
电源电压范围: -0.5~6.5V
输入电压范围: -0.3~VCC+0.3V
输出电压范围: -0.3~VCC+0.3V