
王芳芳蒋式勤
同济大学电子与信息工程学院上海 200092
摘要:在智能房屋的控制系统中,易于操作、具有多功能和柔性的智能开关是一个不可缺少的控制器件。本文详细介绍了基于EIB总线智能开关的设计方法和利用单片
机和触摸显示屏实现这种智能开关的关键问题。
关键词:智能房屋 EIB(European Installation Bus)总线智能控制开关单片机
一、
随着社会和科技的发展,智能房屋应运而生,使得居住环境更加舒适、安全。智能房屋不仅可以根据居住者的要求提供所需的灯光、温度、新鲜空气等,还可以对非法闯入进行监视和报警,并且能对电路短路、煤气泄露、水管泄露等危险情况进行监视及应急处理。此外,智能房屋还可以优化电力、煤气、水等的使用,例如,当人离开房屋时自动关闭灯、空调、加热器等。
目前,各国对智能房屋的研究还在探索与发展中,对智能房屋的定义与设计方案也各不相同。在德国Duisburg进行的inHaus项目中,充分应用网络与移动通讯技术,从冰箱到浴缸,甚至汽车与花园都成为智能房屋的一部分,如汽车一点火,车库的门就打开。在伦敦北部Hertford进行的“Orange at home”实验项目中应用了Unisys的语音技术,使得人可以用自然语言控制各种家用电器,更进一步,通过与WAP电话、PDA结合还可实现远程控制。
另外,所谓的家庭网络(HomeNet)也是目前人们研究和关注的热点。未来的家庭网络是覆盖家庭全方位的提供各种智能服务的网络系统,其功能包括安全监控、能源管理、数据通信服务、家庭环境和智能控制等,与智能房屋的设想大同小异(或异曲同工)。为了提供完整的系统集成方案、和灵活易用的网络接口。许多大公司推出了自己的技术和规范,如微软公司的UPNP和SUN公司的JINI技术和规范等[5]。
在智能房屋中,一般通过控制中心来协调与控制各受控电器,如要增加或改变受控电器的设置与操作就要在控制计算机上完成,这样不仅费时,而且费用较高。为此,本文对基于EIB总线的智能化开关进行了探讨。
二、 智能开关
为使居住者能按自己的要求对灯、空调、通风等进行设置与调整,模块化、易操作的智能开关是一个必要的控制器件。智能开关首先可以代替普通的照明开关,同时还可以简单快速地操作其它电器设施。居住者可以在智能开关上任意配置其所控对象,在一个房子里可以使用几个同样的智能控制开关,它们可以同时控制同一对象,若被控对象的状态被改变,那么,各个相应智能控制开关内的这个被控对象的状态同时改变。智能开关连接到EIB(欧洲安装总线)上,可以与受控电器、控制计算机进行通讯。
EIB总线是一种主要用于楼宇自动化的总线系统。它能连接传感器、执行器、控制器等形成网络,总线不仅传输信号,而且还为EIB总线成员提供电源。每一个总线成员都可以直接和其它的总线成员通讯,而不用通过控制系统, 从而使控制更加迅速和及时。
三、 设计与实现
针对这一设想我们采用了美国德克萨斯仪器公司的单片机MSP430F149 与一彩色触摸显视屏相结合,开发了一个模块化菜单驱动的智能开关。
单
片
机
图 1 智能开关结构
16位单片机MSP430F149拥有60 Kbytes的存储空间,2 Kbytes内存,并具有超低功耗的特点,在满负荷下它的工作电流仅为270µA,工作电压仅为1,8-3,6V olt,满足连接到EIB 总线的要求。德克萨斯仪器公司还提供与之配套的C语言编程环境,方便了设计以及调试。
单片机与触摸显视屏之间采用RS232 串行通讯,由于单片机的I/O口是TTL电平,而触摸显视屏的通讯口使用的是标准的RS232 电平,为了使两者能够连接,使用了MAX2322来进行TTL电平和RS232电平的转换。
智能开关的软件由EIB 驱动软件,数据库,菜单管理及RS232串行口驱动软件组成,图中箭头所示为数据流方向。当显视器上显示有操作时,显视器送出手指的位置坐标,通过串行口送到单片机的接受寄存器,单片机的菜单管理程序对该位置坐标进行处理。首先判断操作是否有效,若无效,则继续等待,如果操作是有效操作,接着判断这个操作的性质,从而决定执行什么功能,然后通过串行口发送命令给显视器,显视器将按照收到的命令显示下一个菜单。
为使智能开关能适应居住者的不同要求,它具有以下特点:
z易于操作,采用菜单式界面及人们常用的单双击操作方式;
z适应性强,使用者可以根据自己的需要和可能性来设置该开关所控制的电器;
z具有模块化结构,使用者可以自己选择合适的模块来配置对被控对象的特性设置。
为实现以上几个方面设计了如下流程,正常工作时显视器处于标准功能菜单状态。所谓标准功能菜单就是最常用的功能,也是使用者希望在显视器上可以随时看到其状态的功能。比如,规定单击控制开关显视屏时为一般功能的操作,双击显视屏时(两次的相隔时间不超过0,6 秒)进入功能设置主菜单(0号菜单),在这个菜单下可以设置多达9个子功能菜单键,每个子功能菜单代表一类功能,如灯或空调。与主菜单相类似,单击子功能菜单键进入该子菜单,双击为子功能菜单的功能设置。
通用菜单操作流程
图2 通用菜单操作流程
为了实现单双击功能使用了单片机的定时中断,每当有一个操作到来时就启动定时器开始计时,同时单片机开始等待第二个操作的到来,当第一个操作后0,6秒内没有第二个操作到来时,则认为是单击。这个0,6秒的定时器设定是根据人的正常击键速度而设的。
该软件的数据管理采用了链表形式,一方面方便了对单一设备的管理,另一方面也有效地利用了单片机的存储空间。以单个设备的结构为例:
struct Einzelgerat
{
char Tname; /*Key Number*/
char Funktion[10]; /*function of the equipment*/
char FID[4]; /*funktion ID */
char Typ[8]; /*the type for the equipment */
char TID[4]; /* ID of the Type */
char Ort[10]; /*location of the equipment*/
char OID[4]; /*location ID*/
int Zustand; /*the state of the equipment*/int Standard; /* 1: standard application */
int Out; /* defined value*/
struct Einzelgerat *next; /* the address of the next structure. */
}*ptr1=Null,*ptr2=Null,*ptr3=Null,*ptr4=Null,*ptr5=Null,*ptr6=Null,*ptr7=Null,
*ptr8=Null,*ptr9=Null;
总共可以设置九个链表,每一个链表代表一个主菜单下的子功能菜单,每一个子功能菜单代表一类功能,如灯、空调等。单个设备的结构包含了控制它所需要的全部信息,比如代表该设备的键在子功能菜单的位置,它的功能,所在地点,功能类型等等。一般来说,可以把常用的设备分为3种类型,即开关型(0/1),模拟量型(电压或电流),百分比型(0-1)。针对不同类型我们在操作界面上设置了不同的操作键。所有这些信息可以由操作者来设置或更改。下面两图分别是显视器的主菜单和标准功能菜单状态。
Haupt Menü
Add
Wecker Delete
Back
图3 主菜单(左边应用键为闹钟功能)
Licht in WohnZ
OFF
图4 标准功能菜单(起居室的关灯菜单)
四、结束语
这种模块化操作界面的智能开关不仅易于操作,而且能适应用户的不同要求。结合EIB驱动程序,即可通过EIB总线与控制中心及其它电器通讯,可以扩展更多的功能,例如,有了居住者的ID信息后,就可以根据他的喜好自动地设置与调整各种受控对象,更具柔性。
参考文献
1. Dietrich / Kastner / Sauter : EIB Gebäudebussystem –Heidelberg : Hüthig,2000 ISBN
3-7785-2795-9
2. Zentralinstitut für angewandte Mathematik Forschungszentrum Jülich
GmbH : Die Programmiersprache C. Ein Nachschlagewerk / Regionales
Rechenzentrum für Niedersachsen / Universität Hannover(RRZN)
3. Kernighan/Ritchie : Programmieren in C mit dem C-Reference Manual in
deutscher Sprache / Brian W. Kernighan ; Dennis M.Ritchie.
Die dt.Ausg. besorgten A.T. Schreiner u. Ernst Janich.
In controll system of intelligent house is the flexible and easy to manipulate switch a very necessary control equipment. In this paper the author introduces, how to design intelligent switch based on EIB(European Installation Bus) and how to realize the switch make use of microcontroller and touch screen.
蒋式勤, 同济大学信息学院教授.
