基于单片机的温度测量和控制系统设计
2018-11-14咸阳师范学院樊战亭
咸阳师范学院 樊战亭
本文以STC89C51单片机为核心设计出了温度测量与控制系统,给出了温度测控系统总体设计方案。比较详细地设计出了温度测控系统的硬件电路,包括由DS18B20温度传感器构成温度测量电路、温度设定、LED温度显示、温度控制及高低温度报警等主要电路,并给出了控制系统软件流程。制作出了温度测控系统实物,验证了本文所设计的温度测控可行性。
引言:温度测量及控制在工农业生产和科研实验过程中有着重要的应用和要求,精准的温度测量、显示和控制特别重要(江杰,李计川.基于DS18B20的高温度测量系统在高炉上的应用[J].传感器与微系统,2012,31(11):144-146)。单片机因价格便宜、功能强和通用性良好等优点在电子产品设计方便得到了广泛应用(孙培军.基于单片机的温湿度测控系统设计[J].电子技术与软件工程,2016(24):256-257)。DS18B20是美国DALLS公司生产的单一总线数字式温度传感器,能够直接把测量的温度值存储在自身的RAM中,方便单片机进行读取,克服了模拟式温度传感器与单片机接口需要的A/D转换器件及时序电路。同时由于DS18B20结构简单、低功耗、抗干扰强、测量范围广等优点,温度测量系统能够更加精确(戴蓉,游凤荷等.由单片机荷多片DS1820组成的多点温度测控系统,2001(1):60-62)。本文应用STC89C51单片机及DS18B20单一总线数字温度传感器设计出温度测量、控制及实时显示系统,可以把系统温度控制在设定温度区间并实时显示测量温度。整个系统硬件结构简单,主要功能通过软件编程实现,可靠性高,应用范围比较广泛。
1 温度测量与控制系统总体设计
温度测量与控制系统基本功能要能够完成温度的实时测量与显示、最高和最低温度区间的设定;在温度高于设定高温要进行散热降温操作,或者在温度低于设定低温要进行加热升温控制,并且能够在以上两种情况时进行报警。根据功能设定要求,温度测量与控制系统总体设计如图1所示。
系统采用了STC单片机STC89C51作为主控芯片,输入控制部分主要包含温度测量和温度设定两部分,温度测量用来进行温度测量并且把结果输入单片机;温度设定部分主要对单片机进行高温及低温温度的设定。输出控制部分主要包括温度显示、温度控制和温度报警三部分,温度显示通过单片机把测量出的温度通过LED进行显示;温度控制部分主要在测量温度大于设定最高温时进行降温控制或者小于设定最低温进行加热控制,最终能够使测量温度达到设定区间;温度报警部分主要在温度超出设定区间时进行报警。
图1 温度测量与控制系统总体设计框图
2 控制系统硬件设计
温度测量与控制系统的核心为STC公司单片机STC89C51,它有着快速高效、较低的功率消耗以及强的抗干扰能力的特征,是8051系列单片机芯片的兼容型,它的程序和一般的8051系列单片机可以相融合,而且效率更高。控制系统硬件设计图如图2所示。
图2 温度测量与控制系统硬件设计图
2.1 温度测量部分
温度测量部分主要由美国DALLAS公司单总线数字式温度传感器DS18B20构成,仅有三条管脚,能够实现全数字温度转换及输出,完成单一总线数据通信功能。具有体积小、硬件开销低,抗干扰能力强、精度较高等优点,支持3V~5.5V的电压范围,能够使温度测量系统设计灵活、方便(DALLS公司.DALLS公司半导体手册[M].2002)。
DS18B20数字温度传感器中VDD、GND两个引脚分别接+5V及地,DQ单一数据总线接5k欧上拉电阻并与单片机P3.7口连接。DS18B20能够把测量到的温度值直接存储到自身RAM中的第一和第二个字节中。单片机根据DS18B20单一总线的工作时序进行编程处理就能够读取到测量的温度值。
2.2 温度设定部分
P3.1、P3.2和P3.3输入口对应的控制按钮按下时,相应输入端口为零,分别进行温度设定、减1和加1操作。P3.1接口按钮按下可以分别进行最低、最高温及其十位、个位及小数位设置的选择,连续按下可退出温度设定;P3.2接口按下能够对设定目标温度的十位、个位及小数位进行减1操作;P3.3接口按下能够对设定目标温度的十位、个位及小数位进行加1操作。通过三个按键的配合,就能够完成对最低、最高温度的设定操作。
2.3 报警电路部分
报警电路主要由PNP三极管、限流电阻和蜂鸣器组成,PNP三极管发射极接+5V电源正极,基极通过限流电阻与单片机P3.6端口相接,集电极接地。
当测量温度在最低、最高温度区间时,单片机控制P3.6输出高电平+5V,三极管发射极与基极不能导通,发射极、集电极回路不能导通,蜂鸣器不会报警。反之,如果当测量测量温度小于最低设定温度或者大于最高设定温度时,单片机控制P3.6输出低电压,三极管发射极与基极导通,控制发射极、集电极放大回路导通,蜂鸣器导通进行报警。
2.4 温度控制电路部分
温度控制电路有加热和降温两部分电路组成。两部分电路主要由PNP三极管、两个限流电阻、加热(降温)指示发光二极管、继电器、加热(降温)装置组成。
加热控制电路中PNP发射极通过发光二极管、限流电阻支路与加热继电器线圈支路并联接+5V电源正极,基极通过限流电阻与单片机P1.2端口相接,集电极接+5V电源的负极;交流电源、发热电阻和加热继电器常开触点相连。降温控制电路与加热控制电路基本相同,差别在于基极通过限流电阻与单片机P1.3端口相接,交流电源、风扇和降温继电器常开触点相连接。
当测量测量温度小于最低设定温度时,单片机控制P1.2端口输出低电压,三极管发射极与基极导通,发射极、集电极放大回路导通,二极管发光指示正在加热;加热继电器线圈通电,其常开触点闭合,控制交流电源回路导通,发热电阻通电进行加热工作。当温度大于等于最低设定温度时,单片机控制P1.2端口输出高电压,三极管发射极与基极断开,发射极、集电极放大回路断开,加热二极管停止发光;加热继电器线圈回路断电,其常开触点断开,交流电源回路断开停止加热工作。同样原理,当测量测量温度大于最高设定温度时,单片机控制P1.3端口输出低电压,控制降温回路风扇运转进行降温工作;温度小于设定最高温度时,P1.3断开输出高电压,控制降温回路风扇停止工作。
2.5 显示部分
显示部分主要由4位八段码构成的LED构成,由单片机STC89C51的P0口中P0.0~P0.6分别与段码A~G相连,P0.7与段码DP相连,同时接上拉电阻;P2.7、P2.5、P2.3和P2.1分别和位码S1~S4相连。LED数码管使用共阴极接法,采用动态扫描方法。第1、2和3位分别显示温度的十位、个位和小数位,第4位显示c(表示摄氏度)。
3 控制系统软件设计
本控制系统软件设计主要包括数字温度传感器初始化、温度读取显示、温度设定和温度控制等部分,主程序软件流程图如图3所示。
软件系统首先进行系统及温度传感器的初始化,单片机开始通过温度传感器读取测量温度值并在数码管中显示温度值,当设定键按下时,配合加、减键完成最高、最低温度的设定;当检测温度大于温度上限或小于下限时,蜂鸣器工作进行报警,降温或加热指示灯亮同时启动降温或加热装置进行度温度控制,一直到检测温度到达设定范围为止,整个温度控制装置才停止工作。
图3 软件流程框图
4 温度测控系统测试及结论
温度测控系统实物如图4所示。进行系统测试时,首先给系统上电,然后通过控制系统电路板右上角的三个按键设定最高、最低温度,单片机能够读取DS18B20数字温度传感器检测到的温度值并通过LED进行显示。电路板右下角为加热、降温继电器,当测量温度大于最高设定温度或小于最低设定温度时,控制风扇(右上角黑色物体)或加热电阻工作控制温度达到设定值。
图4 温度测控系统实物图
文中以STC89C51单片机为核心、DB18B20为温度传感器设计了温度测控系统,还包括温度设定、温度报警和LED显示电路等,并给出了温度测控系统软件流程。通过制作控制系统实物验证设计的正确性,整个系统结构简单、成本低、操作方便、应用范围广。