适用于狭小空间的PWM温控风冷系统设计

2019-04-28 10:18杨春丽
自动化仪表 2019年4期
关键词:数码管环境温度测温

杨春丽

(大理大学工程学院,云南 大理 671003)

0 引言

随着当今人们生活品质的提高以及工业、农业生产等的需求,需要对环境温度进行检测和控制的场合也越来越多。当环境温度超过预期时,需要加入各种冷却系统,以达到降温的目的。常用的冷却系统有水冷却系统、油冷却系统、空气冷却系统等。

这些冷却系统各具优缺点。以水冷却系统为例,其原理为:以冷却液为冷却介质,热量先由机件传给水,靠水的流动把热量带走散入大气,散热后的水再重新流回到受热机件处。其优点为散热效果好,不易受到灰尘的干扰,水路和冷却强度可适当调节,能较好地保持发动机的正常工作温度;缺点为水冷需要安装冷却水塔、水泵,成本太高,不适合一般用户使用。风冷系统则是以空气为冷却介质,通过风扇强制对流,利用风扇将高温零件的热量直接散入大气。其优点是零件少,没有漏水、冰冻、结垢等故障,质量轻,制造成本低,功率利用率高,使用维护方便,环境适应性好,启动后暖机时间短等。

在实际使用中,大型机器使用水冷却系统会更加稳定,而风冷系统则更适用于中小型机组、狭小空间的冷却要求。

1 设计思路

针对狭小空间散热问题及传统风冷系统无法根据当前环境温度实现风扇转速调节及自动启停的问题,设计了一种脉冲宽度调制(pulse width modulation,PWM)温控风冷系统。系统以AT89C52单片机作为主控芯片,利用DS18B20采集外界实时环境温度并借助数码管加以显示。当环境温度在20~35 ℃时,利用单片机定时器控制I/O口输出占空比为75%的脉冲信号调节风扇电机转速,此时数码管显示为1档;当环境温度高于35 ℃时,电机全速转动(此时I/O口输出占空比为100%的脉冲信号),并发出声光报警,此时数码管显示为2档;当环境温度低于20℃时,电机自动停止,此时数码管显示为0档。系统还具有利用LED灯和蜂鸣器发出声光报警以及重置控制温度等多重功能。当环境温度超过系统规定的上下限阈值时,系统会自动发出声光双重报警[1]。系统已通过Keil Uvision软件测试及硬件电路测试。

系统原理如图1所示。

图1 系统原理框图

2 系统硬件电路设计

温控风冷系统硬件电路设计涉及系统主控芯片、温度传感器、电机驱动芯片、显示器件、预警电路、按键等硬件电路的选型和电路连接[2]。

2.1 系统主控芯片AT89C52

本系统选用了40引脚双列直插式AT89C52单片机作为主控芯片。AT89C52是一款工作电压范围为3.3~5.5 V的高性能的8位单片机。AT89C52有6路中断源和32位并行通用的I/O端口、3个16位的定时器/计数器,片内含有8 KB的、可反复擦写的Flash ROM和256 B的RAM[3-4]。可采用C语言或汇编语言对AT89C52单片机编程。本系统采用的编程语言为C语言。

2.2 温度传感器DS18B20

DS18B20是一款可直接输出数字信号、集温度采集和A/D转换于一体的数字式温度传感器。其工作电压范围为3~5 V,与AT89C52单片机工作电压基本一致。DS18B20使用简便,只需一条总线即可实现与单片机的双向通信[5]。DS18B20测温范围为-55~+125 ℃,能够满足本系统的设计要求。当在-10~+85 ℃范围内时,可确保测量误差不超过0.5 ℃[6]。

本系统中,DS18B20与单片机I/O口的接线如图2所示。

图2 DS18B20接线图

2.3 电机驱动芯片L9110

L9110是一款为控制和驱动电机设计的两通道推挽式功率放大专用H桥驱动集成芯片。该芯片有2个TTL/CMOS兼容电平的输入,其工作电压范围为2.5~12 V,可直接与单片机I/O端口连接。 L9110具有良好的抗干扰性,2个输出端能直接驱动电机的正反向转动。它具有较大的电流驱动能力,每通道能通过750~800 mA 的持续电流,峰值电流可达1.5~2.0 A。同时,它具有较低的输出饱和压降,内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全、可靠。L9110 被广泛应用于直流电机、步进电机驱动和开关功率管等电路上。

本系统中,L9110与单片机I/O口的接线如图3所示。

图3 L9110接线图

2.4 温度显示及按键电路

常用的显示器件有数码管、LCD1602液晶显示屏等。本系统为了节约成本及便于编程,采用数码管作为温度显示器件。数码管是一种由8个LED发光二极管按照一定的方式连接而成的字符显示器件。按照连接方式发光二极管又分为共阴极数码管和共阳极数码管。若将所有发光二极管的阴极接到一起,则形成共阴极数码管[7]。若要点亮共阴极数码管上某一发光二极管点亮,则应将数码管共阴极接到低电平,将要点亮的发光二级管接高电平[7]。共阳极数码管点亮方式与之相反。本系统采用共阴极数码管作为显示器件。

