《温度测量系统设计.doc》由会员分享,可在线阅读,更多相关《温度测量系统设计.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流温度测量系统设计.精品文档.温度测量系统设计学校学院: 南华大学机械工程学院 班 级: 测 控 082 组 员: 学 号: 指导老师: 目 录摘 要3一、系统设计任务与分工41.1、设计任务41.2、设计要求4 1.3、任务分工4二、温度测量系统器件简介52.1、单片机52.2、数码管52.3、温度传感器(DS18B20)62.4、MAX23272.5、发光二极管82.6、三极管VT92.7、电阻和电容9三、系统的硬件设计113.1、温度测量系统硬件电路连接图1132 各电路模块分析123.2.1、最小外围电路123.2.2温度传感器DS18
2、B20电路123.2.3、数码管显示电路13四、系统的软件设计154.1温度测量系统软件流程图1542、温度测量系统各子模块154.2.1、 定时器设置部分154.2.2、 中断部分164.2.3 读取DS18B20温度部分16五、程序清单19六、设计总结22七、心得体会23八、参考文献24附 录 A25附 录 B26摘 要 随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜
3、力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。在人类的生活环境中,温度扮演着极其重要的角色。 温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着
4、绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。 温度测量系统的设计分为硬件电路设计和软件设计两部分,其中硬件部分使用Proteus进行搭建,在构成单片机最小系统的基础上进行功能扩展,并在其上进行电路的连接和仿真,实现系统的温度测量功能,软件部分则是用Proteus和Keil联调的方式最终完成软硬件的设计过程,在仿真的过程中,可以控制温度传感器DS18B20的温度值,模拟真实条件下,温度的测取工作。系统所显示的结果最终使用数码管进行显示,从而完成整个系统的设计过程。关键字: EDA设计 单片机 温度 传感器一、系统设计任务与分工1.
5、1、设计任务设计一个简单的单片机开发板。该单片机开发板主要由89C52芯片、DS18B20温度传感器、双位数码显示管、串行通信的接口电路及简单的外围电路等组成。1)采用单片机及温度传感器设计温度检测系统;2)温度检测结果采用两位数码管显示;3)必须具有上电自检功能及外接电源,公共地线接口。1.2、设计要求1)熟悉此电路工作原理。2)掌握组装与调试方法。3)画出Protel原理图,PCB图。4)用proteus仿真。5)测量范围099摄氏度,精度误差小于1摄氏度。6)一份设计说明书。7)做出所设计的系统的实物。1.3、任务分工邓明:分析电路原理、画Protel原理图、用proteus仿真、完成设
6、计说明书肖翊剑:焊接、调试二、温度测量系统器件简介2.1、单片机单片机是典型的嵌入式系统,从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能很好地满足面对控制对象、应用系统的嵌入、现场的可运行以及非凡的控制品质要求。STC89C52RC它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。STC89C52RC具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲
7、模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。因此单片机是发展最快、品种最多、数量最大的嵌入式系统。图2.1 单片机引脚图2.2、数码管数码管是在当有多位LED显示时,为了简化电路,降低成本,将所有位的段选线并连在一起,由一个8位I/O口控制。而共阴极(或共阳极)公共端K分别由相应的I/O口控制,实现各位的分时选通。其引脚排列如下图所示。连接时,只需将两个电源引脚结对即可,其他数码管的显示数字可由程序控制。图2.2 数码管引脚图2.3、温度传感器(DS18B20)美国DA
8、LLAS半导体公司数字温度传感器的DS1820是世界上第一片支持“一线总线”的温度传感器,“一线总线”的数字方式传输,大大提高了系统的抗干扰能力,适合于恶劣条件下温度的测量,其内部使用了on-board专利技术。新一代的DS18B20体积更小、更经济、更灵活,充分发挥了“一线总线”的优点。其测温范围为-55+125,在-10+85范围内,精度为0.5,最差为2,支持3V5.5V的电压范围,分辨率(912位)可由用户设置。引脚如图1.3所示。GND:接地DQ:总线数据传输端图 2.3 DS18B20引脚图Vcc:电源输入低温度系数晶振高温度系数晶振=0比较计数器1预置计数器2温度寄存器斜率累加器
9、预置=0LSB置位/清除加1停止图2.4 DS18B20的基本测温原理低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送计数器1,高温度系数晶振随温度变换其振荡频率明显改变,产生的信号作为计数器2的脉冲输入,计数器1和温度寄存器被预置在-55所对应的一个基数值,计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值加1计数器1的预置被重新装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器累加,此时温度寄存器中的数值即为所测温度值。只要将温度寄存器的值写入EEPROM,读取EEP
10、ROM的数值即完成温度测量。2.4、MAX232MAX232是MAXIM公司生产的、包含两路接收器和驱动器的IC芯片,适用于各种EIA-232和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变压器,可以把输入的+5V电源电压变换成为RS-232C输出电平所需的+_10V电压。所以,采用此芯片接口的串口通信只需单一的+-5V电源就可以了。对于没有+-12V电源的场合,其适应性更强。加之其价格适中,硬件借口简单,所以被广泛使用。其芯片引脚如下图所示图2.5 MAX232引脚图2.5、发光二极管发光二极管按其使用材料可分为磷化镓(GaP)发光二极管、磷砷化镓(GaAsP)发光二极管
11、、砷化镓(GaAs)发光二极管、磷铟砷化镓(GaAsInP)发光二极管和砷铝化镓(GaAlAs)发光二极管等多种。按发光二极管的发光颜色又可人发为有色光和红外光。红外发光二极管也称红外线发射二极管,它是可以将电能直接转换成红外光(不可见光)并能辐射出去的发光器件,主要应用于各种光控及遥控发射电路中。红外发光二极管的结构、原理与普通发光二极管相近,只是使用 图2.6 LED原理图的半导体材料不同。红外发光二极管通常使用砷化镓(GaAs)、砷铝化镓(GaAlAs)等材料,采用全透明或浅蓝色、黑色的树脂封装。常用的红外发光二极管有SIR系列、SIM系列、PLT系列、GL系列、HIR系列和HG系列等。
12、鉴于电路中只需要发射红外线的二极管,所以选用常用的即可。2.6、三极管VT三极管VT选用8050中功率管,PCM =300mW,ICM=500mA,R2的功率不小于1/4W。8050和8550三极管在电路应用中经常作为对管来使用,当然很多时候也作为单管应用。8050 为硅材料NPN型三极管;8550 为硅材料PNP型三极管。 图2.7 三极管引脚图8050S 8550S S8050 S8550 参数:耗散功率0.625W(贴片:0.3W)集电极电流0.5A集电极-基极电压40V集电极-发射极击穿电压25V特征频率fT 最小150MHZ 典型值产家的目录没给出按三极管后缀号分为 B C D档 贴
13、片为 L H档放大倍数B85-160 C120-200 D160-300 L100-200 H200-3502.7、电阻和电容电阻元件的电阻值大小一般与温度有关,衡量电阻受温度影响大小的物理量是温度系数,其定义为温度每升高1时电阻值发生变化的百分数。电阻是所有电子电路中使用最多的元件。很多电子产品中,电容器都是必不可少的电子元器件,它在电子设备中充当整流器的平滑滤波、电源和退耦、交流信号的旁路、交直流电路的交流耦合等。由于电容器的类型和结构种类比较多,因此,使用者不仅需要了解各类电容器的性能指标和一般特性,而且还必须了解在给定用途下各种元件的优缺点、机械或环境的限制条件等。电阻和电容的选择根据
14、单片机的电源是5V,再根据需要保护元器件的的额定电压或电流计算出相应的阻值。再根据需要电容值。电容在本次设计中主要起到滤波的作用。三、系统的硬件设计根据单片机温度控制要实现的功能,设计了基于ATMEL公司的AT89C52芯片的温度测量系统。这是一种低成本的利用单片机多余I/O口实现的温度检测电路。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、单片机、I/O设备等.。温度控制部分用DS18B20、89C52单片机及LED的硬件电路完成对温度的实时检测及显示。3.1、温度测量系统硬件电路连接图图2.1系统电路设计连接图,由电源电路和系统电路搭建起温度测量系统的硬件部分。图3.1 温度
15、测量系统硬件连接图32 各电路模块分析3.2.1、最小外围电路最小外围电路即单片机能正常工作的最小系统。其包含时钟电路和复位电路并有电源供应电路。凡是用到单片机的场合,均需要最小外围电路,它是最基本的,也是不可缺少的。图3.2 最小外围电路3.2.2温度传感器DS18B20电路DS18B20数字传感器是一个3脚的芯片,1脚接地,2脚为数据输入输出,3脚为可选的VCC电源。通过一个单线接口发送或接收数据,因此单片机与DS18B20仅需一条数据连接线(除了地线)。DS18B20应用电路有下面几种:(1)寄生电源工作方式。优点:1)进行远距离测温时,无需本地电源2)可以在没有常规电源的条件下读取RO
16、M3)电路简洁,仅用一个I/O口缺点:多个温度传感器挂在一个I/O口上进行多点测温时,4.7K上拉电阻无法提供足够的能量,造成无法转换温度或误差较大。因此这种电路只适合于单一温度传感器测温下使用,不适用采用电池供电的系统中,且电源VCC必须保证在5V,电源电压下降时,寄生电源汲取的能量降低,使误差变大。(2)寄生电源强上拉供电方式。改进的寄生电源工作方式,为使DS18B20在动态转换周期中获得足够的电流供应,进行温度转换或拷贝到E2存储器时,用MOSFET把I/O线直接拉到VCC就可满足电流的供应,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10us内把I/O线转换到强上
17、拉状态,强上拉方式可以解决电流供应不足的问题,因此适用于多点测温,缺点是多占用一个I/O口进行强上拉切换。(3)外部电源供电方式。这种方式是DS18B20的最佳工作方式,工作温度可靠,抗干扰能力强,电路也简单,并且可以开发出稳定可靠的多点温度监控系统。图 3.3 外部电源供电方式综合比较,采用图3.3所示的外部电源供电方式应用电路进行设计。3.2.3、数码管显示电路单片机驱动LED数码管的方法很多,按照显示方法分为静态显示和动态显示。静态显示是指显示驱动电路具有输出锁存功能,要显示的数据送出后不再控制LED,直到下次直到下次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的CPU时间少。
18、动态显示要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用CPU时间多。两种方式各有利弊:静态显示虽然数据稳定,占用很少的CPU时间,但是每个显示单元都需要单独的锁存驱动电路,使用的电路硬件较多,动态显示虽然有闪烁感,占用CPU时间多,但使用的硬件少,能节省线路板空间。动态扫描显示接口是单片机中应用最广泛的一种显示方式,其接口电路是把所有的LED数码管的8个笔画段ag、dp的同名端连在一起,而每一个数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于COM端,而这一端是由IO控制的,可以自行决定显示哪一位。所谓动态扫描,就是指我们采用分时的方法,轮流控制各个数码管的COM端,使各个
19、数码管轮流点亮,在轮流点亮的扫描过程中,每位数码管的点亮时间是极为短暂的,约1ms左右,但由于人的视觉暂留现象及发光二极管的余晖效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。从上述论述中可以看出动态显示方案具备较强的实用性,也是目前单片机应用中数码管显示较为常用的一种方式,所以在本设计中采用动态显示方案。图3.4 数码管显示四、系统的软件设计4.1温度测量系统软件流程图温度测量系统的软件主流程图可以划分成各子模块,分别为定时器设置、中断部分、读取DS18B20温度和温度译码输出,如图3.1所示,定时器设置中断部分读取DS18B2
20、0温度温度译码输出 图4.1 软件主流程图42、温度测量系统各子模块 4.2.1、 定时器设置部分数码管的扫描采用定时器中断的方式,定时器/计数器T0由特殊功能寄存器TH0、TL0构成,定时器/计数器T1由特殊功能寄存器TH1、TL1构成。特殊功能寄存器TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式。特殊功能寄存器TCON用于控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。TMOD、TCON这两个寄存器的内容由软件设置。单片机复位时,两个寄存器的所有位都被清0。D7 D6 D5 D4 D3 D2 D1 D0GATEC/TM1M0GATEC/TM1M0T1方式字段T0方
21、式字段表4.1 工作方式寄存器TMOD格式定时器/计数器有4种工作方式,本次设计采用工作方式1,选择T0定时,所以TMOD中T1方式半段没有用到,高4位全为0,选择工作方式1,所以M1M0为01,选择定时模式,所以C/T为0。GATE为0,仅由运行控制位TR0来启动定时器运行,代码部分见附录A中定时器设置部分。4.2.2、 中断部分当定时器/计数器T0溢出时产生中断,为此可以设置中断允许寄存器IE,使ET0置1同时开放CPU的中断源,使EA置1。中断允许寄存器IE对中断的开放和关闭实现两级控制。即有一个总的开关中断控制位EA(IE.7位),当EA=0时,所有中断源请求被屏蔽,CPU对任何中断请
22、求拒绝,当EA=1时,CPU开中断,但5个中断源的中断请求是否允许,还要IE中的低5位所对应的5个中断请求允许控制位的状态决定。A8HD7 D6 D5 D4 D3 D2 D1 D0IEEAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H表4.2 中断允许寄存器IE的结构所以,IE值设置为82H。4.2.3 读取DS18B20温度部分由于温度测量系统所选用的温度传感器为DS18B20,且查阅DS18B20温度传感器的使用手册,可以将温度传感器的使用分为温度传感器的初始化、温度传感器写一个字节、读一个字节。图4.2 DS18B20配置寄存器的结构图 4.3 DS18B20的分
23、辨率设置表DS18B20加电启动时,默认值R1=1,R2=1,所以默认分辨率为12位,为实验的方便,可以不改动R1、R0的值。表 4.3 DS18B20的温度值格式表由上表可见,在DS18B20的12位温度转换过程中,转换后的12位数据,存在两个8位的RAM中,其中前5位为符号位,即如果温度大于0,S全为0,否则S全为1,且负数值以二进制补码的形式存储在RAM中,温度转换时只要取反后加1,即得到所测温度的原码。图 4.4 DS18B20初始化示意图初始化时,需要将DQ数据总线拉低至少480us,数据总线就进入接收模式,DS18B20收到信号后等待1560us,然后DQ发出60240us的存在低
24、脉冲,CPU收到此信号表明复位成功。指令代码说明读ROM33H读ROM的64位地址符合ROM55H指令发出后,发出64位地址,访问该地址对应的DS18B20,为下一步的读写准备搜索ROM0F0H确定连在一条总线上的DS18B20个数和识别64位ROM地址跳过ROM0CCH忽略64位ROM地址,直接温度变换告警搜索命令0ECH只有超过温度上下限才做出反应表4.3 DS18B20的ROM指令表指令代码说明温度变换44H启动温度转换,结果存入内部9字节RAM中读暂存器0BEH读内部RAM中9字节内容写暂存器4EH发出向内部RAM的3、4字节写上下限温度命令复制暂存器48H将RAM中第3、4字节的内容
25、复制到EEPROM重调EEPROM0B8H将EEPROM中的内容恢复到RAM的第3、4字节读供电方式0B4H读DS18B20的供电模式表4.4 DS18B20的RAM指令表因此,可以控制单片机,向DS18B20的ROM写入0CCH,向RAM写入44H,0BEH,让DS18B20进行温度转换。图4.5 DS18B20暂存寄存器分布读取温度时,只需读取byte0和byte1中的内容,用数码管显示出来,就得到要测量的温度值。五、程序清单 名称:18B20温度传感器 日期:2011.12#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include#include#
26、define uchar unsigned char#define uint unsigned int/* 定义端口 */sbit wei1=P32;/位定义数码管用到的片选,高电平有效sbit wei2=P33;sbit dq=P30;/ds18b20 端口/sfr dataled=0x80;/显示数据端口/* 全局变量 */uchar tab=0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /7段数码管段码表共阳/* 延时函数 */void delay(unsigned int i)/延时函数 while(i-);void delaym
27、s(unsigned int MS )unsigned int i,j;for(i=MS;i0;i-)for(j=110;j0;j-);/*1820的写时序*/void write(uchar d)uchar i;for(i=0;i15usdq=d&0x01; delay(5);dq=1;d=d1;delay(5);/*1820读时序*/uchar read(void)uchar i;uchar dat=0;for(i=0;i1;dq=1;if(dq)dat=dat|0x80;delay(5);/delay49usreturn dat;/*1820复位*/void init(void)dq=1
28、;delay(8);dq=0;delay(80);/delay480usdq=1;delay(10);/delay25usdelay(5);unsigned int ReadTemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;init();write(0xCC); / 跳过读序号列号的操作write(0x44); / 启动温度转换delay(200);init();write(0xCC); /跳过读序号列号的操作write(0xbe); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=read();
29、 /低位b=read(); /高位b4; /只要高位return(t);void display(void) /显示温度 uint temp; /保存采集的温度值 uchar ge,shi; temp=ReadTemperature();shi=temp/10%10;ge=temp%10; wei1=0; wei2=1; P1=tabshi;delayms(40); wei1=1; wei2=0; P1=tabge;delayms(30); void main()while(1)init();/初始化18B20display();/选择哪个点的温度进行显示六、设计总结本次设计的各模块均具有具有
30、结构简单、易于制作、成本低、无干扰、低噪声等优点。并且调试简单,最重要的是该电路适用性强。可被广泛应用于家用电器行业。随着现代数字电路和可编程器件的发展,使用数字器件代替传统的模拟器件进行测量是很好的发展方向,但这对设计人员提高了软件方面的要求,设计人员进行设计时,必须仔细阅读器件的使用手册,才能在此基础上,完成符合设计要求的一个系统。通过控制温度传感器的读和写,将得到的温度转换成数字,并最终用数码管成功显示,验证了所学的理论,成功完成了温度测量系统设计。 本报告介绍了用单片机AT89C52控制DS18B20以及着重分析各单元电路的设计,以及各电路与单片机的接口技术。最后还给出系统的软件的设计
31、过程,使用了C语言进行程序设计。本文是采用模块化的方式进行叙述,对各模块的设计进行了比较详细地阐述。七、心得体会通过本次温度监控系统的设计,我大有收获,在制作过程中,一定要注意的每个工骤的检查,确保制作成功。比如在合理选择模块,检查装配无误的情况下,如果还出现电路无输出的情况,那么可以肯定是原理图错误,这时就要回到原理图进行检查。从整体来说这是一个复杂的过程,要细心谨慎,沉着冷静,反复检查,直到找到原因为止。 从得到题目到查找资料,从对题目的研究设定到程序的调试,从电路图的仿真调试到失败后再一次全部重新开始在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它已不仅是一个对我学习知
32、识情况和我的应用动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。我在这个过程中深刻的感受到了做课程设计的意义所在,和我一样真正投入了身心去做的人也一定会有同样的感触。 通过做本课题,我了解并掌握了传感器的基本理论知识,更深入的掌握单片机的开发应用和PC编程控制。为以后从事单片机软硬件产品的设计开发、PC软件开发打下了良好的基础,树立独立从事产品研发的信心,并在这种能力上得到了比较充分的锻炼。八、参考文献【1】李朝青 编著单片机原理及接口技术北京航空航天大学出版社【2】张伟 等编著PROTEL实用教程人民邮电出版社【3】陈世和电工电子实习教程北京航空航天出版社【4
33、】主编 :张国雄 测控电路第三版 机械工业出版社【5】主编:康光华 副主编:邹寿彬 秦臻电子技术基础高等教育出版社【6】邱关源。电路,高等教育出版社,2006年3月于西安【7】主编 :张国雄 测控电路第三版 机械工业出版社【8】马田华等,可编程单总线数字式温度传感器DS18B2的原理与应用.电子质量,2004.7【9】 于永学等,1-Wire总线数字温度传感器DS18B20及应用.电子产品世界,2003.12【10】 张胜全,D18B20数字温度计在微机温度采集系统中的序编制.南京:南京大学出版社,1998.3附 录 A电子元器件清单序号名称规格/封装数量单价(元)合计(元)1.STC89C5
34、2DIP4012.DS18B20TO-9213.镀金插座 万能锁紧插座40P双列14.石英晶振12MHz15.电容30pF26.电容22uF17.电阻1k38.插针2条9.电阻0.47k910.0.5寸共阳极 双位数码管111.三极管9015312.DB9针DB9孔 串口延长线113.DB9插座 可安装在电路板子上的那种母头114.MAX232DIP16115.插座DIP16116.单刀双掷拨动开关 中号 SS-12F451 附表1附 录 B仿真图系统采用Proteus进行仿真,分别将DS18B20放不同的温度条件下,看数码管是否显示正确的温度值,以下为DS18B20正常工作温度下,系统的仿真图。设置温度为21时的仿真图 附图1