引言
本文提出了一种基于物联网技术的地下车库灯光导航系统。该系统首先通过灯光控制器对车位进行检测,然后通过算法为到来的车辆分配一个最近的空车位,最后通过控制该路径上的照明灯完成对车主的引导。同时,该系统能合理控制车库内的照明,在保证车库照度要求的情况下,避免了大量长明灯的存在,节约了电能。
1总体方案设计
图1为地下车库灯光导航系统结构图,主要由控制中心计算机、车牌识别系统、通信控制器、无线灯光控制器组成。
图1 整体系统框图
无线灯光控制器主要由MSP430单片机、微波检测模块、超声波检测模块、ZigBee 无线模块、照明控制电路、电源及看门狗电路组成,如图2所示。
图2 无线灯光控制器结构框图
该控制器选用MSP430F149,因为该系列单片机是一种超级低功耗的混合信号处理器,具有简洁的内核、精简的指令结构、大量片内数据存储器和丰富的寻址方式[13]。超声波检测模块用来检测车位占用情况及行车方向,超声波检测模块通过将所测距离与其所安装的高度进行对比来确定车位是否被占用,假设无线灯光控制器安装高度为3 m,则规定:如果所测距离2.5 m<d≤3 m,则车位无车;如果0≤d≤2.5 m,则车位有车。
无线灯光控制器上安装有两个超声波传感器A、B,通过判断这两个超声波状态改变的先后顺序来判断车的行车方向,在没有车辆经过的情况下,A、B的状态均为无车,当A的状态发生改变后,如果在很短的时间内B的状态也发生改变,则行车方向为由A到B;反之,则行车方向为由B到A。微波检测模块用来检测探测范围内是否有人或车辆移动,如果有,照明控制电路点亮所控灯具,5 s后灯具自动熄灭。看门狗电路用来实时监测程序运行状态,当程序发生故障进入死循环后,看门狗定时器溢出,从而引起看门狗中断,给MCU一个复位信号,使系统复位。
ZigBee模块用于无线灯光控制器与主控制器之间的通信,ZigBee技术是一种低复杂度、低功耗、低成本、高可靠性、高安全性的双向无线通信技术,使用该通信方式可以避免有线电缆的铺设,降低了系统的安装成本与安装难度。电源模块用来给整个无线灯光控制器提供电源。照明控制电路主要是用来控制灯具的亮灭。
当车辆入库时,入口摄像头获取车辆的车牌信息,出入口控制管理计算机对车牌进行识别。如果该车是长期用户,则开启道闸,放行车辆。若车牌信息不存在,说明该车为临时车辆,发放临时电子标签,开启道闸,并对车辆进行路径规划,并逐步给最短路径上对应的智能无线灯光控制器发出指令,智能无线灯光控制器控制相应的灯具亮起,车辆经过后,灯具自动熄灭。车辆出库时,无线灯光控制器判断车辆离开车位,并将信息通过ZigBee发送到出入口控制管理计算机,计算机根据车辆位置以及出口位置,为出库车辆规划出一条最短路径,并逐步给这条路径上对应的智能无线灯光控制器发出指令,智能无线灯光控制器控制相应的灯具亮起,车辆经过后,灯具自动熄灭。
2无线灯光控制器设计
2.1超声波模块设计
超声波模块可独立工作,选用STC系列的51单片机,为增强驱动能力选用CD74ACT05M驱动超声波发射头。超声波接收采用CX20106A,该芯片内含解调电路、前置放大电路等几部分电路,该芯片体积小,同时接收角度宽、价格低。
首先由51单片机的定时器1产生频率为40 kHz的方波,由于单片机引脚驱动能力弱,测量距离有限,所以将40 kHz的方波信号分成两路,送给由CD74ACT05M组成的推挽式电路进行功率放大,以便使测量距离足够远、满足使用要求,最后送给超声波发射换能器TCT40-16T,以声波形式发送到空气中。超声波发射电路如图3所示。
图3 超声波发射电路
上述超声波发射探头发射的超声波在空气中传播,遇到障碍物后反射回来,超声波接收探头接收到回波后,将机械信号转换为电信号,经CX20106A内部放大后再进行限幅放大,变为矩形脉冲后滤除干扰信号。检波器滤掉载波检出指令信号,当接收信号与CX20106A中心频率相符时,由7引脚产生一个下降沿。超声波接收电路如图4所示。
图4 超声波接收电路
2.2微波调理电路设计
为缩短研发时间,选用HB100微波模块,该模块主要是用来检测探测范围内有无移动车辆。然而微波模块只能输出峰峰值十分小的多普勒频移信号,只有对输出的信号进行数千倍的放大,才能被单片机识别。为了满足不同场合下对微波探测距离远近不同的要求,将R1设为可调电阻,根据实际情况调节放大倍数。为了防止干扰信号的干扰,需将偏置比较电路调节到一个相对合适的阈值[12]。微波调理电路如图5所示。
图5 微波信号调理电路
2.3照明控制电路设计
照明控制电路对灯具起到开关作用,当有车辆进入微波的探测范围内后,单片机接收到微波发出的多普勒信号,通过控制电路控制灯具的亮灭。
由于双向可控硅具有开关速率快、使用寿命长等优点,所以选用BTA16作为该电路中的主要器件。选用光耦芯片MOC3041来进行强弱电之间的电气隔离,在输入、输出之间实现光电信号的转换,这样内部隔离电压可达2 000 V。根据光耦芯片的开关特性,将R27的阻值定为120 Ω,这样开关时间不到2 μs,完全能满足灯具控制的要求。照明控制电路如图6所示。
图6 照明控制电路
2.4看门狗电路
在电路实际调试的过程中发现程序有时会进入死循环,为了解决这个问题,在电路中增加了看门狗电路,选用IMP706SESA,其作用是监视程序运行情况,通过不停地喂狗来判断其工作状态。该芯片使用简单、功耗低、喂狗信号间隔最大1.6 s,有利于保证单片机程序运行的完整性。该芯片与单片机的接口电路如图7所示。
图7 看门狗电路
3停车场路径规划
车辆出入车库时,首先主控计算机为该车辆规划出一条最优路径,并点亮该路径上对应的灯具,通过灯光对车主进行导航。路径规划首先要根据环境进行建模,环境建模在路径规划中起着关键性的作用。
在求解最优路径过程中,以栅格法对车库进行建模,路径最短作为求解目标,运用启发式最短路径搜索算法中经典的A*搜索算法进行求解。
3.1A*搜索算法
对于A*搜索算法,首先要设计一个估价函数f(n)=l(n)+m(n),其中f(n)为当前节点的估价函数,l(n)表示从起始节点到当前节点n的实际代价,m(n)表示从节点n到达目标节点的估计代价[6]。通过这个函数对下一步能够到达的每一个点进行评估,每次搜索时找到估价值最小的点,继续往下搜索[7]。
A*算法的具体步骤:
① 创建一个OPEN表和一个CLOSE表,令两个表为空,把起始点s放入OPEN中。
② 搜索OPEN表中节点,若OPEN表为空表,则表示没有找到路径,搜索失败。
③ 若OPEN表不为空,则从中选一个f值最小的节点为最佳节点,将该节点记为a,把它放入CLOSE表中。
④ 判断节点a是否为目标节点e,若节点a是目标节点,则成功搜出一条路径。
⑤ 若节点a不是目标节点,则对它进行扩展,产生子节点a1、a2、……,对每个子节点进行过程判断(以子节点a1为例说明):
a. 如果 a1已经在OPEN表中,计算l(a1),将OPEN表中原来的节点a1称为子节点ob,比较l(a1)和l(ob)。如果 l(a1)<l(ob),则修改ob的父指针为a,修正 l(ob)值,把较小值l(a1)赋给l(ob),相应的更新f(ob)值;若l(a1) ≥l(ob),则停止扩展节点。
b. 若a1已经在 CLOSE表中,则跳过该节点,返回步骤⑤,继续扩展其他节点。
c. 若a1既不在 OPEN 表中,又不在 CLOSE表中,则把它放入 OPEN 表中,给a1加一个指向它的父节点a的指针,计算l(a1)。
⑥ 转入第②步继续循环,直到找到解或者无解退出为止。
3.2计算实例
下面以一个具体的车库为实例,利用A*搜索算法搜索一条从入口到指定车位230的路径,并显示路径上的无线灯光控制器编号。
根据车库的CAD图,可获知车库内部环境的实际情况。因篇幅问题,这里只显示包含入口点与终点车位的车库局部电气CAD图,如图8所示。图中显示了车库内部灯具以及车位分布等情况,并根据要求合理配置了智能无线灯光控制器。图中(代表荧光灯,↑代表智能无线灯光控制器,灰色方框代表车位),车位内部的数字代表车位号,例如—表示车位号为197的车位[11]。
图8 车库局部电气CAD图
车库路径规划算法仿真图略——编者注,利用Visual C# 编译工具,采用面向对象的语言C#,利用栅格法针对整个车库建模,然后对该路径算法进行仿真。栅格规模为22×20,围墙用深黑色栅格代表,车位无线灯光控制器用深灰色栅格代表。浅灰色栅格代表路径栅格,白色栅格代表车道无线灯光控制器,带斜线栅格代表路径搜索过程中扩展过的未被纳入路径的子节点。
经过验证,A*算法可以快速、高效地找到一条最短路径,一旦车库内环境发生变化,可迅速重组地图,以当前位置为起点,再次调用A*算法,搜索最短路径。
结语
针对地下车库智能化程度低引起的泊车效率低、车库照明控制方式落后引起的电能耗费大的实际情况,设计了一种用于地下车库的这种灯光导航系统,不仅可以实现对车辆的自动导航,而且可以合理控制灯的亮灭,既方便了停车,又节约了能源。