基于单片机和无线传输技术的室温控制系统设计.docx
- 文档编号:9908985
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:57
- 大小:840.15KB
基于单片机和无线传输技术的室温控制系统设计.docx
《基于单片机和无线传输技术的室温控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机和无线传输技术的室温控制系统设计.docx(57页珍藏版)》请在冰豆网上搜索。
基于单片机和无线传输技术的室温控制系统设计
摘要
为使公共室内空间或者个人房间能保持恒定温度,就必须装设一个恒温控制系统,使该系统能准确地感知室内温度,并通过控制装置对温度进行调节,同时显示并发送温度信息。
本设计是基于8051系列单片机和无线传输技术的室温控制系统,该系统能够控制室内温度保持在理想的范围内。
经过对标准温度的调节,使室内保持在一个设定值正负2℃之间。
完全可以满足一般室内空间对温度恒定的要求。
设计通过8051系列单片机及外围接口和无线传输技术实现对室温的自动控制。
该系统通过多点温度传感器对室内各点温度进行检测,通过8051系列单片机对室内温度进行控制,并可通过无线方式对相关数据进行传输。
为了实现温度的恒定,本文首先从理论上阐述了温度测量的理论依据,论述了温度传感器的工作原理,对基于温度传感器的温度测量和温度控制进行了分析,并在此基础上对设计方案进行了论述。
根据设计方案,论文先后对系统的硬件和软件进行了设计,通过对各个硬件模块的工作原理及所用主要芯片的技术参数和外围电路工作原理的分析,对系统的各组成模块进行了设计,包括:
温度显示部分、主控部分、温度测量部分、按键控制部分、温度调节控制电路部分;然后对系统软件部分的编程思路以及相应的编程技巧进行了说明和论述,另外,为了实现高灵敏度测距,在软件上使用的一些处理也在本论文中进行了相应的介绍。
论文的最后对系统的硬件电路和软件设计进行了仿真和调试,对设计的调试过程以及遇到的问题和最终的解决办法进行了说明。
仿真结果表明:
所设计的恒温控制系统能很好地完成温度的控制,达到了设计的目的。
论文主要以文字配合图表的方式进行阐述,使得论据阐述更有力度,论文更加生动,观点更加鲜明易懂。
关键词:
单片机温度控制温度测量温度调节温度显示
Abstract
Abletomaintainaconstanttemperature,mustbeequippedwithaconstanttemperatureofthecontrolsystemtoenablethemtoaccurateperceptionoftheindoortemperature,andadjustthecontroldevice,displayandsendtemperatureinformationtomakepublicindoorspaceorindividualroom.
Thedesignisbasedonroomtemperaturecontrolsystem8051andwirelesstransmissiontechnology,theso-calledcontrolofthetemperatureiskeptwithinthecontrolofoneofour.Afteradjustmentthestandardtemperature,indoormaintainedatasetvalueplusorminus3℃.Fullymeettherequirementsofgeneralindoorspacetempertureconstant.
Inordertoachieveaconstanttemperature,thepaperfirsttheoreticallydescribedthetheoreticalbasisoftemperaturemeasurement.Thengivesthetemperatureofthesensortomeasurehowintoustoidentifythedecimaltemperaturevalue.Finally,aflowchartbasedontemperaturemeasurementandhowtocontrolthetemperature.Intheschematic,thearticlehasdetaileddescriptionofeachhardwaremoduleworksaswellasthemainchipusedinthetechnicalparametersandtheexternalcircuitworks,whichinclude:
temperaturedisplaypartofthemainsection,thetemperaturemeasurementpartofthekeycontrolpart,thetemperatureadjustmentcontrolcircuit.Elaborateonthefinishedhardwarecircuitprinciple,thispaperdiscussesthesoftwarepartoftheprogrammingideas,aswellasprogrammingskills.Inordertoachievehighsensitivityrangingsoftwaredealwithinthispaperisalsoappropriateintroduction.
Introductionpartofthehardwareschematicsandsoftware,thisarticledescribesthedesigndebuggingprocessandtheproblemsencounteredandthefinalsolution.
Paperwiththecharttextelaborate,makingtheargumentexpoundedmorepowerfulthesismorevivid,moredistinctandeasytounderstandpointofview.
Keywords:
MCUTemperaturecontrolTemperaturemeasurementTemperatureregulationTemperaturedisplay
1引言
(该部分说明设计的目的和任务,以及资料调研的论述,也就是开题报告开头的那部分内容修改后写到这里,将你现在写的DS18B20的东西放在硬件电路设计中介绍)
1.1DS18B20温度测量的特性
现在是一个信息化、数字化的时代,人们对室内温度的恒定也有了新的要求。
在不耗费人力和精力的情况下,要保持一个室内空间的温度大致恒定,就成为了大势所趋。
这就要求测温的准确性和快速性,本设计就有效和方便的解决了这个问题。
我将采用现在比较流行的测温传感器1-WrieBusDS18B20对温度进行测量。
1-WrieBus的意思是“单总线”,是美国Dallas半导体公司(现在已经并入MAXIM公司)于上个世纪90年代新推出的一种串行总线技术。
该技术只需要使用一根信号线便可以完成串行通信。
这一个信号线包括了计算机的地址线、数据线和控制线。
单根信号线,既传送时钟,有传输数据,而且数据传输是双向的,在信号线上可挂上许多测控对象,电源也由这根信号线供给,所以在单片机的低速(约100kbps以下的速率)测控系统中,使用单总线技术可以简化线路结构,减少硬件开销。
DS18B20是Dallas公司继DS1820后推出的一种改进型智能数字温度传感器,与传统热敏电阻相比,只需一根线就能直接读出被测温度,并可根据实际需求编程实现9~12位数字值得读数方式。
1.1.1DS18B20的封装形式及引脚功能
DS18B20有三种封装形式:
(1)采用3引脚TO-92的封装形式。
(2)采用6引脚TSOC封装形式。
(3)采用8引脚SOIC封装形式,如图1-1所示
图1-1DS18B20的封装形式
DS18B20芯片的引脚功能:
(1)GND:
电源地。
(2)DQ:
数字信号输入/输出端。
(3)VDD:
外接供电电源输入端。
采用寄生电源方式时,该引脚接地。
1.1.2DS18B20的内部结构
温度传感器DS18B20的内部结构如图1-2所示,主要由64位ROM、温度传感器及高速缓存器配置寄存器等部分组成。
图1-2DS18B20的内部结构
下面对DS18B20的相关部分进行简单的描述。
(1)64位ROM。
64位ROM是由厂家用激光刻录的一个64位二进制ROM代码,是该芯片的标识号。
8位分类编号表示产品分类编号,DS18B20的分类号位10H;48位序列号是一个大于281×1012的十进制数编码,作为该芯片的唯一标志代码;8位循环冗余检验为前56位的CRC循环冗余检验码。
由于每个芯片的64位ROM代码不同,因此在单总线上能够并挂多个DS18B20进行多点温度实时监测。
(2)温度传感器。
温度传感器是DS18B20的核心部分,该功能部分可完成对温度的测量。
通过软件编程可将-55~125℃范围内的温度值按9位、10位、11位、12位的转化精度进行转化,以上的转化精度都包括一个符号位,因此对对温度量化分别是0.0625℃、0.125℃、0.25℃、0.5℃,既最高转换精度为0.0625℃。
芯片出厂时一般都是默认为12位的转化精度。
当接收到温度转换命令44H后,温度开始转换,转换完成后的温度以16位带符号扩展的二进制补码形式表示,存储在高速缓存器RAM的第0、1字节中,二进制数的前五位是符号位。
如果测得的温度大于0,这五位为0,只要将测到的数值乘上0.0625即可得到实际温度;如果温度小于0,这五位为1,测到的数值就需要取反加1再乘上0.0625即可得到实际温度。
例如:
+25.0625℃的数字输出位0191H,-25.0625℃的数字输出位FF6FH,125℃的数字输出为07D0H,-55℃的数字输出为FC90H。
(3)高速缓存器。
高速缓存器包括一个高速暂存器RAM和一个非易失性可电擦除E2PROM。
非易失性的可电擦除E2PROM用于存放高温触发器TH、低温触发器TL和配置寄存器中的信息。
高速暂存器RAM是一个连续8字节的存储器,前两个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。
第3个和第4个字节是高温触发器TH、低温触发器TL的易失性复制,第5个字节是配置寄存器的易失性复制,以上字节的内容在每一次上电复位时被刷新。
第6、7、8个字节用于暂时保留为1。
(4)配置寄存器。
配置寄存器的内容用于确定温度值的数字转换分辨率。
DS18B20工作室按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如下:
TM
RO
R1
1
1
1
1
1
TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时,该位被设置为0,用户不必改动;R1和R0用来设置分辨率;其余5位均固定为1。
1.2DS18B20温度测量的原理
DS18B20的温度原理如图1-3所示,从图中我们可以看出,DS18B20主要是有斜率累加器、减法计数器、温度系数振荡器、温度寄存器等部分组成。
斜率累加器用于补偿和修正测量温度过程中的非线性,其输出用于修正减法计数器的预置值。
温度系数振荡器用于产生减法计数脉冲信号,其中低温度系数振荡器受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数振荡器受温度的影响较大,随温度的变化,其振荡频率明显改变,产生的信号作为减法计数器2的输入脉冲。
减法计数器对脉冲信号进行减法计数。
温度寄存器暂存温度数值。
图1-3DS18B20的测温原理
在图1-3中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,从而完成温度测量。
计数门的开启时间有高温度系数振荡器决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数振荡器产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1。
之后,减法计数器1的预置值将会被重新装入,减法计数器1重新开始对低温度系数振荡器产生的脉冲信号进行计数,如此循环下去,指导减法计数器2计数到0的时候,就会停止温度寄存器的值的累加。
这时,温度寄存器中的数值即为所测温度。
斜率累加器不断补偿和修正测温过程中的非线性,只要计数门未关闭就重复上述过程,直至温度寄存器的值达到被测温度值。
由于DS18B20是单总线芯片,在系统中若有多个单总线芯片时,每个芯片均有严格的读/写时序要求,芯片的信息交换均是分时完成的。
系统对DS18B20的操作协议为:
(发DS18B20复位信息)初始化DS18B20→发ROM功能要求→发存储器操作命令→处理数据。
2室温控制系统设计方案及论证
2.1设计要求
以下是本设计的设计要求:
1、温度设定值在15-35℃之间,且现场可调;
2、实时显示温度值;
3、当温度出现过高、过低和不均匀时控制相应装置开始工作,并在达到设定要求时停止控制装置工作;
4、当温度超过设定值±3℃时声光报警;
5、利用无线传输技术对采集到的温度数据进行传输。
2.2设计方案
按照设计要求,室温控制系统的设计方案确定为以AT89S52作为系统核心,具体方案如下:
以AT89S52单片机作为系统的主控制器;
温度测量采用的是单总线温度传感器DS18B20;
温度显示系统采用的是共阴极4位8段数码管;
温度设定系统运用2行3列式矩阵按键键盘进行调节;
报警系统采用采用蜂鸣器(外加放大电路)和LED灯;
温度调节装置高温调节采用直流电风扇降温(外加光电耦合开关),低温调节采用电阻丝加热;
具体设计方案如图2-1所示
8051单片机(室内端)
数码管显示电路
温度检测电路
温度调节系统
矩阵键盘
声光报警系统
时钟控制
12Mhz晶振
温度数据信息无线发送电路
8051单片机(中控端)
温度数据信息无线接收电路
数码管显示电路
时钟控制12Mhz晶振
声光报警系统
矩阵键盘
图2-1系统框图
2.3方案论证
2.3.1控制系统
本设计采用AT89S52作为单片机控制核心。
AT89S52是8位单片机,在C语言环境下可以更好的实现对程序的逻辑控制以及轻松实现一些复杂的计算,并且该单片机具备32个可位寻址的通用I/O口,和一对串行通信口,可以分别用来进行对数码管的显示操作,对温度传感器的操作,对矩阵键盘的操作,对报警器的操作,对温度调节电路的操作,与外界的通信。
另外,单片机内置的6个中断源和2级中断优先级系统大大提高了程序对突发事件的处理能力,提高cpu运行效率。
同时此单片机还具备低功耗的特点。
在配备12MHz晶振的条件下,CPU可以高效地完成测量、显示、计算报警及控制设备启动等任务。
满足室温控制系统的设计要求。
2.3.2温度测量装置
由于室温控制系统需要对室温进行实时的监测与显示,才能启动温度调节装置将室温基本恒定。
所以我选择了单总线温度传感器DS18B20,该温度传感器可实现12位精度转换。
满足室温控制系统的设计要求。
2.3.3报警装置
为满足设计要求的自动声光报警功能,本设计用单片机控制一个直流蜂鸣器和一盏LED灯。
当需要时,单片机发出信号是蜂鸣器鸣响并且LED点亮。
2.3.4与中控端的通信
为满足设计要求,无线通信我使用的是NRF905无线模块。
该模块使用的是433Mhz开放ISM频段免许可证实用;除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。
满足室温控制系统的设计要求。
2.3.5数码管显示
设计采用共阴极4位8段数码管作为温度显示电路,因温度传感器DS18B20的温度范围是在-55~125℃之间,所以4位8段数码管完全可以满足显示要求。
温度为正时前三位显示温度,最后一位显示温度符号C;温度为负时,第一位显示负号,第二三位显示温度,最后一位显示温度符号C。
满足室温控制系统的设计要求。
2.3.6调节恒定温度值
在本设计中采用的是2行3列式矩阵键盘进行温度调节。
6个按键可实现切换温度显示与温度调节显示画面,并且可实现温度的加减移位以及和数的操作。
能够随时中断温度显示进行修改恒定温度值。
满足室温控制系统的设计要求。
2.4温度实时监测和温度恒定控制的实现
本系统是基于AT89S52单片机和温度传感器DS18B20实现实时测温的。
之所以可以做到实时对温度进行测量并显示,是因为在单片机在12MHz晶振下定时器的最小周期为1us,而温度传感器DS18B20接在单片机的I/O口上,每次读取温度数据的间隔根据程序完全可以做到很小。
温度控制装置,均连接在AT89S52单片机的I/O口上,根据单片机内部的计算能力,可将设定好的温度值实时与温度传感器DS18B20测量出的温度进行比较,并迅速做出反应,启动或停止升降温装置,动态调节室内温度,保持恒定。
满足室温控制系统的设计要求。
2.5方案论证结论
表2-1设计要求的实现
设计要求
是否实现
温度设定值在15-35℃之间,且现场可调
是
实时显示温度值
是
当温度出现过高、过低和不均匀时控制相应装置开始工作,并在达到设定要求时停止控制装置工作
是
当温度超过设定值±3℃时声光报警
是
利用无线传输技术对采集到的温度数据进行传输
是
基于上述分析,本设计方案满足设计要求。
3室温控制系统的硬件设计
3.1硬件原理概述
本设计是一个带有基于单片机和无线传输技术的室温控制系统,因此硬件上就必须存在计算系统、控制系统、温度采集系统、报警系统、调温控制系统、温度显示系统和无线通信系统。
为了满足设计要求,本系统在硬件上设计了主控模块、温度测量模块、数码管显示模块、报警模块、温度调控模块、键盘控制模块和无线传输模块。
主控模块由一块单片机AT89S52和其周边的一个最小系统构成。
这个最小系统包括用于为单片机提供可靠复位的复位电路、为单片机提供时钟的时钟电路。
单片机负责系统整体的时序控制,它负责协调各个模块之间的动作,这其中包括控制温度测量数据的采集、做出一系列的智能判断,数码管的显示,按键操作的响应,最为关键的,单片机需要完成实测温度和设定温度的比较,来启动或停止升降温系统。
温度测量模块主要负责对温度实时的监测,具体硬件实现在后文中介绍。
为了满足设计要求中的对温度设定值的现场可调,本系统设计了按键控制模块,它可以随时中断温度显示模式,切换到温度值设定模式,进行调整温度值的操作。
具体的实现方法在后文中介绍。
报警模块是为系统提供报警功能的电路。
它的存在使得本系统具备报警功能。
具体实现方法在后文中介绍。
数码管显示模块是为了实时地看到测量的温度数据,并实现设定温度的显示与调整的可见性,满足设计的要求。
无线传输模块主要是为了完成室内端与中控端的温度信息的传递,让中控端能够随时监测室内的温度。
调温控制系统主要目的是根据室内温度的变化,启动或停止加热或制冷装置,来调节室内温度。
本系统采用5V和3.3V电压供电,在电路板上留有两个电源和一个地的接口。
3.3V主要是为了无线模块的供电要求所增设的。
硬件原理图的绘制使用的是Protel99软件。
Protel99是Altium公司于99年推出的电路设计软件,该软件提供从原理图到PCB的一系列解决方案,并具有自动布线功能,大大地缩短了设计周期。
还可以自行编辑,绘制元器件的原理图和封装图,为绘制最新的电路图提供了帮助,也增加了软件的生命周期。
3.2硬件设计原理图
图3-1硬件原理图
图3-1为本系统的硬件设计原理图,下面就本原理图中的各个硬件模块进行论述。
3.3硬件模块原理
3.3.1微处理器
3.3.1.1单片机AT89S52
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K串行下载Flash存储器,即在系统编程技术。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
单片机AT89S52原理图见下图3-2。
图3-2单片机AT89S52
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM;
32位I/O口线;
时钟频率0-33MHz;
看门狗定时器;
双数据指针;
三个16位定时器/计数器;
一个6向量2级中断结构;
全双工串行口;
片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
3.3.1.2单片机复位电路
复位电路如图3-3所示
图3-3单片机复位电路
晶振工作时,单片机RST引脚持续2个机器周期高电平将使单片机复位。
系统上电时,由于换路效应,电容C3处于短路状态,此时RST引脚为高电平,持续一段时间后电容充满电,RST引脚等效于接地,一直保持低电平,复位完毕。
按钮S1按下时RST与电源短接,使单片机复位。
3.3.1.3单片机时钟电路
图3-4单片机时钟电路
本设计采用外部石英晶体振荡器为MCU提供时钟。
电路图如图3-4所示,AT89S52单片机内部有个用于构成振荡器的高增益的反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体及电容一起构成一个自激振荡器。
电容C1和C2取值范围为20-50pF,其电容值对振荡频率有微调作用,通常取30pF左右。
由于AT89S52内部的定时器时钟源直接来自外部晶振的1/12分频(本设计采用这种方案),因此为了提高测量分辨能力以及保证指令周期尽可能短,本设计采用12MHz晶振。
这样单片机内部定时器的时钟频率正好是1us。
3.3.2温度测量模块
图3-5温度测量模块
见上图,可知温度测量模块采用的是温度传感器DS18B20进行测温的。
温度传感器DS18B20是可以实现一个数据总线上连接上多个传感器进行测温。
可以节约单片机的I/O口,但是会相对增加测温的时间。
本设计因为I/O口短缺,所以只能采用这种方式连接。
DS18B20温度传感器提供9至12位的摄氏温度测量,并且数据采用单总线信息交换方式进行。
信息从单片机的P3.0引脚送入DS18B20或从DS18B20送出至单片机的P3.0引脚,因此按照定义只需要一条数据线(和地线)与中央微处理器AT89S52进行通信。
它的测温范围从-55°C到+125°C,其中从-10°C至+85°C可以精确到0.5°C。
满足分辨力的要求。
3.3.3报警模块
图3-6报警模块
如图3-6所示报警模块由两部分组成,分别为声音报警和光报警。
声音报警是一个φ12直流蜂鸣器BUZ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 无线 传输 技术 室温 控制系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)