APP下载

基于单片机与DS18B20的机柜温度控制器设计

2014-06-30汪铭东梅广辉

现代电子技术 2014年12期
关键词:自动控制

汪铭东 梅广辉

摘 要: 介绍了基于单片机C8051F310和DS18B20设计的机柜温度控制系统。该系统电路结构简单,以单片机为控制核心,利用温度传感器DS18B20芯片采集机柜内温度数据并送至控制器,并根据设定的温度范围自动控制空调出冷气,外围配备功能按键和数码显示,可根据实际环境自行设置温度范围。实际应用证明,该系统具有结构简单、温度转换精度高、稳定性好等特点,能实现一般要求的机柜温度实时自动控制。

关键词: 温度控制器; 机柜温度控制; DS18B20; 自动控制

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)12?0008?03

Abstract: Design of machine cabinet temperature control system based on C8051F310 and DS18B20 is introduced, The circuit structure of system controlled by MCU is simple, The internal temperature data of machine cabinet is collected by DS18B20 and sent to MCU, The air conditioner is controlled automatically according to the set temperature range, The periphery systems such as function keys and digital display are equipped, The temperature range can be set automatically according to the actual environment, The practical application shows that the system has simple structure, high?precision temperature conversion and high stability, and can achieve the real?time automatic control of the machine cabinet temperature,

Keywords: temperature controller; machine cabinet temperature control; DS18B20; automatic control

0 引 言

随着电子设备的高度集成化和高可靠性设计,机柜内部的散热越来越重要。特别是诸如大型雷达、声纳等电子设备,由于功耗越来越大,必须及时将内部产生的大量热量及时带出机柜,否则机柜内部的电子器件会由于处于超温状态而无法正常工作[1]。

在新设计的电子装备中,已经充分考虑到机柜的散热问题,一般采用集中供冷、冷气直吹机柜的方法,解决机柜的散热问题。但是,一些老式设备由于设计时间较早,大多采用抽风风扇的方式,散热效果较差,机柜内部问题分布极不均匀,散热效果不好[2]。特别是在我国热带工作的一些机器,由于散热问题造成机器故障的现象非常普遍。在对一些老机器的改造中,重新设计散热方式,采用制冷机组向机柜内部循环吹冷气的方法,可以明显改善这些老式机柜的散热效果,大大改善机柜内环境,较大程度提高整体可靠性。

在某型老式装备的改造工程中,采用单片机和集成温度传感器,设计了一个温度自动控制系统,在温度超过某个设定值后,开启制冷机组,开始向机柜内部均匀、循环地送出冷气;在低于某个设定温度时,继续吹风,但停止机组制冷。实践表明,该系统可以稳定、可靠地工作,将机柜内部温度控制在一个相对稳定的范围内,机器可靠性得到了切实的提高。

1 系统整体设计概述

为了实现对机柜温度实时有效控制,首先要对机柜内环境温度进行采集和传输,其次是实现对温度的实时控制。系统框图如图1所示。本电路实现的主要功能有:

(1) 实时采集机柜内部温度。

(2) 对采集的温度进行显示。

(3) 用户根据需求,设置温度的上限值和下限值。

(4) 具有温度报警功能。

2 系统硬件设计

本文设计的机柜温度控制器硬件电路主要分为以下几部分:电源模块,温度采集模块,主控制器模块,温度显示、设置模块,控制执行驱动模块。

2.1 温度采集模块

在众多进行温度监测的温敏元件中, 虽然温敏电阻成本低, 但后续电路复杂, 且需要进行温度标定[3], 因此,本系统采用温度采集芯片DS18B20进行温度采集。DS18B20是由美国DALLAS半导体公司生产的数字化单总线型智能温度传感器[4],具有体积小、线路结构简单、抗干扰能力强、精度高等优点,实用性和可靠性比其他同类产品更高[5]。DS18B20采用单总线协议,即与单片机接口仅需占用一个I/O端口,无需任何外接元件,可直接将温度转化成串行数字信号供处理器处理,达到温度采集的目的[6]。

DS18B20的供电方式分为寄生电源供电和外部电源供电两种,采用寄生电源供电时,由DQ端给器件供电,好处是在进行远程测温时,无需本地电源,但是无法在数据转换期间供电,不能保证精确地进行温度转换,当进行多点测温时,此问题更加明显[7]。因本设计中,测温距离不远,可采用外接电源供电方式,由VDD引脚专门供电,以提高温度转换精度。温度采集模块电路如图2所示,DQ数据传输端须采用上拉电阻。

