基于51单片机的温度自动控制系统设计研究毕业设计论文Word下载.docx
- 文档编号:17984576
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:34
- 大小:662.17KB
基于51单片机的温度自动控制系统设计研究毕业设计论文Word下载.docx
《基于51单片机的温度自动控制系统设计研究毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的温度自动控制系统设计研究毕业设计论文Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
因此,单片机对温度的控制问题是一个工业中经常遇到的问题。
基于单片机的温度控制系统可以实现温度的显示、预警等功能,对于工业生产效率的提高,可以起到很大的作用。
科学技术是第一生产力,对温度实现比较系统化的检测控制使人们的生产节奏有一个良好的循环。
从而将节约更多的人力物力,降低生产过程中可以省略的一些繁琐的细节。
一个简单有效地控制系统可以在一定程度上使工厂的生产效益上一个台阶,只要运用得当,就有可能做到。
本设计是基于当前社会发展的良好形势,经过慎重考虑后决定的,也是对自己所学知识的一次检验,期望能够获得温故而知新的效果。
只有不断地学习才能不断的进步。
结合社会的实际情况,然后根据自己的特点,更好的去了解自己,充分挖掘自己的潜力。
学以致用是老师要求我们的努力方向,现今社会要求我们对知识的应用越来越熟练,只有靠自己锲而不舍的奋发图强,才能争取自己的一片天地。
1系统方案设计
1.1方案论证
由于本方案是基于温度传感器的温度自动控制。
可以采用两种方案:
一种是使用热敏电阻之类的元件;
另一种是使用数字温度传感器
1.1.1方案一
选用热敏电阻电路,测温部分选用热敏电阻,将随被测温度变化的电压或电流采样,进行A/D转换后就可以用单片机进行数据处理,实现温度显示。
这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比较困难。
1.1.2方案二
考虑到单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,体积小、构成的系统结构简单,它可直接将温度转化成数字信号给单片机处理。
另外DS18B20具有3引脚的小体积封装,测温范围为-55~+125摄氏度,测温分辨率可达0.0625摄氏度,其测量范围与精度都能符合设计要求。
以上两种方案相比较,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度、范围等方面都能很好地达到要求,故本设计采用方案二。
1.2系统设计框图
本方案设计的系统由单片机系统、数字温度传感器、数码管显示模块、按键控制模块、温度报警模块、温度控制模块组成,其总体架构如图1-1所示
显示电路
驱动电路
单
片
机
测温电路
报警电路
·
电路
时钟电路
加热电路
按键输入电路
降温电路
复位电路
图1-1系统框图
2系统硬件设计
2.1单片机选择
AT89S52作为温度测试系统的核心器件。
该器件是INTEL公司生产的MCS-51系列单片机中的基础产品,采用可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS-51产品。
单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,单片机如图2-1所示。
2.1.1AT89S52特点
与MCS-51兼容;
4K字节可编程闪烁存储器;
寿命:
1000写/擦循环;
数据保留时间:
10年;
全静态工作:
0MHz-33MHz;
三级程序存储器锁定;
128*8位内部RAM;
32位可编程I/O线;
两个16位定时器/计数器;
5个中断源;
可编程串行通道;
低功耗的闲置和掉电模式;
片内振荡器和时钟电路。
图2-1AT89S52单片机
2.1.2AT89S52功能描述
AT89S52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除、快速写入程序的存储器,能承复写入/擦除1000次,数据保存时间为十年。
它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能[]。
AT89S52可构成真正的单片机最小应用系统,缩小系统休积,增加系统的可靠性,降低系统的成本。
只要程序长度小于4K,四个I/O全部提供给用户。
可用5V电压编程,而且擦写时间仅击10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的需求,可以直接在5V电压下进行编程,不需要12V电源。
改写时不拔下芯片,适合许多嵌入式控制领域。
工作电压范围宽,全静态工作,工作频率宽在0MHz-33MHz之间,比8751/87C51等51系列的6MHz-12MHz更具有灵活性。
AT89S52芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密于段,能完全保证程序或系统不被仿制。
2.1.3AT89S52引脚功能
AT89S52单片机P3口第二功能如图2-2所示[]。
图2-2P3口的第二功能
2.2温度传感器的选择
由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。
这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。
2.2.1DS18B20简单介绍
DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;
其工作电源既可以在远端引入,也可以采用寄生电源方式产生;
多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
2.2.2DS18B20性能特点
(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
(4)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电
(5)测温范围-55℃~+125℃,在-10~+85℃时精度为±
0.5℃
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
(8)测量结果直接输出数字温度信号,以"
一线总线"
串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
2.2.3DS18B20内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
图2-3为DS18B20的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分,如图2-3所示。
图2-3DS18B20内部结构框图
2.2.4DS18B20测温原理
DS18B20的测温原理如图2-4所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
如图2-4所示。
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
图2-4DS18B20测温原理图
2.2.5DS18B20工作时序
图2-5为时序图中各总线状态。
图2-5工作时序图
(1)初始化(时序图见图2-6)。
图2-6初始化时序图
①先将数据线置高电平1。
②延时(改时间要求不是很严格,但是要尽可能短一点)。
③数据线拉到低电平0.
④延时750us(改时间范围可以在480-960us)。
⑤数据线拉到高电平1。
⑥延时等待。
如果初始化成功则在15-60ms内产生一个有DS18B20返回的低电平0,据该状态可以确定它的存在。
但是应注意不能无限的等待,不然会使程序进入死循环,所以要进行超时判断。
⑦若CPU读到数据线上的低电平0后,还要进行延时,其延时的时间从发出高电平算起(第5步的时间算起)最少要480us。
⑧将数据线再次拉到高电平1后结束。
(2)DS18B20写数据
①数据线先置低电平0。
②延时确定的时间为15us。
③按从低位到高位的顺序发送数据(一次只发送一位)。
④延时时间为45us。
⑤将数据线拉到高电平1。
⑥重复①-⑤步骤,直到发送完整个字节。
⑦最后将数据线拉到高电平1。
(3)DS18B20读数据
①将数据线拉到高电平1。
②延时2us。
③将数据线拉低到0。
④延时6us。
⑤将数据线拉高到1。
⑥延时4us。
⑦读数据线的状态得到一个状态位,并进行数据处理。
⑧延时30us。
⑨重复①-⑦步骤,直到读完一个字节。
2.3硬件电路设计
2.3.1测温电路
本设计采用DS18B20温度传感器作为温度采集电路核心部件。
DS18B20是美国DALLAS半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。
目前常用的单片机与外设之间进行数据传输的串行总线主要有I²
C总线以同步串行二线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行三线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而SCI总线是以异步方式进行通信的(一条数据输入线,一条数据输出线)。
这些总线至少需要两条或两条以上的信号线,而DS18B20使用的单总线技术与上述总线不同,它采用单条信号线,既可传输时钟,又可传输数据,而且数据传输是双向的,因而单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。
单总线适用于单主机系统,能够控制一个或多个从机设备。
主机可以是微控制器,从机可以是单总线器件,他们之间的数据交换只通过一条信号线。
当只有一个从机设备时,系统可按单节点系统操作;
当有从机设备时,系统则按多节点系统操作。
设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放出总线,而让其他设备使用总线。
单总线要求外接4.7kΩ的上拉电阻。
本设计系统的温度采集电路图如图2-7所示[]。
图2-7测温电路
由图可以看出,DS18B20和单片机的连接非常简单,单片机只需要一个I/O口就可以控制DS18B20。
这个图的接法是单片机与一个DS18B20通信,如果要控制多个DS18B20进行温度采集,只要将所有的DS18B20的I/O口全部连在一起就可以了。
在具体操作时,通过读取每个DS18B20内部芯片的序列号来识别。
本系统仅操作一个DS18B20进行温度采集。
2.3.2显示电路
单片机应用系统中,通常都需要进行人机对话,这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。
LED显示电路由段驱动电路和位驱动电路组成。
由于单片机的并行口不能驱动LED显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。
如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。
LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器的电流相匹配即可;
动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力[]。
数码管位选代码如图2-8所示。
管脚数
显示
dp
g
f
e
d
c
b
a
十六进制数
1
0C0H
0F9H
2
0A4H
3
0B0H
4
99H
5
92H
6
82H
7
0F8H
8
80H
9
90H
图2-8数码管位选代码
2.3.3报警电路
当温度超过设定温度时,实现声光报警,蜂鸣器鸣叫、二极管闪烁。
蜂鸣器由单片机P3~7口控制,用三极管驱动,电路如图2-9所示[]。
图2-9报警电路
2.3.4降温、加热电路
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
当温度超过设定温度后,单片机控制继电器,继电器通过三极管驱动,但三极管由导通变为截止时,继电器绕组感生出一个较大的自感电压。
它与电源电压叠加后加到控制继电器线圈的三极管上,使发射结有可能被击穿。
为了消除这个感应电动势的有害影响,在继电器线圈两端反向并联抑制二极管,以吸收该电动势,保证三极管的安全。
降温、加热电路如图2-10所示。
图2-10降温、加热电路
2.3.5其他电路
(1)按键输入电路
考虑到系统的要求,还需设计按键输入电路,基于单片机的温度控制系统工作时应具备以下功能:
可以切换显示实时温度和温度上限值。
可以调节温度上、下限。
要实现这些功能,可以通过按键输入电路。
键盘结构可分为独立式键盘和行列式键盘(矩阵式)两类,由于本系统只采用4个按键,因此可选用独立式按键,按键采用轻触开关。
这4个按键的功能分别是:
调整温度上限、加1、减1,复位。
如图2-11所示。
图2-11按键电路
(2)电源电路
由于该系统需要稳定的5V电源,因此设计时必须采用能满足电压,电流和稳定性要求的电源。
本电源采用三端集成稳压器LM7805。
它仅有输入端、输出端及公共端三个引脚。
其内部设有过流保护,过热保护及调整管安全保护电路。
由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。
图2-12为电源电路连接图[]。
图2-12电源电路
3系统软件设计
3.1软件设计
整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。
按照软件的功能,把软件分为两大类:
一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。
二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。
每一个执行软件也就是一个小的功能执行模块。
这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。
各执行模块规划好后,就可以规划监控程序了。
首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。
图3-1为读取数据流程图,具体代码参考附录一[]。
开始
延时15~45us
释放总线
延时45us
读一位数据
延时1us以上
清DQ准备发送
发温度读取命令
DS18B20初始化
N
Y
结束读取
图3-1数据读取流程图[]
4系统调试
4.1软件调试
本次设计采用preteus仿真,测试采用模拟温度测试,测试结果如下。
当环境温度大于38度时,蜂鸣器报警,并启动继电器,模拟降温装置启动。
当环境温度小于5度时,蜂鸣器报警,并启动继电器,模拟加热装置启动。
在用proteus仿真过程中出现一些问题,包括以下几个方面。
(1)数码管显示乱码,出现这种情况主要是程序错误,我用的是四位共阴数码管,而在编写程序时,却误用成了共阳数码管的代码,经改正后显示正常。
(2)降温、加热电路启动错误,在没有超过报警温度时,电路启动,超过报警温度后,却又关闭,经排查是单片机引脚是高电平,而降温加热子程序中,设置的是高电平启动。
设置成低电平启动时,电路工作正常。
(3)按键电路没反应,在按下设置键以及调整键时,系统没有反应。
经排查后发现是按键没接地。
接地后按键电路工作正常。
4.2元器件调试
在系统元件的焊接中出现过很多问题,在经过逐一排查后,系统最终运行起来,其中出现的包括以下几个方面。
(1)开机后系统显示乱码,系统不起作用,经排查后发现晶振电路用错了电容,换成22pF后系统工作,但仍显示乱码。
查资料后发现,由于用的是片内存储器,但EA/Vpp没有接高电平,接上高电平后数码管显示正常。
(2)系统工作不正常,温度一直显示85度,确定程序没有问题后,经排查后发现由于之前把传感器接反,导致DS18B20烧坏,重新更换后问题解决,显示正常。
(3)数码管显示太暗,系统运行后发现,数码管显示的太暗,看不太清楚,故在数码管位选脚上加上拉电阻,经测试后,数码管显示正常。
5总结
此次课程设计中,难点在于DS18B20的使用,即对它的时序控制、初始化以及字节读写方法,任何一个环节出错或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 温度 自动控制系统 设计 研究 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)