摘要
当今社会不断发展,工业以及生活领域对温度控制系统的要求日益增加。以往的设计系统已经不能满足如今的社会需求,因此设计更加符合要求的温度控制系统是大势所趋。采用单片机进行温度控制系统的设计可以使温度的调节更简单、灵活,节约操作成本。本文将利用STC89C51单片机设计一个温控系统,利用温度传感器进行数据采集,LCD显示屏显示当下的温度。当设备的温度超过或低于预设的温度区间时,报警器发出警告且继电器开始控制相应的器件进行温度控制操作,从而将温度控制在预设的区间内。最终通过仿真对设计进行调试以及改善。本系统可作为热水器温度控制系统、温室温度控制系统等。系统灵活性大,便于调节。
关键词:单片机;继电器;温度传感器;数码管
Abstract
In today’s developing society, the industry and life are increasing. The previous design system has been unable to meet the needs of today’s society, so the design of the more required temperature control system is the inevitable trend. The design of the temperature control system can make the temperature adjustment more simple and flexible, and save the operation cost. This paper will use the STC89C51 single-chip microcomputer to design a temperature control system, using the temperature sensor for data collection, the LCD display shows the current temperature. When the temperature of the device exceeds or below the preset temperature interval, the alarm issues a warning and the relay begins to control the corresponding device for temperature control operation to control the temperature within the preset interval. Finally, the design is adjusted and improved through simulation. This system can be used as a water heater temperature control system, a greenhouse temperature control system, etc. The system has great flexibility and is easy to adjust.
Key words: single chip microcomputer; relay; temperature sensor; digital tube
1 引言
1.1 设计研究背景
如今几年随着社会生产力的不断发展,工业、农业等领域生产设备趋于完善,各个领域对于温度控制方面的要求越来越多,不同的方面所需的温度控制系统虽不完全相同,但是对于要求的温度控制能力是一样的。因此,在当前对于温度控制的极大要求下,设计一个较为简单、灵活、控制方便的温度控制系统十分重要。采用STC89C51单片机进行设计能够很好的满足要求的实用性、灵活性并且可以将设计系统的技术指标进行提升,进而提升工业、农业等领域产品的生产率以及产品的质量。由此可得,在温度控制系统中利用单片机进行设计是一种很有代表性的方式。
1.2 设计研究目的及意义
1.2.1 研究目的
为了使工业、农业等生产领域能够顺利进行,调节其中的各类参数如温度、压强、速度等是十分有必要的,其中对温度进行控制是非常重要的。如今社会不断发展,我们对于温度的要求越来越高,不同领域在操作的时候都或多或少的需要对温度进行一定的控制,所以对温度的测量以及控制变得十分重要。工业、农业等生产领域离不开温度这种要素,准确的测量并控制温度不仅可以提高工业、农业等生产效率,还可以对产品的质量进行提升,减少人工资源的浪费。
研究发现,我们现在的社会中比较流行的温度控制系统大多数的控制性能、可靠性不高,一些先进的、操作性好的温度控制系统价格比较昂贵而且操作比较繁琐。针对于此现状,我们现在需要的就是性价比较高而且操作简单的温度控制系统,并且在研究中我们可以了解到单片机的价格相对低廉,而且也可以实现范围性的温度控制,因此采用单片机作为主控部分来进行温度控制系统的设计可以为社会提供一些基本的范围性温度控制系统。
1.2.2 研究意义
为了节约劳动成本,减少资源浪费,提高温度控制效率,设计一款合适的温度控制系统十分重要,它可以通过改善相应的因素来提高经济效益,有利于工业、农业等不同领域社会的进一步发展,为需要温度控制的项目工程提供一个合理的操作系统、以此来提高工程的操作效率。
本次研究的设计主要采用的是STC89C51单片机作为主要控制来设计一款温度控制系统。利用单片机进行设计,一方面是比较容易进行温度的控制,另一方面是其操作更具有灵活性。作为一项利用单片机、传感器、继电器以及显示器等部件的系统设计,可以很好地考验我们的综合实验能力以及动手操作能力,将所学的书面知识得到一个更深层次的理解,对书本知识有进一步的加深。
1.3 研究现状及设计思路
1.3.1 研究现状
国外研究现状:早在二十世纪七十年代国外便进行了温度控制方面的研究。最开始的时候进行研究是利用模拟的字和仪表对温度进行相应的操控。到了二十世纪八十年代的末期开始了分布式控制。如今,国外对于温度控制的研究日益深入,控制技术也逐渐成熟。
国内研究现状:我国对于温度控制的研究晚于国外十年左右,最开始基于国外先进经验逐渐掌握了通过微机系统进行温控的技术。目前为止,我国对于温度控制的研究相对落后,很多方面不能得到相应的利用,系统软件和硬件基础比较薄弱。但温度对我们非常重要。因此我国应该更加深层次的研究温度控制系统。经济社会日益发展,我们对温度的要求逐渐增大,设计更加简单,精确度更高的系统非常重要。
1.3.2 设计思路
本设计研究主要是基于单片机做温度控制系统,所要进行温度控制的设备通过DS18B20温度传感器把目前的被控设备温度转化为单片机能够识别的数字温度信号传输到单片机中,与此同时可以在系统中设定一个被控设备的初始温度范围。设定的被控设备适应的温度范围以及设备当前的温度会显示在LCD1602液晶显示器上。当设备温度高于或低于预设温度范围时,通过报警器报警并且继电器控制系统会据此控制不同器件进行设备的升降温,以控制设备温度在设定的范围内。
2 总体设计
总体设计是:在经过前期资料查阅、对各类器件进行对比、采用仿真软件对设计进行预操作等过程之后,对本次所要求设计的温度控制系统进行了一个整体的设计操作,对于本次设计系统所需要完成的各项条件进行预设,将符合预设条件的器件以及仿真软件进行挑选,制定相应的设计方案,进行一定的方案对比,选择合适的方案进行设计操作,对所要实现的具体功能以及具体的操作原理进行设计。
2.1 系统设计工作原理及原理框图
2.1.1 基本工作原理
将本系统接入需要进行温度控制的设备并接通电源后,DS18B20传感器将从被控设备的当前的温度中提取的温度信号转换为设计系统可以识别的信号输入到单片机中,经过单片机的识别最终将设备当前温度显示在系统设计选取的液晶屏之上(仿真图中用LCD1)并传输到继电器部分,方便继电器识别当前的温度,在进行设备温度测量之前可以通过控制按钮来调节被控设备的预设温度范围(在仿真设计中默认调节的温度范围是可以自行调节的),控制按键有三个,分别可以进行:最低温度和最高温度以及位数的选择、调高温度数字、降低温度数字。
当需要控制温度的设备当前的温度高于之前预设的温度范围时,继电器1会随之闭合处于工作状态,控制小风扇对被控设备进行降温处理并且系统中的红色LED灯亮起,同时报警器发出声响,以此来提醒操作人员当前设备温度过高;当设备温度低于预设的温度范围时,继电器2会随之闭合,控制加热片对被控设备进行升温处理并且黄色的LED灯会亮起,同时报警器发出声响,以此来提醒操作人员当前设备温度过低;当设备温度到达预设的温度范围后,继电器识别到传来的温度符合预设的温度要求,因此两个继电器都处于不工作的状态,小风扇与加热片也不工作。
2.1.2 设计框图及介绍
通过对单片机温度控制系统的相关资料的查找、阅读吸取其中适合于本次系统设计的部分并且利用仿真软件Proteus以及keil对系统的设计进行具体操作,我对本次的温度控制系统设计基本分为了六部分。
这六部分分别是:DS18B20温度传感器传输设备温度的部分、STC89C51单片机主控部分(由于仿真软件Proteus8.6中没有所需的STC系列芯片,而且经过查阅资料可以了解到AT89C51单片机与STC89C51单片机的引脚功能基本相同,所设计的温度控制系统采用的STC89C51单片机引脚在AT89C51中都有,所以仿真图的连接以及后续的代码设计采用AT89C51单片机进行代替)、继电器控制温度升降温部分(在Proteus软件中没有相应的加热片进行升温处理,所以在仿真中采用的是光电耦合器以及LED灯来代替基本的工作原理,如果LED灯发出光亮则证明本系统设计正常运行或采用步进电机模拟小风扇,OVEN加热炉模拟加热片来进行设计)、控制按钮部分、LCD1602液晶屏显示部分
(在连接的仿真图中LCD1602显示器用LCD1表示)以及蜂鸣器报警部分,设计的各个部分都是直接连接在STC89C51单片机上从而进行具体的设计功能操作。
2.2 系统设计要求
(1)本设计系统对被控设备的温度的控制要求精确到0.1℃。
(2)可以进行预设温度的设定并且能够自行调节温度的高低位数值。
(3)本次的设计要求能够适应的温度要于(-55摄氏度到125摄氏度)之间。
(4)当设计系统的温度不符合之前的预设要求时,继电器会控制相应的器件进行升降温操作并且控制发光二极管亮起,同时报警器会发出声响,作为提示。
(5)当前的被控设备温度和预设的温度范围能够直观的显示在液晶屏上。
3 器件选择及介绍
本部分主要是针对于温度控制系统设计所需要的各个器件进行相应的选择并说明选择此器件的原因并且对各个器件进行相应的功能、优势介绍。
3.1 单片机选型
在本温度控制系统中采用的主控单片机为STC89C51类型(在Proteus模拟的系统电路图中由AT89C51单片机进行了替代)。
3.1.1 单片机选型要求
在本系统设计中,单片机作为主控部分,其性能的好坏直接影响本次温度控制系统的设计稳定性,因此单片机的选择十分重要。作为系统主要控制部分需要同时满足预先对系统的要求并且要求具有价格相对便宜,操作较为简单、获取方式较为方便等优点。相比其他主控器件,单片机的性能更加具有优势且具有集成度更高、价格较低、操作较为方便等优势。基于本系统的设计要求以及对单片机的熟悉程度、便于仿真模拟等条件,最终决定采用STC89C51单片机作为主控部分来实现本系统的设计,在仿真图连接时采用的是AT89C51单片机进行替代。
3.1.2 STC89C51单片机功能介绍
(1)STC89C51单片机的基本工作原理:它是一种低电压、高性能ISP可编程芯片,以8051为核心的单片机。具有8K字节的可编程/擦除闪存。它可以根据系统的可编程特性,加入个人计算机对程序进行的操做便能够将编程烧入单片机里。
(2)STC89C51单片机的性能介绍:
1)它与MCS51指令系统能够相容并且有1000次可擦除,因此能够反复使用。
2)此单片机具有3个十六位的可编程计时或计数中断,并且含有2个串行中断。
3)它可以在断电的时候依旧保存之前的数据,可以对数据进行保护。
(3)STC89C51单片机的特点:
1)它的时钟频率为(0到35兆赫兹)就相当于一般的8051单片机工作在(0到420兆赫兹)频率之下,频率降低可有效提高工作效率。
2)它的基本引脚功能与AT89C51单片机相同,但是它在此之上增加了AD的数模转换,增加了集成度,速度更快且用户的程序空间更多。
3.2 传感器选型
本次进行的单片机控温设计系统中选择的传输温度的设备为:DS18B20温度传感器。
3.2.1 传感器选型要求
在本系统设计中,需要有相应的器件将所要测试的设备的实时温度传输到单片机中形成数字温度信号,以便于温度的测量以及控制。因此,温度控制系统的设计需要温度传感器。而进行系统设计则要求越轻便、抗干扰能力越强越好且温度传感器的选择需要满足系统对于温度传输要求的精度并且要适应相应的温度范围。热电传感器是一种测量物质温度的器件,结合与温度有关的材料或部件的物理特性将被测物的温度改变情况换为电信号变化,热电偶以及热电阻这两种传感器是工业测量里面常用的。DS18B20温度传感器相对引脚连接方便,封装后可适用于不同的场合并且它的体积比较小、使用起来比较方便。可同时满足上述选型要求,所以在本次温度控制系统中选择的是DS18B20型的传感器来进行被控设备温度的测量、传输。在本设计中温度传感器的主要应用原理是:将需要控制温度的设备的当前温度改变成数字温度信号传入到单片机中,方便单片机监控被控设备的当前温度。当温度传感器传入的设备当前温度不符合设备要求的预设温度范围时,单片机就会控制相应的继电器进行温度的调整,直至温度传感器传来的温度符合要求为止。
3.2.2 DS18B20温度传感器介绍
(1)DS18B20温度传感器是日常设计中使用最频繁的数字温度传感器之一,它具有较小体积、较强的抗干扰能力适用于很多场合。而且它便于安装、更加精确。
(2)它能够检测(-55摄氏度到+125摄氏度)之内的温度,它的检测温度的误差在1℃。温度在(-10摄氏度到+85摄氏度)时,偏差为0.5摄氏度。
(3)DS18B20传感器可同时进行多点温度测量,最多不超过8个点。工作电压在3.0~5.5V之间,只需要一条线就可实现单片机与传感器之间的通信。
(4)不需要外围元器件就可进行温度的测量且供电方式更为灵活,结构简单更可靠。
(5)当电源供电停止,DS18B20传感器仍可保存分辨率以及设定的温度范围,无需在供电重新进行的时候设定之前的温度范围。
3.3 显示器的选型
在本温控系统里面采取显示数值的为LCD1602液晶屏。
3.3.1 显示器选型要求
在本设计中要选择的显示器首先需要满足的因素就是可以清晰地显示需要控制温度的设备所适应的预设温度范围以及当前的设备温度,这样才可以达到便于操作人员观察、控制的目的。其次选择的显示器它的仿真原理图连接方式要相对较为简便,以此可以直接观察出各个引脚的一个连接情况。而且在设计实物中采用的硬件器件它的实用价值以及性价比要求更为良好,能够适应当前对于温度控制设计的要求,通过对不同的显示器的了解我们可以对比得出LCD1602液晶显示器都可以满足以上各个方面的要求,因此在本设计中所采用的是LCD1602液晶显示器。
3.3.2 LCD1602液晶显示器介绍(与普通数码管对比)
首先,采用LCD1602液晶显示器进行数值的显示相比于采用数码管显示,可以更加具体、方便。在设定温度范围时,可以在一个屏幕中同时出现温度范围的上下界线,还可以显示阿拉伯数字、英文字母、符号等,而数码管则需要几个连接才能进行显示且只能显示基本数字和字母。并且LCD1602液晶显示器可以固定设计其作为两行显示,分别显示被控设备当前温度、被控设备要求预定温度范围,这样更加便于对温度进行观测,仿真电路连接设计也更加方便。
其次,LCD1602液晶显示器目前被应用的更多,它的清晰度有目共睹,相比数码管显示器可以更加直观的观测数据。而且LCD1602液晶显示器的成本较低,在电路设计中只用一个LCD1602显示器加上拉电阻便可实现显示温度的功能。而数码管显示器则需要多个连接,相比起来更加节约,控制电路的连接也较为方便,可以实现相应的显示功能,降低了焊接难度,减少了资源浪费。最后,可以了解到LCD1602主要参数,他一共有32个显示字符(16×2),工作在4.5到5伏电压之下,工作在2.0毫安电流下,工作温度适应的范围是:-20到70摄氏度,5.0伏是它最佳的工作电压,单个字符的大小:2.95×4.35(W×Hmm),具有16个引脚。
3.4 继电器控制升降温器件选型
在本温度控制系统设计中控制温度升温的器件选择的是PTC加热片,进行降温控制的器件选择的是小风扇。
3.4.1 继电器控制部分的选型要求
继电器控制部分的器件选择首先要考虑的因素就是要满足设计系统的一个升降温的控制,在本设计系统中,最重要的一个设计方面便是能够对于温度进行合理的控制,因此选择合适的控温器件十分重要。其次,在设计中选择的继电器控制温度的器件要能够适应系统中的电阻、电压要求并且能够与继电器很好地连接。那最后就是选用的器件要秉承性价比优势以及使用操作方便等因素。因此经过对于不同器件的对比以及各种资料查阅了解,最终确定设计系统中采用的继电器控制器件是PTC加热片以及小风扇。
3.4.2 器件介绍以及选择的原因
PTC加热片:相比于其他加热器件PTC加热片的安全性能有很大优势,当系统遇到故障时,导致热量不能及时挥发,它的功能效率也会飞速降低,但是它会控制自身外表温度大概为250摄氏度,器件外部会控制为原来的状态。
小风扇:作为一个降温设备,在系统中主要是为了对被控设备进行降温处理。通过交流电将系统的电能转化为机械能,控制风扇转动从而达到降温的效果。
首先,PTC加热片和小风扇这两个器件在市场上种类较多,因此比较容易得到而且性价比相对较高,如果发生意外的损坏需要更换同样类型的温度控制系统的时候所需要的花费比较小,对整个温度控制操作领域的影响较小,同样采用加热片和小风扇也可以实现范围性的温度控制功能而且便于调节、更换。
其次,采用加热片作为控制温度的一部分是因为它的体积较小,对所需求的空间小,便于在较为小型的设备中安装;同样采用小风扇作为控制温度的一部分是因为其所需要的功率较小,可以做到节约能源而且本系统设计的控制温度范围差大致在150℃左右,适合对温度要求在此区间的设备进行温度控制,由此看出要求的温度范围并不是很大,而小风扇转动导致的风力不会很大,在对设备进行降温时,温度变化较为缓和不会导致温度突然过低使得设备功能受到影响。
3.5 单片机、传感器、显示器管脚功能介绍
3.5.1 单片机管脚功能介绍
通过观测上面的两张单片机引脚图,可以从中了解到STC89C51单片机和AT89C51单片机的各个管脚基本相同,那针对于仿真软件中没有STC89C51单片机的情况,可以换做采用AT89C51单片机来代替进行之后的设计。接下来是对STC89C51单片机管脚的基本介绍(其功能与AT89C51基本相似):
表3-1 STC89C51单片机部分管脚表
Table 3-1 Pipe et of STC89C51 MCCM
名称 | 功能 | 名称 | 功能 |
ALE | 地址锁存允许信号 | PROG | EPROM编程期间输 入编程脉冲 |
EA | 内外ROM选择 | VCC | +5v直流电 |
XTAL1 | 晶振振荡电路反向 输入、输出 | XTAL2 | 晶振振荡电路反向 输入、输出 |
RST | 复位输入信号 | VSS | 接地端 |
PSEN | 外ROM读选通信号 | VPD | 备用电源 |
P0 | 在AT89C51系列单片机里,P1口代表的是I/O口。可以作为地址或者数据的复用口,它是双向口。开漏必须 接上拉电阻才可输出。如果它的引脚首次写入“1”,则就会成为高阻输入。 | ||
P1 | 它是一个含有八位的双向I/O口,可以提供内部上拉电阻。上拉电阻拉高管脚,写入“1”时,用作输入, p1口输出电流在被外部下拉为低电平时。P1口作为低八位地址接收,在FLASH编程以及校验时。 | ||
P2 | 含有八位I/O口, 提供内部上拉电阻。管脚写为“1”时,内部上拉电阻将其拉高以作为输入。管脚被外部 拉低以做输出。还可以被用作外部程序存储器,输出地址高八位。FLASH编程、校验接收高八位地址信号和 控制信号。 | ||
P3 | 8位双向I/O口,提供内部上拉电阻,当管脚输入为“1”时,内部被上拉为高电平。 |
P3还能够代表STC89C51单片机的特别功能,如下表:
表3-2 STC89C51单片机P3口的特殊功能表
Table 3-2 Special function table of STC89C51 MCU P3 port
P3.0 /RXD | 串口通信输入 | P3.1/TXD | 串口通信输出 |
P3.2 | 外部中断0 | P3.3 | 外部中断1 |
P3.4 | 计数器输入0 | P3.5 | 计数器输入1 |
P3.6/WR | 外部存储器写信号 | P3.7/RD | 外部存储器读信号 |
3.5.2 传感器管脚功能介绍
DS18B20温度传感器的基础封装包括3脚以及8脚等不同类型(见下图为DS18B20温度传感器的基础封装图),它的各个连接点功能具体如下:
表3-3 DS18B20温度传感器管脚介绍
Table 3-3 Introduction of the DS18B20 temperature sensor pins
名称 | 功能 |
DQ | 数字信号输入/输出端 |
GND | 电源地端 |
VDD | 外接供电电源输入端(在寄生电源接线时此脚应接地) |
Figure 3-3 Sensor pin diagram
3.5.3 LCD1602的管脚介绍
通过在网络上以及书本中进行搜寻并且查阅资料,我们可以了解到在液晶屏LCD1602它的里面一共含有十六个管脚(它的内部每个管脚的具体的分布管脚图可以见下图3-4),而且LCD1602液晶屏它的每个管脚的具体都含有各自所代表的性能见表3-4:
表3-4 LCD1602管脚介绍表
Table 3-4 LCD1602 Introduction to tube feet
编号 | 符号 | 引脚说明 | 标号 | 符号 | 引脚说明 |
1 | VSS | 电源接地 | 9 | D2 | 数据 |
2 | VDD | 电源正极 | 10 | D3 | 数据 |
3 | VL | 液晶显示偏压 | 11 | D4 | 数据 |
4 | RS | 数据/命令选择 | 12 | D5 | 数据 |
5 | R/W | 读/写选择 | 13 | D6 | 数据 |
6 | E | 使能信号 | 14 | D7 | 数据 |
7 | D0 | 数据 | 15 | BLA | 背光源正极 |
8 | D1 | 数据 | 16 | BLK | 背光源负极 |
本站文章通过互联网转载或者由本站编辑人员搜集整理发布,如有侵权,请联系本站删除。