2.2 微控制器模块

控制器是整个系统的核心部件,模块以单片机C8051F310为控制核心完成电路各种功能,包括温度数据的处理、温度值的设定、对执行继电器的控制等。

C8051F310是silicon laboratories 公司一款完全集成的混合信号片上系统型MCU芯片[8]。它具有高速、流水线结构且与8051兼容的CIP?51内核,工作频率可达 25 MIP?S,片内有全速、非侵入式系统调试接口。器件的工作电压为2.7~3.6 V,典型工作电流为5 ms,功耗比较低。此单片机带有模拟多路器、真正的10位、200 KSPS的25通道单端/差分ADC。另外,单片机还具有16 Kb可在系统编程的FLASH存储器,可用于非易失性数据存储。

C8051F310的数字外设包括29个端口I/O,所有口线的耐压均为5 V,并具有4个通用16位计数器/定时器,时钟源既可使用25 MHz高精度可编程内部振荡器,也可用外部振荡器,本电路中使用内部振荡器作为时钟源。

2.3 控制执行驱动模块

模块实现最终控制输出功能,根据接收到微控制处理温度值的结果去执行相应的动作,决定冷气是否工作。电路图如图3所示,继电器K1为核心部件,根据R13端送来的经8050放大的信号指令进行开关动作,使JP5的2、3脚交替链接到1脚电源输入端,达到控制冷气是否工作。DS2为K1动作指示灯,D3起到保护Q5的作用。开关S3在不需要空调时使用,系统只作环境温度显示。

2.4 温度设置显示模块

因DS18B20的测温范围为-55~125 ℃,测量误差为0.5 ℃,故显示电路采用4位共阴LED数码管以静态显示方式实现温度显示,如图4所示,从单片机的P0口输出段码,选用4.7 kΩ电阻和3.3 V电压进行上拉,P1.2~P1.5口输出位控制信号,经由8050放大驱动数码管显示。温度值范围设置采用4个外置按键实现相应功能,由单片机完成对温度范围的设置。如图5所示,单片机利用中断功能对S4,S5,S6及S7 四个键进行键扫描,调整温度的上限值及下限值,若测试温度不在上限值和下限值的范围内,则执行控制程序动作机柜温度。

3 系统软件设计

系统软件采用C语言编写,遵循模块独立性原则,增强软件可读性和可移植性,便于调试和维护升级。根据系统的功能需求,程序主要包括初始化程序、DS18B20温度转换及处理程序、温度控制处理程序、温度值显示程序、键盘处理程序等几个程序模块,其中,DS18B20温度采集、转换和温度控制为核心部分,重点介绍设计思想。

初始化程序完成系统时钟设置、端口配置和参数设置等,因C8051F系列单片机设有交叉开关功能,在I/O口配置过程中要根据自己需要的端口进行相应的设置,才可保证I/O口的正常使用。

温度采集程序包括对DS18B20的参数初始化、温度采集和温度转换等程序模块。因DS18B20采用单总线协议方式,即在1根I/O线上进行数据读写[9],因此,对读写的数据位有着严格的时序要求,程序的编写必须遵照严格的通信协议来保证各位数据传输的正确性和完整性,确保DS18B20能正常的工作。从DS18B20读出的二进制数据采用12转换精度换算成十进制数据,用4位数码管显示,可以精确到0.1 ℃。

温度控制处理程序实现的功能主要是:将采集到的实际环境温度值与根据设置好的温度范围比较,在P2.0口输出高低电平,控制继电器是否动作。

温度值显示程序键盘处理程序主要实现数码管的显示和键盘输入功能。

4 结 论

本文设计的机柜温度控制器结构简单、温度转换精度高,大大提高了老式机柜的散热效率,机器可靠性明显提高。温度测量采用DS18B20一体式数字温度传感器,具有线路简单,体积小的特点。另外,还可用它来组成一个多点测温系统,在一根通信线上可以挂多个DS18B20,增加温度测量点,首先分布式测温,重点关注某些器件,如调制管、磁控管等[10]。本控制器经简单的线路改造,即可应用于其他测温系统和控制系统,具有广阔的应用前景和实用价值。

