基于51单片机的多点温度控制系统设计
2009-05-12奚建荣
奚建荣
摘 要:针对目前壁挂炉采暖中温度控制不准确的现状,以单片机为控制中心,采用Dallas公司的“一线总线”数字化温度传感器DS18B20以及脉冲控制器件,设计一款多点测温及温度控制系统;系统能够同时测量多点温度,并根据温度设定实时控制各回路通断及壁挂炉的燃烧与停止,从而进一步提高居室的舒适性及采暖系统的经济性。
关键词:51单片机;DS18B20;多点温度检测;温度控制系统
中图分类号:TP274文献标识码:B
文章编号:1004 373X(2009)02 186 03
Multi-point Temperature Control System Based on 51 Single Chip Computer
XI Jianrong
(Weinan Teachers University,Weinan,714000,China)
Abstract:A multi-point temperature control system based on MCS-51 single chip computer is designed to solve the inaccurate problem of current temperature control system.Using DS18B20,"1-Wire" digital thermometer,and the component controlled by electric pulse.According to the temperatures got from multi-pointtemperature sensor,it can control heating water circuit and the burning or shutting of the stove.It makesthe room more comfortable and enhances the efficiency of the heating system.
Keywords:single chip computer;DS18B20;multi-point temperature measurement;temperature control system
随着生活水平的提高,人们对家居需求由面积需求变为舒适需求。地板采暖采用辐射方式供暖,符合人体生理需求曲线,如果控制系统选取得当,不仅可以提高房间舒适度,更可以使系统运行费用降低许多。如今一般是在典型位置安装一个温控装置,温控装置连接到壁挂炉,温控器根据室温和温度设定直接控制锅炉运行,各房间不同回路由工作人员凭经验手动调节分水器球阀,改变不同回路的流量,从而达到调节各房间的室温的效果。使用这种控制方法,即使是有经验的工作人员,也难以调节得十分准确,何况各家庭成员由于年龄不同,所需舒适温度不同,需要经常对室温进行调节。
针对以上问题,利用SST89E564RC单片机及新型测温器件设计了多点温控采暖控制系统,根据室内各点温度设定实时控制采暖系统,从而提高居室的舒适性以及采暖的经济性。
1 系统设计目标
系统总体设计思想是以SST89E564RC单片机为控制核心,整个系统硬件部分包括温度检测部分、控制执行部分、显示及键盘系统及最小系统基本电路。系统利用单片机获得温度传感器数据并与系统设计值进行比较,根据比较结果分别控制执行系统。温度控制系统控制框图如图1所示。
2 系统硬件设计
根据系统所需完成的功能,设计系统硬件结构如图2所示。
2.1 控制核心
系统采用SST89E564RC单片机作为控制核心,进行温度采集、信息显示及执行机构的控制。SST89E564RC是美国SST公司推出的高可靠、小扇区结构的FLASH单片机,内部嵌入72 KB的SuperFlash,1 KB的RAM,通过对其RAM做进一步扩展,可满足嵌入系统操作系统的运行条件。
2.2 温度传感器
温度传感器采用Dallas半导体公司的数字化温度传感器DS18B20。该传感器支持 “一线总线”接口,可方便地进行多点温度测量,还可以程序设定9~12位的分辨率,最高精度为±0.062 5 ℃,分辨率设定及用户设定的报警温度存储在E2PROM中,掉电后依然保存。该产品支持3~5.5 V的电压范围,因其体积小使系统设计更灵活、方便。
DS18B20的管脚排列如图3所示,其中DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。
DS18B20内部结构主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现1根总线上挂接多个DS18B20的目的。
DS18B20温度传感器的内部存储器包括9 B高速暂存RAM和1 B非易失性的可电擦除的E2PROM,后者存放高温度和低温度触发器TH,TL和结构寄存器,该字节第7位(TM)为0,低5位一直都是1,第6,5位(R1,R0)用来设置分辨率,如表1所示。
根据DS18B20的通信协议,主机控制DS18B20完成温度转换必须经过3个步骤:每一次读写之前都要对其进行复位,复位成功后发送1条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500 μs,然后释放,DS18B20收到信号后等待16~60 μs左右,后发出60~240 μs的存在低脉冲,主CPU收到此信号表示复位成功。由于DS18B20采用的是单线进行控制与读取数据,因此对操作的时序要求非常严格,否则由于时序不匹配,将无法完成对器件的正确操作。
2.3 控制执行部分
(1) 壁挂炉燃烧系统控制。
控制电路采用了脉冲继电器器件作为整个系统的总控部分,当所有居室温度均达到设定值时,停止壁挂炉的工作。该继电器的特点是:当线圈收到一个脉冲信号后,线圈通电,电磁铁吸合,带动触头闭合接通需要控制的电路,当下一个信号到来后,电磁铁吸合,触头断开,切断被控制的电源,因此其具有自锁和信号遥控功能。由于磁铁的作用,控制脉冲消失后滑片位置不发生变化,保持稳定状态,所以该器件具有功耗小、具有记忆功能。
(2) 居室温度控制。
各居室温度控制在燃烧控制系统工作前提下,根据各居室温度测量返回值,采用上海欧凯电磁阀制造有限公司生产的OK6515自保持脉冲电磁阀控制各回路的通断。脉冲电磁阀采用脉冲和永磁技术,只需通过控制器切换脉冲的电极触点来改变电磁阀的开关状态,当控制器发出电脉冲时,驱动阀芯克服永磁力产生上下移,使阀瓣到位后在永磁作用下处于自保持状态。
2.4 图形液晶显示模块
为了能够提供形象直观的用户显示界面,系统采用图形液晶显示模块LCD12864,其具有8位标准数据总线、6条控制线及电源线,可与CPU直接接口,显示各种字符及图形。考虑到系统中汉字的使用量少,因此选用不带汉字库的LCD。对于使用的汉字分别提取其字模并以二进制形式保存于内部FLASHROM中。
3 系统软件设计
系统软件设计主要依据系统程序流程以及DS18B20的时序要求进行代码编写。为了降低开
发难度,提高开发效率,系统开发中引入了μC/OS-Ⅱ嵌入式操作系统并移植了LCD显示驱动。另一方面,为了确保对DS18B20操作时序的精确性,对DS18B20进行初始化和读写代码仍采用汇编语言。
3.1 系统数据结构
系统所需数据结构包括各测温元件的序列号表,汉字字模存储、系统运行时间表存储、各温控点的设定值及测量值、系统时间的存放及一些临时数据存储。
为了区别多个温度传感器,在系统初始化时读入传感器中的64位序列号,并将其存入程序存储空间,以便程序运行期间进行比对,共需64 B。
汉字字模采用16×16字库进行提取,其中每个汉字需32 B,约15个字,为了方便程序功能的升级改进,在程序存储空间中按20个字进行空间分配,需要存储空间640 B。
系统运行时间表的设计以小时为设置单位,需要保存24个值;为了减少时间比较过程中的数据计算量以及方便编程,对每个值采用一个字节存储,这里共需24 B存储空间,这里仍然使用程序存储空间进行存储,以便在系统掉电时设定值不会丢失。
3.2 系统程序设计
系统程序设计主要使用KeilC51进行编写,但由于对DS18B20器件的读写时序要求比较严格,故采用汇编代码,其中温度读取子程序主要代码如下:
GET_TEM:…
MOV DPTR,DS_TABLE ;指向器件序号表入口
LOOP: MOV R7,7;逐个读取温度
MOVA,#055H ;ROM匹配
LCALL WRITE_SERIAL
LCALLDELAY
MOV A,#44H ;发出温度转换命令
LCALL WRITE_1820
LCALL DELAY ;延时750 μs(12位)
LCALL INIT_1820 ;准备读温度前先复位
LCALLDELAY
LCALLWRITE_1820
MOV A,#0BEH ;发出读温度命令
LCALL WRITE_1820
LCALL READ_18200;保存读出的温度数据
DJNZ R7,LOOP
CLR P1.4
RET
4 结 语
微型计算机在智能化电器发展中起着至关重要的作用,而单片机经济实用、开发简便,因而在工业控制、家电智能化等领域占据了广泛的市场。这里针对目前温度控制器现状设计了一种新方案,利用单片机及新型测温器件设计了一种多点温控采暖控制系统,该系统能够同时测量多点温度,并根据温度设定实时控制各回路通断及壁挂炉的燃烧与停止,从而进一步提高居室的舒适性以及采暖系统的经济性。
参考文献
[1]胡学海.单片机原理及应用系统设计.北京:电子工业出版社,2007.
[2]张鑫.单片机原理及应用.北京:电子工业出版社,2005.
[3]Jean J Labrosse.嵌入式实时操作系统μCOS-Ⅱ.2版.邵贝贝,译.北京:北京航空航天大学出版社,2003.
[4]杨屹.μCOS51 移植心得.http://blog.21ic.com/user1/2563/archives/2007/39152.html.
[5]徐卓农,张永忠.单片机系统中的汉字显示.单片机与嵌入式系统应用,2001(7):132-136.
[6]傅勤毅,李海浪.单片机与液晶显示器的接口及应用.今日电子,2005(6):70-72.
[7]佚名.数字温度传感器DS18B20资料[EB/OL].http://www.picavr.com/news/2008-02/4189.htm,2008.
[8]Dallas.DS18B20.pdf [EB/OL].http://cn.datasheet123.com/215746/DS18B20.html,2008
[9]马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计 [M].4版.北京:北京航空航天大学出版社,2007.
[10]张齐.单片机应用系统设计技术基于C语言[M].北京:电子工业出版社,2004.