目前大部分的地下停车场都需要大量的照明设备进行长期照明,采用传统的连续照明方式或声控照明方式很难实现照明的自动控制,且会造成巨大的能源浪费和设备损耗。国外虽然有类似的灯光智能控制系统,但价格很高,限制了它的广泛应用。本文提出了一种基于CAN总线技术开发的分布式停车场灯光智能控制系统,能够解决停车场内照明智能控制问题,降低停车场内的布线复杂度,减少安装费用并大大延长停车场内照明设备的使用寿命,具有良好的应用前景。
1 分布式停车场灯光智能控制系统的基本原理
该智能控制系统的结构如图1所示。系统主要由上位机、CAN适配器、控制节点(包括出入口控制节点和现场控制节点)等部分构成,各节点间通过CAN总线进行通信。
当有车辆进入停车场时,可以根据车牌号决定该车入库时的行车路线及车位,根据预定的行车路线,选择相应的照明控制方案。
各现场控制节点检测各通道入口是否有车辆经过,当检测到过往车辆时,控制器打开车辆附近相关的照明回路,同时通过CAN总线向网络上的其他节点发布消息;其他节点根据接收到的消息以及事先预定的控制方案打开有关的照明回路。
在出入口的控制节点可以实时监测并显示各个照明回路的开关状态。同时出入口节点也可根据需要进行手工控制,实现对停车场内每一个回路的开关控制,以应付一些紧急事件。
为了让系统能够适应不同的使用环境,同时能够根据用户的需要随时改变照明方案,该系统采用现场可编程技术,可由上位机通过CAN总线,将各个节点的控制方案下载到各控制节点,实现照明方案的现场编辑、现场修改及现场下载。
系统中CAN适配器的作用是将CAN总线上的命令通过串口或USB口传给上位机,也可以将上位机的命令转换成CAN命令发送给系统中的其它节点。
2 系统硬件设计
控制节点按功能可以划分为不同的类型,但是其基本的结构相同。控制节点的电路结构如图2所示。主要由微控制器、CAN总线驱动器、外部存储器、串行接口、电源部分等组成。
微控制器采用PHILIPS公司的P87C591,P87C591是一个单片8位高性能微控制器,具有片内CAN控制器,它采用了80C51指令集并成功的包括了Philips半导体SJA1000CAN控制器的Pelican功能(该模式支持具有很多新特性的CAN2.0B协议),同时该微控制器具有内置看门狗,内部程序存储器为16K字节。采用该控制器可以大大简化电路设计并节省应用空间。
外部存储器的作用是存储从上位机下载下来的控制方案。外部存储器采用RAMTRON公司的FM25640。该芯片采用铁电存储技术,具有高速非易失的特性,采用SPI接口连接,容量是64K位。该芯片用于存储节点间的控制方案,同时也可以当作系统的缓冲区。
继电器接口用于连接控制节点与照明回路,通过该接口控制节点可以控制照明设备的开关。
串行接口电路采用标准RS-232接口芯片——MAX202,使用该接口可以使节点在无需连接网络的情况下也可以进行节点间互连关系的上传和下载,同时也可以当作调试的接口。8位拨码开关用于设定节点的逻辑地址,各个节点根据这个逻辑地址进行相互识别。
3 系统软件设计
3.1 上位机管理软件设计
上位机管理软件实现的主要功能如下:
1) 系统控制方案的新建、修改、保存:用户可以通过管理软件建立并修改控制方案,或者将控制方案以文件形式保存,以备以后使用。
2) 系统控制方案的上传、下载:管理软件可以将网络中各个节点的所存储的控制方案上传到上位机,也可以将控制方案通过CAN总线下载到各个节点中去。
3) 实时监测系统各个回路的状态:系统通过CAN接口卡可以实时监测CAN总线上传送的各种命令,并可以在上位机上显示出各个回路的开关状态。
4) 控制系统各回路的开关状态:用户可以通过管理软件向系统中其它节点发送控制命令,控制系统中任意回路的开关。
上位机管理软件采用组态技术和图形化编辑界面,用户可以通过组态方式或者通过表格方式建立、修改控制方案。管理软件也通过图形方式实时显示系统中各个回路的状态的。
3.2 控制节点的软件设计
3.2.1 控制节点软件实现功能
控制节点软件实现的主要功能如下:
1) 系统的初始化:包括串口的初始化、CAN控制器的初始化、定时器的初始化以及系统主要变量的初始化。
2) 外部存储器资源的分配、管理:包括对FM25640读写的基本操作,以及建立在这些操作上的对节点控制方案的管理。
3) CAN命令的发送、接收及解释:包括对其它节点发送的CAN命令的接收、识别、解释,以及相应的应答命令的发送。
4) 串口命令的发送、接收及解释:包括串口命令的接收、识别、解释,以及相应的应答命令的发送。
5) 传感器信号的检测:包括传感器组的连续检测,以及检测到信号时所进行的相应处理。
6) 照明回路的控制。
7) 定时器的管理。
3.2.2控制节点软件工作流程
控制节点的程序采用C51设计,这样可以大大简化程序设计的复杂度。控制节点的主程序框图如图3所示。
在系统初始化后,程序循环查询传感器接口、串口和CAN接口。当检测到传感器有信号输出时,程序在打开附近的照明回路的同时也通过CAN总线向其他节点发送该传感器的信息。其余的控制节点一旦接收到该信息,便会查询存储在外部存储器中的控制方案信息,然后打开与该传感器相关联的照明回路,从而实现控制方案指定的照明方式。
控制节点的CAN中断程序的框图如图4所示。当节点接收到一条CAN帧,中断处理程序读出该命令,并置CAN命令接收标志,等待命令处理子程序的处理。
为了方便控制节点的安装与调试,在主程序中特别加入了串口处理程序。使用者可以通过发送串口命令测试控制节点的各项功能,也可以通过串口上传、下载控制方案。
3.2.3 现场可编程功能的实现
为了实现该系统的现场可编程功能,每一个控制节点都应该存储本节点的照明回路与网络中其他节点的传感器的逻辑关系表。逻辑关系表的结构如下:
|
照明回路 | |||||||
传感器
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 | |
2 |
0 |
1 |
0 |
0 |
0 |
0 |
0 | |
3 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
上表表示节点的各个照明回路与系统中某一节点的的传感器(包括本节点)的互连关系。如果表项中对应值为1,则表示对应的照明回路与传感器相关联,一旦传感器有信号,相关的照明回路就会被打开。关系表中的各项的值可以随时改变,并通过上位机或串口重新下载到存储器中。
假设网络中有N个控制节点,每一个节点中将会存储N-1张关系表,对应于网络中的其余N-1个节点。一旦某一节点在CAN上发送传感器消息,其余的节点接收到该消息后就会从对应于发出消息的节点的关系表中查找与该传感器关联的照明回路并打开这些回路。这样一旦有车辆进入停车场,该控制系统就会打开控制方案规定的所有的照明回路,实现照明的智能化。
4 结束语
通过对系统软件、硬件的反复调试,该分布式灯光智能控制系统显示出了传统的停车场灯光控制系统无法比拟的优越性,可以有效减少小区地下停车场照明系统的安装和维护费用,具有良好的应用前景和推广价值。