智能仪器课程设计报告Word文档格式.docx
《智能仪器课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《智能仪器课程设计报告Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
智能温度测量系统的设计
一、前言
温度是一种基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量。
因此研究温度的测量方法和装置具有重要意义。
测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:
传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。
目前,国际上新型温度传感器正从模拟式向数字式,集成化向智能化、网络化的方向飞速发展。
本文所介绍的智能温度测量系统是基于DS18B20型数字式温度传感器,在89C51单片机的控制下,对环境温度进行实时控制的装置。
该系统测量范围宽、测量精确度高,该系统可广泛适用于人民的日常生活和工、农业生产的温度测量。
二、系统组成
智能温度测量系统主要由数字温度计、单片机控制电路、数字式温度显示电路、风扇降温电路、键盘电路、串口通信电路等六部分组成。
系统原理框图如下:
图1智能温度测量系统原理框图
1、设计思路
智能温度测量系统的设计思路:
用数字温度传感器DS18B20采集环境模拟信号,并在其内部进行A/D转换,将转换后的数字信号送AT89C51单片机,AT89C51单片机在程序的控制下,将处理过的数据送到八位串入/并出移位寄存器74LS164,经74LS164输出后驱动三位数码管显示出环境温度。
当被测温度高于18℃时,单片机脚发出信号PC817光电耦合器使降温电扇以自然风的形式旋转,温度越高转速越快,温度36℃以上时风扇全速工作,点亮此功能指示灯。
2、系统的性能指标:
温度测量范围:
-55℃-+125℃
温度测量精度:
±
0.5℃
电路板工作温度:
0℃-+70℃
3、系统的主要功能:
(1)根据温度变化自动调节风扇的转速,转速变化量:
温度每变化2℃将改变风扇的转速并使指示灯向右移动一位点亮;
温度低于18℃时风扇不工作,
(2)风扇工作在自然风状态:
风速从小到大,一个周期约5秒钟,点亮此功能指示灯。
(3)风扇工作在定时状态:
定时时间为30分钟;
60分钟;
120分钟;
240分钟,用四位二进制发光二极管指示灯指示定时时间,并且,风扇根据第1条功能工作。
(4)用十个发光二极管模拟指示风扇当时的转速情况,即十个全亮则风扇全速运行,前五个亮刚风扇处于半速运行。
三、电路组成及工作原理
智能温度测量系统原理图如图2所示,
图2智能温度测量系统原理图
主要元器件:
1、温度传感器功能模块
美国DALLAS公司生产的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,使用户可轻松地组建温度传感器检测网络,为检测系统的构建引入全新的概念。
DS1820特点如下:
(1)DS1820在与微处理器连接时仅需要一条传输线即可实现两者之间的双向通讯。
(2)DS1820支持多点组网络功能,多个DS1820可以并联在唯一的三线上,实现组网多点测量。
(3)DS1820在使用中不需要任何外围元件,其传感元件及A/D转换电路都集成在一只形如三极管的芯片内。
(4)工作电压+3~+,温度测量范围为-55℃~+125℃,在-10°
C~+85℃时,精度为±
0.5°
C;
(5)DS1820可把温度信号直接转换成串行数字信号供单片机处理,测量结果以9~12位数字量方式串行传送。
由于每片DS1820含有唯一的串行序列号,所以在一条总线上可挂接任意多个DS1820芯片。
从DS1820读出的信息或写入DS1820的信息,仅需要一根传输线(单总线接口)。
读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。
DS1820提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。
图3DS1820的内部框图
图3所示为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL解发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。
图4是DS1820温度传感器的封装图与引脚接线方式,DS1820引脚及功能及指标如下
GND:
地;
VDD:
电源电压
I/O:
数据输入/输出脚(单线接口,可作寄生供电)
图4DS1820封装图与接线方式
(6)DS18B20控制方法
在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;
另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
CPU对DS18B20的访问流程是:
先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。
DS18B20每一步操作都要遵循严格的工作时序和通信协议。
如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
程图所示的步骤它分三步完成:
①系统通过反复操作,搜索DS1820序列号;
②启动所有在线DS1820做温度A/D变换;
③逐个读出在线DS1820变换后的温度数据。
2、AT89C51单片机
AT89C51是一种4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
1.主要特性:
·
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
2.管脚说明:
VCC:
供电电压。
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
RXD(串行输入口)
TXD(串行输出口)
/INT0(外部中断0)
/INT1(外部中断1)
T0(记时器0外部输入)
T1(记时器1外部输入)
/WR(外部数据存储器写选通)
/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
4.芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
图5AT89C51单片机引脚
3、74LS164移位寄存器
在单片机系统中,如果并行口的IO资源不够,而串行口又没有其他的作用,那么我们可以用74LS164来扩展并行IO口,节约单片机资源。
74LS164是一个串行输入并行输出的移位寄存器。
并带有清除端。
其中;
Q0—Q7并行输出端。
A,B串行输入端。
MR清除端,为0时,输出清零。
CP时钟输入端。
74LS164引脚定义
74LS164逻辑表
图674LS164电路原理
4、晶振电路
AT89C51单片机芯片内部设有一个反向放大器所构成的振荡器,X1和X2分别为振荡电路的输入端和输出端,时钟信号由外部或内部产生,在X1和X2引脚上外接定时元器件,内部振荡电路就会产生自激振荡。
本系统采用的定时元器件为石英晶体和电容组成的并联谐振回路。
晶体振荡频率为12MHz,C1、C2的值为33pF电容的大小可起频率微调的作用。
图7晶振电路
5、复位电路
单片机具有多种复位电路,本系统采用电平式开关复位与上电复位方式,具体电路如图8所示。
当上电时,C3相当于短路,给RST端输入大于24个振荡周期以上的高电平脉冲,使单片机复位,在正常工作时,按下开关使单片机复位。
图8复位电路
6、键盘电路
本系统三个独立键盘来搭建键盘电路。
第一个键用来转换自然风;
第二个键用来关断风扇;
第三个键用作定时开关。
键盘电路采用软件延时去抖动。
图9键盘电路
7、显示电路
显示电路采用4位的LD-5461AS显示数码管,共阴极接法,前三位显示当前采样到的温度,后一位为单位,显示的温度范围为0~99.9℃。
8、稳压电路
电源输入为+12V,经LM7805稳压,得+5V电压,供89C51和74LS164工作。
图10稳压电路
9、显示电路
图11显示电路
10、风扇控制电路
风扇控制电路的电源电压为12V,当环境温度大于18℃时,单片机口给出信号,通过PC817光电耦合器将信号送到稳压管IRF540,风扇工作。
图12风扇控制电路
六、整机电路图
七.心得体会
在完成这个设计之后,我也有一定的思考,重新将自己的设计细细看了几遍,同时也把做同样设计的几个同学的设计借来观摩了一番。
在进行对比和分析之后,又有很多所得。
一开始进行设计的时候,我基本上都是参照书本或者网上的例子进行,甚至就是按照它的步骤再做一遍。
当然在初学阶段这未必不可以,这样做可以让我熟悉软件的操作环境,了解设计方法和步骤,更加深刻理解基本概念。
但是等到自己设计的时候,我觉得就应该抛开例子,完全按照自己的思路独立进行,这样可能会在设计中碰到更多的问题,但是这样也能让我学到更多,而且在解决遇到的问题时会更加引发自己的思考,说不上创新,但可能会有新意产生,也就是自己的东西了。
在这方面我做的也不是很好,所以设计之后再回想一下,里面自己的东西很少,这也是以后需要改进的地方。
这一点我想在任何一门课程的学习,在今后任何一行工作都是很重要的。
如果没有探索性,我们只会走着前人走过的路,踩着前人踏过的脚印。
在这这个设计过程中,探索性主要可以体现在下面几个方面。
一个是绘图所用的软件,很多人推荐我们使用Protel、EWB等,因为这几个软件有它们很大的优势,在学习使用过程中我也深有体会,特别是EWB,功能很强大,基本上能满足我在设计中的任何要求。
但是我们同样可以自己摸索,用其他差不多或者更好的软件。
还有设计时所采用的公式,每个设计书上基本都有较为成熟的公式让我们参考。
但它们不一定就是最好的,我们也可以到图书馆到网上去查阅更多的资料,比如在进行电路参数计算时我就发现书本的公式好象可能有印刷错误,在不能确定的前提下我去图书馆查阅资料,发现好几本参考书上计算参数时都是采用另一个公式,于是我暂时先采用这个公式,计算出数据后进行仿真,发现近似性很好,能满足设计指标。
第三点,在整个设计过程中都会有很多的计算,如果靠笔算会很麻烦也不能保证准确性。
这个时候我们就可以把以前学的本领用出来了VC、AAA都是很好的工具,利用它们编写一些小工具进行计算,大大方便了我们的设计,减少了设计中的机械性,何乐而不为呢没有探索就没有创新,没有创新很可能就会被