参考文献

[1] 林火生,阳明霞.微型机柜温度自动控制系统开发[J].柳州职业技术学院学报,2012,12(2):57?59.

[2] 党燕.模糊控制在汽车自动空调设计中的实现[J].兰州石化职业技术学院学报,2007(1):34?36.

[3] 陈彩蓉,胡飞.基于DS18B20的温室温度控制系统设计[J].安徽农业科学,2011(36):17870?17871.

[4] 王玲芝,李育贤.基于DS18B20的数字式温度计设计[J].工业仪表与自动化装置,2011(5):74?76.

[5] 王福泉,万频,冯孔淼,等.DS18B20在空调检测系统温度采集模块中的应用[J].电子技术应用,2011,37(8):46?48.

[6] 陈忠平,高金定.基于ATmega16与DS18B20的智能温控系统的设计[J].现代电子技术,2011,34(4):175?177.

[7] 张攀峰.基于SN8P2604单片机和DS18B20的多路温度测控系统[J].陕西科技大学学报,2010,28(3):96?98.

[8] 赵跃齐,马瑞卿,梁贵毅,等.基于单片机C8051F的智能温控系统的设计与实现[J].安徽农业科学,2009,17(3):490?491.

[9] 王伟,李树荣.基于8051单片机温度采集及无线发送[J].现代电子技术,2011,34(1):146?149.

[10] 张军,陈慧丽.基于MSP430单片机和DS18B20的数字温度计[J].电子设计工程,2010,18(11):106?109.

C8051F310是silicon laboratories 公司一款完全集成的混合信号片上系统型MCU芯片[8]。它具有高速、流水线结构且与8051兼容的CIP?51内核,工作频率可达 25 MIP?S,片内有全速、非侵入式系统调试接口。器件的工作电压为2.7~3.6 V,典型工作电流为5 ms,功耗比较低。此单片机带有模拟多路器、真正的10位、200 KSPS的25通道单端/差分ADC。另外,单片机还具有16 Kb可在系统编程的FLASH存储器,可用于非易失性数据存储。

C8051F310的数字外设包括29个端口I/O,所有口线的耐压均为5 V,并具有4个通用16位计数器/定时器,时钟源既可使用25 MHz高精度可编程内部振荡器,也可用外部振荡器,本电路中使用内部振荡器作为时钟源。

2.3 控制执行驱动模块

模块实现最终控制输出功能,根据接收到微控制处理温度值的结果去执行相应的动作,决定冷气是否工作。电路图如图3所示,继电器K1为核心部件,根据R13端送来的经8050放大的信号指令进行开关动作,使JP5的2、3脚交替链接到1脚电源输入端,达到控制冷气是否工作。DS2为K1动作指示灯,D3起到保护Q5的作用。开关S3在不需要空调时使用,系统只作环境温度显示。

2.4 温度设置显示模块

因DS18B20的测温范围为-55~125 ℃,测量误差为0.5 ℃,故显示电路采用4位共阴LED数码管以静态显示方式实现温度显示,如图4所示,从单片机的P0口输出段码,选用4.7 kΩ电阻和3.3 V电压进行上拉,P1.2~P1.5口输出位控制信号,经由8050放大驱动数码管显示。温度值范围设置采用4个外置按键实现相应功能,由单片机完成对温度范围的设置。如图5所示,单片机利用中断功能对S4,S5,S6及S7 四个键进行键扫描,调整温度的上限值及下限值,若测试温度不在上限值和下限值的范围内,则执行控制程序动作机柜温度。

3 系统软件设计

系统软件采用C语言编写,遵循模块独立性原则,增强软件可读性和可移植性,便于调试和维护升级。根据系统的功能需求,程序主要包括初始化程序、DS18B20温度转换及处理程序、温度控制处理程序、温度值显示程序、键盘处理程序等几个程序模块,其中,DS18B20温度采集、转换和温度控制为核心部分,重点介绍设计思想。

初始化程序完成系统时钟设置、端口配置和参数设置等,因C8051F系列单片机设有交叉开关功能,在I/O口配置过程中要根据自己需要的端口进行相应的设置,才可保证I/O口的正常使用。