此外,系统用到3个按键实现调速温度及报警温度的设置,以便实现人机交互。通过按键调整调速温度及报警温度值,使系统应用更加灵活。此模块由两部分组成,一部分是连接单片机P3.1~P3.3引脚的温度调整按键(SET、DEC、ADD),另一部分是连接单片机P1.2引脚的报警指示灯及P3.6引脚的蜂鸣器。

如果需要改变控制温度上限阈值,则按下SET按键一次后,再按ADD(+)、DEC(-)按键调整上限温度。此时,数码管显示模块同步显示温度值设置。若要调整控制温度下限阈值,则按下SET按键二次后,再按ADD(+)、DEC(-)按键调整下限温度。此时,数码管显示模块同步显示温度值设置。当按下SET按键三次或没有按下SET按键时,控制温度处于锁定状态。

3 系统软件设计

系统采用模块化编程的方式,分别设计了DS18B20测温程序、PWM脉宽调速程序、按键扫描程序、数码管显示程序、声光报警程序及主程序,并对各部分子程序进行组装。

3.1 DS18B20测温程序

DS18B20测温程序主要包括初始化子程序、总线读取子程序和总线写入程序3个操作,且都必须严格遵循时序要求[8]。DS18B20初始化程序相当于在单片机和传感器之间建立了通信桥梁,为后面的操作作准备[8]。初始化完毕,传感器处于既可读取又可写入的状态。单片机向DS18B20写数据,是指令和数据发送的基本操作,采用位右移操作实现低位在前高位在后的逐位写入,主要包括写“0”和写“1”这2种时序[8]。单片机从DS18B20读取数据,包括温度的采集和其他状态信息的回传,也是以位为单位,包括读“0”和读“1”2种时序。每次温度转换一般都经过复位操作、发送ROM指令、发送RAM指令这3个步骤,然后读取温度[8-10]。

DS18B20测温流程如图4所示。

图4 DS18B20测温流程图

3.2 PWM脉宽调速程序

PWM是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,被广泛应用于测量、通信、功率控制与变换等许多领域。直流电机PWM脉宽调速就是在直流电源电压基本不变的情况下,通过改变电子开关的通断时间,来改变施加到电机电枢端的直流电压脉冲宽度,以调节输入电机电枢电压平均值的调速方式[9]。

脉冲宽度越大,提供给电机的平均电压越高,电机转速越快;反之,脉冲宽度越小,提供给电机的平均电压越低,电机转速越慢。本应用系统中,利用了定时器T0的中断函数,实现了PWM调速。

3.3 系统主程序

在整个设计中,主程序一方面负责读出DS18B20所测量的温度值,并借助数码管加以显示;另一方面根据当前实时温度,确定PWM调速方案。程序开始执行时,温度传感器所测量到的温度值通过P3.5引脚输入单片机,经过处理后的温度数据再通过单片机输出到数码管显示。同时,还可通过按键来调整温控档位。当超过上限温度时,风扇电机全速转动,同时通过单片机P1.2、P3.6引脚发出声光报警。

系统程序的总体框架如下。

#include

#include

#include "eeprom52.h"

……

//各部分子函数定义

void main()

//主函数

{

init_eeprom();

//开机自检eeprom保存的上、下限温度值

ReadTemperature();

//读取温度并显示

InitT0();

//定时器T0初始化

while(1)

{

if(js>=50)

//每隔1 s读取一次温度

{

ReadTemperature();

//读取温度并显示

js=0;

// js变量清零,为下1 s读取温度计时

}

zi_dong();

//判断当前温度需要启动哪一个PWM温控模式}

}

void T0_TIME() interrupt 1{…}

//定时器中断函数,用于PWM调速

主程序流程如图5所示。

图5 主程序流程图

4 试验测试

系统经过软、硬件测试和实际验证,温度真实值与测量值对比如表1所示。

表1 温度真实值与测量值对比

经测试,系统误差小于0.5 ℃。测试结果表明:系统的精确度较高、实用性较强。

5 结束语

本文介绍了一种适用于狭小空间散热的PWM温控风冷系统的设计方法。系统以AT89C52单片机作为主控芯片,利用数字温度传感器DS18B20检测当前环境温度并借助数码管加以显示。单片机根据当前实时环境温度控制I/O口产生脉宽可调的电信号,控制与之连接的风扇电机的转速,从而实现PWM脉宽调速。本文已对系统方案设计、器件选型、硬件连接和软件设计等几部分内容作了详细说明。经测试,系统具有测温精度高、散热效果好、生产成本低、节能环保等优点,可应用于空调、冰箱等电器的散热系统,具有较好的应用前景。

猜你喜欢
数码管环境温度测温
环境温度对汽车行驶阻力的影响
Review of a new bone tumor therapy strategy based on bifunctional biomaterials
基于51单片机的分数计数器设计
微课教学设计之“数码管动态显示”
疫情期间红外测温枪检测的基础理论和实验研究
Arduino编程
MC9S08FL16单片机数码管静态显示分析
变压器光纤测温探头的安装固定
雷克萨斯CT200h车环境温度显示异常
基于DS18B20的单片机测温系统