温度采集与控制系统设计毕业论文doc.docx
《温度采集与控制系统设计毕业论文doc.docx》由会员分享,可在线阅读,更多相关《温度采集与控制系统设计毕业论文doc.docx(37页珍藏版)》请在冰豆网上搜索。
![温度采集与控制系统设计毕业论文doc.docx](https://file1.bdocx.com/fileroot1/2023-2/1/791675a5-f579-4952-a7d2-51461d607450/791675a5-f579-4952-a7d2-51461d6074501.gif)
温度采集与控制系统设计毕业论文doc
第一章绪论
本章介绍了温度采集与控制系统设计的背景与意义,通过本章,可以了解温度传感器和单片机的发展状况以及相关技术的发展状况。
1.1课题背景与意义
温度控制无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,而在当今,我国农村锅炉取暖,农业大棚等多数都没有实时的温度监测和控制系统,还有部分厂矿,企业还一直沿用简单的温度设备和纸质数据记录仪,无法实现温度数据的实时监测与控制。
随着社会经济的高速发展,越来越多的生产部门和生产环节对温度控制精度的可靠性和稳定性等有了更高的要求,传统的温度控制器的控制精度普遍不高,不能满足对温度要求较为苛刻的生产环节。
人们对于温度监测技术的要求日益提高,促进了温度传感器技术的不断发展进步。
温度传感器主要经历了三个发展阶段:
模拟集成温度传感器、模拟集成温度控制器、智能温度传感器。
温度传感器的发展趋势:
进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片机测温系统等高科技的方向迅速发展。
自从1976年Intel公司推出第一批单片机以来,80年代的单片机技术进入了快速发展的时期。
近年来,随着大规模集成电路的发展,单片机继续朝着快速,高性能的方向发展,从4位、8位单片机发展到16位、32位单片机。
单片机主要用于控制,它的应用领域遍及各个行业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机在国内的主要的应用领域有三个:
第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括手机、电话和BP机等等;第三是仪器仪表和计算机外设制造,例如键盘、收银机、电表等。
除了上述应用领域外,汽车、电子行业在外国也是单片机应用很广泛的一个领域。
它成本低、集成度高、功耗低、控制功能多、能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪表中的误差的修正、线性处理等问题。
1.2本课题的研究内容与目标
设计以STC89C52单片机为系统控制核心,结合DS18B20温度传感器、12864液晶显示、BM100无线模块、报警、升温和降温指示灯几部分电路,构成了一整套温度检测,报警及控制系统。
DS18B20进行温度采集,然后将温度数据送入单片机进行处理通过串口和无线模块发送出去,另一边单片机串口和无线模块接收然后在12864液晶上显示出来,达到了实时监控的目的,具有巡检速度快,扩展性好,成本低的特点。
在报警系统中,对于超过此限的温度数据将产生报警信号并进行相应的升温或降温操作。
本设计采用两片STC89C52单片机实现,单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现较简单,方便。
设计温度采集系统充分发挥了STC89C52单片机的特点,结合现有技术,大大降低了电路的设计复杂度,该系统具有温控准确、操控界面良好、稳定性高、抗干扰能力强等优点。
温度采集系统的设计必将给生产生活带来一定的飞跃,大大促进了生产的需要,在以后的发展中更进一步提高效率。
本设计的实现目标如下:
(1).温度实时监测
本系统在接收端用到了中文点阵式液晶显示器,显示清晰,能够把温度传感器采集来的温度实时显示在屏幕上,达到实时监测的目的。
(2)温度远程无线可靠传输
BM100模块是高度集成半双工微功率无线数据传输模块,嵌入高速单片机和高性能射频芯片。
BM100模块采用高效交织纠错算法,具有抗干扰和高灵敏度等特点。
BM100模块提供了多个频道的选择,可在线修改串口速率,发射功率,通信速率等各种参数。
BM100模块能够透明传输任何大小数据,而用户无须编写复杂的设置与传输程序,同时体积小、传输距离较远,丰富便捷的配置功能,能够应用非常广泛的智能化通信领域。
(3)各种附加功能及控制功能完善
由单片机分别设置温度报警上下限,超过预定的温度值时报警灯就会亮,相应的给出升温或降温的控制信号。
1.3论文的详细内容安排
本文共分5章。
第一章绪论,首先介绍了本文设计的课题背景,然后介绍了温度传感器和单片机的发展状况,最后介绍了论文的内容安排。
第二章首先是对温度采集与控制系统的任务分析,对任务明确之后,才能更加准确的进行设计。
接着阐述了系统方案的设计,对方案进行了详细分析。
第三章介绍了温度采集与控制系统的硬件设计,这些硬件设计是软件编程的基础。
第四章阐述了软件的设计过程,也是本毕设所要做的关键性工作。
包括软件结构说明,主程序与子程序的设计。
第五章则是对软件和硬件进行调试、分析,解决出现的各种问题。
之后,对本次毕业设计做出了总结并给出了重要结论,最后做出了社会经济效益分析。
第二章系统方案设计
本章主要内容是对设计任务书进行分析和为完成任务所需要掌握的知识,之后就要从成本、设计周期、等方面进行方案设计。
2.1任务分析
1.主要内容:
设计一个基于单片机的远程无线温度采集与监控系统。
该系统硬件设计主要包括:
主控单元、温度数据采集单元、数据传输单元、电源单元等。
软件部分包括:
温度数据的采集收发存储与处理、温度控制指令的处理等。
2.主要功能:
完成远程温度的数据监测与传输,并能进行报警和相应的温度控制操作。
3.主体思路:
熟悉科研课题的环境及毕业设计的具体要求,收集相关资料和调研,熟悉硬件和软件设计环境并完成硬件和软件的设计,完成远程温度采集与控制系统的软硬件设计和调试,最后是工作总结和撰写论文。
为完成以上任务,首先要学习51单片机的相关知识:
I/O口的输入输出操作、单个I/O的操作、定时器中断、外部中断、串口等。
然后是DS18b20的工作原理、管脚意义,如何初始化、读数据、数据处理等。
还有对12864液晶的学习,如何写指令、写数据、初始化、设定显示位置等。
学会了单个器件的使用还要将他们整合到一起,由于整个系统使用C语言编程,所以要学习并掌握单片机C语言的基本知识。
2.2设计方案
本系统设计方案主要包括硬件和软件两个部分。
硬件部分包含两个子系统,温度采集系统和温度监测与控制系统,其整体框图如图2.1所示。
其中在温度采集模块中有STC89C52单片机、DS18B20温度传感器、以及无线模块BM100。
其工作方式是DS18B20将采集的温度通过一个I/O口送到单片机进行数据处理,然后将处理好的数据通过串口和无线模块BM100发送出去。
温度监控与控制系统的核心同样是一个STC89C52单片机,它将通过无线模块BM100和串口接收到的温度值在12864液晶屏上显示出来,达到实时监控的目的。
另外通过单片机设置温度报警阀值,超过报警阀值时则进行报警提示并进行相应的升温和降温控制信号输出,达到控制的目的。
图2.1整体结构
软件设计是驱动这些硬件正常工作的关键。
软件部分要分为温度采集程序设计和温度监测与控制程序设计。
温度采集子系统程序中包含串口的初始化,即设定好波特率(本系统选用的是9600b/s),然后调用温度处理子程序,在温度处理子程序中系统会用到读温度子程序将温度按位处理,读温度子程序包含DS18B20的初始化、读写子程序等,其流程图如图2.2所示。
温度监测与控制子系统程序中要设定相同的波特率,这样才能够接收到数据且不丢失。
在接收数据时,系统采用串口中断的方式进行接收,当进入串口中断后,判断起始标志位数据,当判断起始标志位数据成功后,开始按顺序接收数据,并送入存储数组,然后送入显示子程序进行送显,如果判断起始标志位数据失败,则等待并继续进行起始标志位数据判断直至判断成功。
报警装置使用的是LED灯,当超过所设定的32℃,LED将被点亮,并发出降温操作信号;如果低于所设定的30℃,报警灯也会亮起,并发出升温操作信号,其流程图如图2.3所示。
图2.2温度采集流程图
图2.3温度监测与控制流程图
论证该方案的可行性,主要从成本、设计周期等方面进行考虑,分析如下:
1、成本分析
本设计的核心是2片STC89C52单片机、12864液晶、DS18B20温度传感器、2个BM100无线模块等。
经过市场调研,STC89C52单片机单价在4元左右,12864液晶大约40元,DS18B20价位在5元左右,BM100无线模块单价是70元,其他电阻、电容、晶振等也都比较便宜。
所以本硬件设计成本相对合理。
2、设计周期
该设计方案的硬件部分是在学习各单个器件的工作原理后设计出来的,时间主要放在资料的理解和应用上,硬件设计以及制作的时间会随着所收集的资料的理解来进行调整。
软件工作的设计重点是C语言的学习,以及时序图的理解和读写操作。
设计周期的长短取决于软件的理解及掌握程度。
经过分析,此方案成本较低,设计周期合理,并且能较好的达到任务指标,因此设计执行此方案。
第三章硬件设计
本章主要阐述了两部分内容,温度采集子系统的设计和温度监测及控制子系统的设计,同时对各个单元进行了详细说明。
在温度采集子系统中,DS18B20将采集的温度通过一个I/O口送到STC89C52单片机进行数据处理,然后将处理好的数据通过串口和无线模块BM100发送出去。
温度监测与控制子系统的核心同样是一个STC89C52单片机,它将通过无线模块BM100和串口接收到的温度值在12864液晶屏上显示出来,达到实时监测的目的。
另外通过单片机分别设置温度报警上下限,超过预定的温度阀值时进行报警,并发出相应的升温或降温控制信号,达到温度控制的目的。
单片机的最小系统与其他单元分开设计,以便进行实验和修改。
3.1温度采集传输子系统
3.1.1STC89C52单片机最小系统的设计
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T
。
其管脚如图3.1所示。
基于STC89C52单片机最小系统的设计包括以下2个部分:
图3.1STC89C52管脚图
1、复位电路部分
复位是STC89C52的初始化操作,只需给复位引脚RST加上一个高电平就可以使其复位,原理图如图3.2所示。
图3.2最小系统复位电路设计原理图
2、振荡电路
每个单片机系统里面都有震荡电路,STC89C52系统既可以选用内部震荡电路,也可以选用外部震荡电路,本系统选用外部震荡电路。
外部震荡电路主要基于一个晶振,该晶振结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快,本系统中所选用的晶振是11.0592MHz。
原理图如图3.3所示。
图3.3最小系统震荡电路设计原理图
3.1.2DS18B20接口设计
DS18B20是Dallas半导体公司生产的数字化温度传感器,是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而经济的特点,使用户可以轻松的组建传感器网络,为测量引入全新的概念。
新一代的“DS18B20”体积更小、更经济、更灵活,使用户可以充分发挥一线总线的长处[5]。
DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。
现场温度范围以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如设备控制、设备或过程控制、测温类消费电子产品等。
其管脚图如表3.1所示。
表3.1DS18B20管脚说明
引脚
符号
说明
1
GND
地
2
DQ
单线应用的数据输入输出引脚
3
VCC
电源
1、DS18B20的主要操作过程及原理
DS18B20测温原理如图3.4所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3.4中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
图3.4DS18B20测温原理图
DS18B20得到的16位数据,存储在两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃的数字输出为FC90H。
其温度数据关系如表3.2所示。
表3.2温度数据关系
TEMPERATURE
DIGITALOUTPUT(Binary)
DIGITALOUTPUT(Hex)
+125℃
0000011111010000
07D0h
+85℃
0000010101010000
0550h
+25.0625℃
0000000110010001
0191h
+10.125℃
0000000010100010
00A2h
+0.5℃
0000000000001000
0008h
0℃
0000000000000000
0000h
-0.5℃
1111111111111000
FFF8h
-10.125℃
1111111101011110
FF5Eh
-25.0625℃
1111111001101111
FE6Fh
-55℃
1111110010010000
FC90h
2、DS18B20接口设计
DS18B20正常的工作电压范围在3~5.5V,本系统采用5V电源供电。
由于DS18B20一线总线的特点,所以我只需用单片机的一个I/O口就能对其操作。
其连接如图3.5所示。
图3.5DS18B20接口设计图
3.1.3BM100无线模块接口设计
BM100模块是高度集成半双工微功率无线数据传输模块,嵌入高速单片机和高性能射频芯片。
BM100模块采用高效交织纠错算法,具有抗干扰性强和高灵敏度等特点。
BM100模块提供了多个频道的选择,可在线修改串口速率,发射功率,通信速率等各种参数。
BM100模块能够透明传输任何大小数据,而用户无须编写复杂的设置与传输程序,同时体积小、传输距离较远,丰富便捷的配置功能,使其能够应用于非常广泛的智能化通信领域。
管脚说明如表3.3所示:
表3.3管脚说明(方形孔为1脚)
管脚
定义
说明
1
VCC
电源+3.6V~+8V
2
GND
电源地
3
TXD
串行数据发送端
4
RXD
串行数据接收端
5
SLEEP
休眠控制(输入)TTL休眠信号低电平休眠
在串口发送数据过程中,STC89C52单片机发送数据,所以相对于单片机而言BM100无线模块相当于接收数据,因此单片机的11脚(TXD脚)与无线模块的4脚相连,才能完成串口发送,如图3.6所示。
图3.6温度采集子系统无线模块接口电路设计图
而在接收端无线模块发送数据,单片机接收数据,因此无线模块的3脚与单片机的10脚相连,才能完成串口接收,如图3.7所示。
通过管脚说明可以看出,系统使用5V电源为其供电,而本系统不使用无线模块的睡眠模式,所以对于5管脚只有接高电平才能使其正常工作。
图3.7温度监控子系统无线模块接口电路设计图
3.2温度监测与控制子系统
3.2.112864液晶接口设计
带中文字库的128×64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。
利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,可以显示8×4行16×16点阵的汉字,也可完成图形显示。
低电压、低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
其引脚说明如表3.4所示:
表3.412864液晶引脚说明
引脚
名称
方向
说明
引脚
名称
方向
说明
1
VSS
-
GND
11
DB4
I
数据4
2
VDD
-
电源(+3.3V)
12
DB5
I
数据5
3
VO
-
悬空
13
DB6
I
数据6
4
RS
O
H:
DataL:
InstructionCode
14
DB7
I
数据7
5
R/W
O
H:
ReadL:
Write
15
PSB
O
H:
ParallelMode
L:
SerialMode
6
E
O
EnableSignal
16
NC
-
悬空
7
DB0
I
数据0
17
/RST
O
复位
8
DB1
I
数据1
18
NC
-
悬空
9
DB2
I
数据2
19
LEDA
-
背光源负极(0V)
10
DB3
I
数据3
20
LEDK
-
背光源正极(+5V)
根据其管脚定义,系统设计采用单片机的P0口作为数据口,且加上拉电阻。
P0口作为I/O口输出时,输出低电平为0 ,输出高电平为高组态(并非5V,相当于悬空状态)。
也就是说P0 口不能真正的输出高电平给所接的负载提供电流,因此必须接上拉电阻,由电源通过这个上拉电阻给负载提供电流。
另外,液晶的RS端用P2^0控制,RW用P2^1控制,E用P2^2控制,再配合适当的软件编程,就能使液晶正常工作。
其接口如图3.8所示。
图3.8液晶显示接口电路设计图
3.2.2报警与控制系统接口设计
在报警与控制系统中设计了三个LED灯进行报警提示和升温、降温操作信号演示。
报警灯用P1^0控制,降温操作提示灯用P1^1控制,升温操作提示灯用P1^2控制。
本设计将LED正极与电源相连,负极接到I/O口上,当I/O上的电压由高变低时,LED灯将被点亮。
其接口如图3.9所示。
图3.9报警与控制系统接口电路设计图
3.3系统电源设计
7805三端稳压集成电路有三条引脚,分别是输入端、接地端和输出端。
使用三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
7805输入电压的范围在7~36V,极限电流1000mA,输出为+5V稳定电压。
系统的供电电源设计如图3.10所示。
图3.10系统电源电路设计图
第四章软件设计
本章分为三大部分:
Keil与Proteus连接调试、温度采集与发送程序和温度监测与控制程序,其中每个程序包括主程序和若干子程序,程序用C语言
,下面进行详细介绍。
4.1Keil与Proteus连接调试
4.1.1Proteus简介
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
4.1.2Proteus与Keil的连接
(1)假若Keil与Proteus均已正确安装在C:
\ProgramFiles的目录里,把C:
\ProgramFiles\LabcenterElectronics\Proteus6Professional\MODELS\VDM51.dll(可能没有这个文件,本压缩包里有)复制到C:
\ProgramFiles\keilC\C51\BIN目录中。
(2)进入KeilCμVision4开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:
Atmel公司的AT89C52)。
并为该项目加入Keil源程序。
(3)编译通过后单击“Project菜单/OptionsforTarget”选项,在Output中找到GreateHexFile在前面打钩然后确定,再次编译通过后打开Proteus在连接好的单片机上双击导入刚才生成的.hex文件确定后就完成Proteus与Keil的连接。
运行Proteus就能看到仿真结果。
4.2温度采集与发送程序
4.2.1温度采集与发送主程序
在该主程序中主要完成温度数据的采集,然后按位发送出去。
在发送过程中用到了串口通信,想要使发送和接收的数据不丢失双方必须要达成一定的约定,即通信协议。
因此在串口初始化过程中,设定串口工作在方式1,定时器1工作在方式2,波特率为9600b/s,8为数据位,1位停止位,无奇偶校验位。
在发送过程中,设定第一个数组为起始数据标志位,以便接收端接收到正确顺序的数组。
采集与发送流程图如图4.1所示。
图4.1采集与发送流程图
4.2.2DS18B20初始化子程序
单片机在一开始发送一复位脉冲(最短为480us的低电平信号),延时之后释放总线并进入接收状态,DS18B20在检测到总线的上升沿之后,等待15~60us,接着DS18B20发出存在脉冲(低电平持续60~240us),也就是说如果DS18B20存在60~240us的低脉冲则初始化成功,否则失败。
初始化时序如图4.2所示。
图4.2DS18B20初始化时序
4.2.3DS1