温度采集程序包括对DS18B20的参数初始化、温度采集和温度转换等程序模块。因DS18B20采用单总线协议方式,即在1根I/O线上进行数据读写[9],因此,对读写的数据位有着严格的时序要求,程序的编写必须遵照严格的通信协议来保证各位数据传输的正确性和完整性,确保DS18B20能正常的工作。从DS18B20读出的二进制数据采用12转换精度换算成十进制数据,用4位数码管显示,可以精确到0.1 ℃。

温度控制处理程序实现的功能主要是:将采集到的实际环境温度值与根据设置好的温度范围比较,在P2.0口输出高低电平,控制继电器是否动作。

温度值显示程序键盘处理程序主要实现数码管的显示和键盘输入功能。

4 结 论

本文设计的机柜温度控制器结构简单、温度转换精度高,大大提高了老式机柜的散热效率,机器可靠性明显提高。温度测量采用DS18B20一体式数字温度传感器,具有线路简单,体积小的特点。另外,还可用它来组成一个多点测温系统,在一根通信线上可以挂多个DS18B20,增加温度测量点,首先分布式测温,重点关注某些器件,如调制管、磁控管等[10]。本控制器经简单的线路改造,即可应用于其他测温系统和控制系统,具有广阔的应用前景和实用价值。

参考文献

[1] 林火生,阳明霞.微型机柜温度自动控制系统开发[J].柳州职业技术学院学报,2012,12(2):57?59.

[2] 党燕.模糊控制在汽车自动空调设计中的实现[J].兰州石化职业技术学院学报,2007(1):34?36.

[3] 陈彩蓉,胡飞.基于DS18B20的温室温度控制系统设计[J].安徽农业科学,2011(36):17870?17871.

[4] 王玲芝,李育贤.基于DS18B20的数字式温度计设计[J].工业仪表与自动化装置,2011(5):74?76.

[5] 王福泉,万频,冯孔淼,等.DS18B20在空调检测系统温度采集模块中的应用[J].电子技术应用,2011,37(8):46?48.

[6] 陈忠平,高金定.基于ATmega16与DS18B20的智能温控系统的设计[J].现代电子技术,2011,34(4):175?177.

[7] 张攀峰.基于SN8P2604单片机和DS18B20的多路温度测控系统[J].陕西科技大学学报,2010,28(3):96?98.

[8] 赵跃齐,马瑞卿,梁贵毅,等.基于单片机C8051F的智能温控系统的设计与实现[J].安徽农业科学,2009,17(3):490?491.

[9] 王伟,李树荣.基于8051单片机温度采集及无线发送[J].现代电子技术,2011,34(1):146?149.

[10] 张军,陈慧丽.基于MSP430单片机和DS18B20的数字温度计[J].电子设计工程,2010,18(11):106?109.

C8051F310是silicon laboratories 公司一款完全集成的混合信号片上系统型MCU芯片[8]。它具有高速、流水线结构且与8051兼容的CIP?51内核,工作频率可达 25 MIP?S,片内有全速、非侵入式系统调试接口。器件的工作电压为2.7~3.6 V,典型工作电流为5 ms,功耗比较低。此单片机带有模拟多路器、真正的10位、200 KSPS的25通道单端/差分ADC。另外,单片机还具有16 Kb可在系统编程的FLASH存储器,可用于非易失性数据存储。

C8051F310的数字外设包括29个端口I/O,所有口线的耐压均为5 V,并具有4个通用16位计数器/定时器,时钟源既可使用25 MHz高精度可编程内部振荡器,也可用外部振荡器,本电路中使用内部振荡器作为时钟源。

2.3 控制执行驱动模块

模块实现最终控制输出功能,根据接收到微控制处理温度值的结果去执行相应的动作,决定冷气是否工作。电路图如图3所示,继电器K1为核心部件,根据R13端送来的经8050放大的信号指令进行开关动作,使JP5的2、3脚交替链接到1脚电源输入端,达到控制冷气是否工作。DS2为K1动作指示灯,D3起到保护Q5的作用。开关S3在不需要空调时使用,系统只作环境温度显示。

2.4 温度设置显示模块

