单片机的多点温度控制系统设计
发布者:管理员   发布时间:2013-01-07 19:19:46 浏览次数:

随着生活水平的提高,人们对家居需求由面积需求变为舒适需求。地板采暖采用辐射方式供暖,符合人体生理需求曲线,如果控制系统选取得当,不仅可以提高房间舒适度,更可以使系统运行费用降低许多。如今一般是在典型位置安装一个温控装置,温控装置连接到壁挂炉,温控器根据室温和温度设定直接控制锅炉运行,各房间不同回路由工作人员凭经验手动调节分水器球阀,改变不同回路的流量,从而达到调节各房间的室温的效果。使用这种控制方法,即使是有经验的工作人员,也难以调节得十分准确,何况各家庭成员由于年龄不同,所需舒适温度不同,需要经常对室温进行调节。

  针对以上问题,我们利用SST89E564RC单片机及新型测温器件设计了多点温控采暖控制系统,根据室内各点温度设定实时控制控制采暖系统,从而提高居室的舒适性以及采暖的经济性。

  1系统设计目标

  系统总体设计思想是以SST89E564RC单片机为控制核心,整个系统硬件部分包括温度检测部分、控制执行部分、显示及键盘系统及最小系统基本电路。系统利用单片机获得温度传感器数据并与系统设计值进行比较,根据比较结果分别控制执行系统。温度控制系统控制框图如图1所示。

图1温度控制系统控制框图

  2系统硬件设计

  根据系统所需完成的功能,设计系统硬件结构如图2所示。

图2设计系统硬件结构

  21控制核心

  系统采用SST89E564RC单片机作为控制核心,进行温度采集、信息显示及执行机构的控制。SST89E564RC是美国SST公司推出的高可靠、小扇区结构的FLASH单片机,内部嵌入72KB的Super-FLASH,1KB的RAM,通过对其RAM做进一步扩展,可满足嵌入系统操作系统的运行条件。

  22温度传感器

  温度传感器采用DALLAS半导体公司的数字化温度传感器DSl8820。该传感器支持“一线总线”接口,可方便地进行多点温度测量,还可以程序设定9~12位的分辨率,最高精度为±0.0625℃,分辨率设定及用户设定的报警温度存储在E2PROM中,掉电后依然保存。该产品支持3~5.5V的电压范围,因其体积小使系统设计更灵活、方便。DSl8820的管脚排列如图3所示,其中DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输人端。


图3DSl8820

  DSl8820内部结构主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

  光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DSl8820的地址序列码。光刻ROM的作用是使每一个DSl8820都各不相同,这样就可以实现1根总线上挂接多个DSl8820的目的。

  DSl8820温度传感器的内部存储器包括9B高速暂存RAM和1B非易失性的可电擦除的E2PROM,后者存放高温度和低温度触发器TH,TL和结构寄存器,该字节第7位(TM)为0,低5位一直都是1,第6,5位(R1,R0)用来设置分辨率,如表1所示。

表1DSl8820温度测量分辨率表

  根据DSl8820的通信协议,主机控制DSl8820完成温度转换必须经过3个步骤:每一次读写之前都要对其进行复位,复位成功后发送1条ROM指令,最后发送RAM指令,这样才能对DSl8820进行预定的操作。复位要求主CPU将数据线下拉500μs,然后释放,DSl8820收到信号后等待16~60μs左右,后发出60~240μs的存在低脉冲,主CPU收到此信号表示复位成功。由于DSl8820采用的是单线进行控制与读取数据,因此对操作的时序要求非常严格,否则由于时序不匹配,将无法完成对器件的正确操作。

 2.3控制执行那分

  (1)壁挂炉燃烧系统控制。控制电路采用了脉冲继电器器件作为整个系统的总控部分,当所有居室温度均达到设定值时,停止壁挂炉的工作。该继电器的特点是:当线圈收到一个脉冲信号后,线圈通电,电磁铁吸合,带动触头闭合接通需要控制的电路,当下一个信号到来后,电磁铁吸合,触头断开,切断被控制的电源,因此其具有自锁和信号遥控功能。由于磁铁的作用,控制脉冲消失后滑片位置不发生变化,保持稳定状态,所以该器件具有功耗小、具有记忆功能。

   (2)居室温度控制。各居室温度控制在燃烧控制系统工作前提下,根据各居室温度测量返回值,采用上海欧凯电磁阀制造有限公司生产的OK6515自保持脉冲电磁阀控制各回路的通断。脉冲电磁阀采用脉冲和永磁技术,只需通过控制器切换脉冲的电极触点来改变电磁阀的开关状态,当控制器发出电脉冲时,驱动阀芯克服永磁力产生上下移,使阀瓣到位后在永磁作用下处于自保持状态。

  24图形液晶显示模块

  为了能够提供形象直观的用户显示界面,系统采用图形液晶显示模块LCDl2864,其具有8位标准数据总线、6条控制线及电源线,可与CPU直接接口,显示各种字符及图形。考虑到系统中汉字的使用量少,因此选用不带汉字库的LCD。对于使用的汉字分别提取其字模并以二进制形式保存于内部FLASHROM中。

  3系统软件设计

  系统软件设计主要依据系统程序流程以及DSl8820的时序要求进行代码编写。为了降低开发难度,提高开发效率,系统开发中引入了μC/OS一Ⅱ嵌入式操作系统并移植了LCD显示驱动。另一方面,为了确保对DSl8820操作时序的精确性,对DSl8820进行初始化和读写代码仍采用汇编语言。

  31系统数据结构

  系统所需数据结构包括各测温元件的序列号表,汉字字模存储、系统运行时间表存储、各温控点的设定值及测量值、系统时间的存放及一些临时数据存储。

  为了区别多个温度传感器,在系统初始化时读入传感器中的64位序列号,并将其存入程序存储空间,以便程序运行期间进行比对,共需64B。汉字字模采用16×16字库进行提取,其中每个汉字需32B,约15个字,为了方便程序功能的升级改进,在程序存储空间中按20个字进行空间分配,需要存储空间640B。系统运行时间表的设计以小时为设置单位,需要保存24个值;为了减少时间比较过程中的数据计算量以及方便编程,对每个值采用一个字节存储,这里共需24B存储空间,这里仍然使用程序存储空间进行存储,以便在系统掉电时设定值不会丢失。

  32系统程序设计

  系统程序设计主要使用KeilC5l进行编写,但由于对DSl8820器件的读写时序要求比较严格,故采用汇编代码,其中温度读取子程序主要代码如下: