基于单片机的温度控制系统设计
摘 要
当今社会不断发展,工业以及生活领域对温度控制系统的要求日益增加。以往的设计系统已经不能满足如今的社会需求,因此设计更加符合要求的温度控制系统是大势所趋。采用单片机进行温度控制系统的设计可以使温度的调节更简单、灵活,节约操作成本。本文将利用STC89C51单片机设计一个温控系统,利用温度传感器进行数据采集,LCD显示屏显示当下的温度。当设备的温度超过或低于预设的温度区间时,报警器发出警告且继电器开始控制相应的器件进行温度控制操作,从而将温度控制在预设的区间内。最终通过仿真对设计进行调试以及改善。本系统可作为热水器温度控制系统、温室温度控制系统等。系统灵活性大,便于调节。
关键词:单片机;继电器;温度传感器;数码管
设计框图及介绍
通过对单片机温度控制系统的相关资料的查找、阅读吸取其中适合于本次系统设计的部分并且利用仿真软件Proteus以及keil对系统的设计进行具体操作,我对本次的温度控制系统设计基本分为了六部分。
这六部分分别是:DS18B20温度传感器传输设备温度的部分、STC89C51单片机主控部分(由于仿真软件Proteus8.6中没有所需的STC系列芯片,而且经过查阅资料可以了解到AT89C51单片机与STC89C51单片机的引脚功能基本相同,所设计的温度控制系统采用的STC89C51单片机引脚在AT89C51中都有,所以仿真图的连接以及后续的代码设计采用AT89C51单片机进行代替)、继电器控制温度升降温部分(在Proteus软件中没有相应的加热片进行升温处理,所以在仿真中采用的是光电耦合器以及LED灯来代替基本的工作原理,如果LED灯发出光亮则证明本系统设计正常运行或采用步进电机模拟小风扇,OVEN加热炉模拟加热片来进行设计)、控制按钮部分、LCD1602液晶屏显示部分
(在连接的仿真图中LCD1602显示器用LCD1表示)以及蜂鸣器报警部分,设计的各个部分都是直接连接在STC89C51单片机上从而进行具体的设计功能操作。
图1系统设计框图
单片机控制部分
单片机控制部分主要是将从DS18B20温度传感器中接收到的数字温度信号进行一定的操作处理并将数据传输到LCD1602液晶显示器电路、报警器电路以及继电器控制电路中去(在仿真原理图中继电器控制小风扇和加热片部分的一个实现采用的是光电耦合器控制LED灯的亮暗来代替,主要是因为在Proteus中没有合适的加热片以及小风扇进行操作,所以用LED的亮暗来代表这个部分是否在正常的运行)。
单片机最小系统部分含有两个模块:晶振电路以及复位电路。他们的作用如下:
晶振电路的功能意义:它在单片机里面的主要作用是调节工作的节奏。相应的速率较大,那么它的系统节奏就快;速率较小则相反。单片机晶振的作用就是为系统发送基础时钟信号,在一个设计系统中一般只有一个晶振可以被共用,主要是为了方便各部分保持同步。
复位电路的功能意义:系统里面的复位电路其功能就是可以自动使复位电路返回最初的工作形态,主要作用是保护微机控制系统过程中电路能够稳定可靠且安全的工作。电路的基本原理类似于计算机的工作过程,仅在开始的方法以及理念上有所不相同,复位电路可以让电路回到最初的形态就好像是计算器上的归零键,让电路回到最初的样子,重新开始工作。
由STC89C51单片机以及晶振电路、复位电路组成了单片机的最小系统,连接图如下所示:
图1单片机控制部分仿真连接图
软件设计
软件的设计流程图
软件仿真程序流程以及传感器工作的原理见下方两个图:
图1软件设计整体流程图
图2传感器部分设计流程图
结 论
通过测试,本次设计的系统可以基于51系列单片机、DS18B20温度传感器、LCD1602液晶显示器、报警器、继电器等核心器件实现相应的温度控制。满足设计预期设定的要求。以STC89C51(AT89C51)单片机作为主控部分为系统的设计提供了很大的便利条件,同时也具有操作快捷、简单易懂、价格低廉等优点。可以提高工业生产的工作效率,节约人工成本。本次的系统设计主要设计的是基于单片机的温度控制系统,在设计中软件、硬件方面都遇到了不同的困难,同样针对于困难进行了研究解决,具体如:
(1)系统的仿真原理图和PCB的封装图在进行连接、封装的时候,对各类器件的选择以及与单片机不同引脚的连接把控不清,首先是因为对Proteus仿真软件以及AD封装软件中各器件的名称不了解,还需要对每一个器件名称进行搜索,其次是因为对各器件的引脚具体功能不甚清楚,需要一个个进行查阅观测此类型的其他的系统设计中是怎样具体连接来实现相应的功能。
(2)连接完成仿真电路图之后,系统的蜂鸣器不发声,开始以为是程序代码出现了问题,所以调整了报警器部分的代码,之后确定报警器部分代码无误但是蜂鸣器依旧不发声;经过网上查寻资料得到,在实物单片机工作以及Proteus仿真软件中,51系列单片机的工作电压在5V。所以蜂鸣器的电压最好小于5V当把其电压调整之后,蜂鸣器得到了改善。
(3)软件仿真代码部分设计时,刚开始部分引脚连接混乱,整体对系统程序编程内容不熟悉,对实现相应的器件功能不了解用什么代码,不知道怎样进行调节设计。后续同样一点点在书籍以及网上进行各项资料的查阅,最终完成了设计的程序代码编辑并得到了相应的结果。
(4)通过本次设计可以总结出:选择器件的时候要对数值有所把控。比如:DS18B20温度传感器适应的电压范围在:3.0V~5.5V之间;STC89C51单片机一般供电电压在5V左右,因此,在进行实物焊接之前要先选择合适范围的器件,防止损坏单片机内部或其他器件的功能。
我本次的毕设包含了仿真电路图连接和代码程序编辑以及电路板焊接这三个部分,经过这段时间的动手操作,我在温度系统类型的设计、完善方面有了很多新的认识。经过了仿真电路图连接部分的操作,我对于仿真软件的认识也更加深刻,掌握了用Proteus进行电路图连接的方法。通过对实物成品的焊接,对开发板以及芯片有了更深的了解,懂得他们的引脚接口以及如何对实物进行飞线操作。在软件设计方面,对C语言有了更多的学习,对一些语句进行了了解,在温度控制方面需要的一些基本程序更加的熟悉并且经过这段时间的实际操作使得我对于自身的不足情况有了一定的认识。通过对设计进行具体的操作,也同时将我自身的实际操作能力进行了提升,可以通过自己的研究设计简单的系统。
通过对本次基于单片机的温度控制系统设计,可以从中得出单片机的重要性,在如今社会,单片机控制可以运用在很多方面。相比其他的主控器件,单片机自身性价比较高且能够实现基础的控制操作。可以实现社会中对温度控制系统的一个长远要求。但本次设计也有未攻破的领域,比如:在本设计之上是否还可以添加更多的功能,适应更多的领域;是否可以采用适应温度更高的器件进行设计以此来满足高温设备的一个温度控制。针对于以上未探索的领域,在之后的系统设计中,可以针对于此方面进行更深一步的了解、研究。