因DS18B20的测温范围为-55~125 ℃,测量误差为0.5 ℃,故显示电路采用4位共阴LED数码管以静态显示方式实现温度显示,如图4所示,从单片机的P0口输出段码,选用4.7 kΩ电阻和3.3 V电压进行上拉,P1.2~P1.5口输出位控制信号,经由8050放大驱动数码管显示。温度值范围设置采用4个外置按键实现相应功能,由单片机完成对温度范围的设置。如图5所示,单片机利用中断功能对S4,S5,S6及S7 四个键进行键扫描,调整温度的上限值及下限值,若测试温度不在上限值和下限值的范围内,则执行控制程序动作机柜温度。

3 系统软件设计

系统软件采用C语言编写,遵循模块独立性原则,增强软件可读性和可移植性,便于调试和维护升级。根据系统的功能需求,程序主要包括初始化程序、DS18B20温度转换及处理程序、温度控制处理程序、温度值显示程序、键盘处理程序等几个程序模块,其中,DS18B20温度采集、转换和温度控制为核心部分,重点介绍设计思想。

初始化程序完成系统时钟设置、端口配置和参数设置等,因C8051F系列单片机设有交叉开关功能,在I/O口配置过程中要根据自己需要的端口进行相应的设置,才可保证I/O口的正常使用。

温度采集程序包括对DS18B20的参数初始化、温度采集和温度转换等程序模块。因DS18B20采用单总线协议方式,即在1根I/O线上进行数据读写[9],因此,对读写的数据位有着严格的时序要求,程序的编写必须遵照严格的通信协议来保证各位数据传输的正确性和完整性,确保DS18B20能正常的工作。从DS18B20读出的二进制数据采用12转换精度换算成十进制数据,用4位数码管显示,可以精确到0.1 ℃。

温度控制处理程序实现的功能主要是:将采集到的实际环境温度值与根据设置好的温度范围比较,在P2.0口输出高低电平,控制继电器是否动作。

温度值显示程序键盘处理程序主要实现数码管的显示和键盘输入功能。

4 结 论

本文设计的机柜温度控制器结构简单、温度转换精度高,大大提高了老式机柜的散热效率,机器可靠性明显提高。温度测量采用DS18B20一体式数字温度传感器,具有线路简单,体积小的特点。另外,还可用它来组成一个多点测温系统,在一根通信线上可以挂多个DS18B20,增加温度测量点,首先分布式测温,重点关注某些器件,如调制管、磁控管等[10]。本控制器经简单的线路改造,即可应用于其他测温系统和控制系统,具有广阔的应用前景和实用价值。

参考文献

[1] 林火生,阳明霞.微型机柜温度自动控制系统开发[J].柳州职业技术学院学报,2012,12(2):57?59.

[2] 党燕.模糊控制在汽车自动空调设计中的实现[J].兰州石化职业技术学院学报,2007(1):34?36.

[3] 陈彩蓉,胡飞.基于DS18B20的温室温度控制系统设计[J].安徽农业科学,2011(36):17870?17871.

[4] 王玲芝,李育贤.基于DS18B20的数字式温度计设计[J].工业仪表与自动化装置,2011(5):74?76.

[5] 王福泉,万频,冯孔淼,等.DS18B20在空调检测系统温度采集模块中的应用[J].电子技术应用,2011,37(8):46?48.

[6] 陈忠平,高金定.基于ATmega16与DS18B20的智能温控系统的设计[J].现代电子技术,2011,34(4):175?177.

[7] 张攀峰.基于SN8P2604单片机和DS18B20的多路温度测控系统[J].陕西科技大学学报,2010,28(3):96?98.

[8] 赵跃齐,马瑞卿,梁贵毅,等.基于单片机C8051F的智能温控系统的设计与实现[J].安徽农业科学,2009,17(3):490?491.

[9] 王伟,李树荣.基于8051单片机温度采集及无线发送[J].现代电子技术,2011,34(1):146?149.

[10] 张军,陈慧丽.基于MSP430单片机和DS18B20的数字温度计[J].电子设计工程,2010,18(11):106?109.

猜你喜欢

自动控制
简易热水器自动控制设计
电工电子技术在无功补偿自动控制中的应用
《自动控制原理》课程教学改革研究
电力拖动系统的自动控制和安全保护
探讨电气自动控制中PLC技术的应用
基于DCS自动控制循环水液面的改造
M2W中波发射机自动控制天线倒换系统
编组站停车器自动控制开通方案
唐钢热轧1810线工艺润滑改造自动控制的实现
基于校园网的自动控制原理网络课程构建