张伦++潘秀秀++张亚洲
摘 要:本项目针对家用车库存在的安全性、便捷性等问题进行研究,通过无线通信实现便捷的车库控制、防盗、视频监控等,并实现利用超声波测距方式解决汽车出入库过程中的刮蹭问题。项目基于ARM内核的STM32嵌入式处理器进行设计与研究,实现的功能包括无线遥控车库门、视频监控、红外防盗、车距探测与预警、电子密码锁等,本项目力求在未来的智能家居中发挥作用。
关键词:超声波测距;STM32;嵌入式处理器;智能车库;视频监控
中图分类号:TP393;TN92 文献标识码:A 文章编号:2095-1302(2017)09-00-03
0 引 言
随着别墅型住宅日渐流行,智能车库的控制和管理系统也得到了广泛应用。但传统车库控制通常依赖互联网,存在网络安全风险与缺陷。例如家用私人车库面积有限,车主驾驶车辆进出车库时经常会发生刮蹭;车库防盗系统依赖车库摄像探头,但它只支持发生盗窃后的证据记录,并不能做到真正的防盗报警,且摄像头一直处于工作中,对存储、查看、耗能等都是一个考验。我们针对传统智能车库存在的网络安全、缺少刮蹭警示、车库防盗等级较低、便捷性较差等问题提出了合理的解决方案,并建立了基于ARM处理器和无线全双工通信控制的家用智能车库系统。
1 设计目标
本项目力求实现智能车库性价比高、成本低、操作简便、安全性强、更加智能与人性化的目标,支持低成本、低功耗、高质量的智能化家居理念,为未来人性化智能私人车库的发展做铺垫。主要实现以下目标:
(1)用户使用遥控板无线控制车库大门的启闭;
(2)利用红外人体感应模块和报警器(在设计中使用蜂鸣器,蜂鸣频率5 Hz)实现车库的防盗报警;
(3)利用超声波测距模块实现探测与显示车库墙壁与车两侧的距离,并在距离小于等于4 cm时提醒报警(在设计中使用蜂鸣器,蜂鸣频率2 Hz);
(4)车库门同时支持电磁锁,在无线控制失效的情况下仍然可以开关门;
(5)遥控板可以打开或关闭车库内的摄像探头,亦可在遥控板上查看视频图像。
设计指标要求如下:
(1)实现遥控板和车库主控板之间的全双工无线通信;
(2)无线图像传输分辨率不低于CIF图像格式(352×288像素)标准,颜色信息为国际广播电视标准RGB422;
(3)超声波测距模块在40 kHz载频下探测误差小于或等于2 cm;
(4)红外人体感应范围不小于20 m2;
(5)系统能够长时间可靠工作。
2 系统功能设计与实现
本项目基于低成本考虑和外围接口的设计需求,选用ST公司生产的ARMCortex?-M4结构嵌入式处理器ST M32F407作为系统核心。该处理器具有实时控制、高速存储、FSMC、DMA等功能,能够满足项目需求。软件开发平台选用Keil Software公司的MDK5,它满足ARM Cortex?微控制器软件接口标准(Cortex Microcontroller Software Interface Standard,CMSIS),可方便的添加STM32处理器的固件库。
2.1 无线全双工通信的实现
目前常用的无线传输模块有蓝牙模块,WiFi模块、433长波模块、nRF模块等。蓝牙模块应用最广泛,其优点是近距离匹配容易、成本较低、编程简单;缺点是远距离匹配失效、穿墙效果差、传输速度低,不适合视频图像的远距离传输。WiFi模块主要应用于互联网通信,它是目前传输速率最快的无线通信模块,具有高穿透性和高数据流传输特性,但其协议栈过于复杂、编程匹配困难、成本与功耗相对较高;433长波模块适合远距离数据传输,但成本过高;nRF模块传输速度快、功耗低、协议栈简单、成本低,广泛应用于智能家居中的短距离信号流传输,不论成本、性能还是功耗,均符合本系统的要求。
通过比较厂家资料可知,选择nRF24L01作为本系统的无线通信模块。nRF24L01采用2.4 GHz国际开放的ISM频段。该模块利用高斯频移键控(GFSK)调制信号,功率谱密度集中且具有恒幅包络特性。调制出的恒定包络单位时间内传输内容较多,不仅速度快、节能,还能使数据在空中的停留时间较短,确保收到的干扰较少,误码率大幅降低,传输过程可靠、高效。
本系统需要传输格式为CIF的图像数据,CIF的分辨率为352×288,RGB422色彩模式下每像素色彩信息占用8位二进制数,每帧所需的位数为352×288×8=811 008 b。假设每秒传输18帧画面,则每秒需要的位数为14.6 Mb,即每秒需要的字节数为1 825 KB。增加无线通信的起始位和校验位后,无线模块的数据传输速率大约为1.9 Mb/s,小于nRF24L01的最大数据传输速度2 Mb/s。该模块完全能够满足本项目的需求。以上计算基于非压缩的图像数据格式,如果选择支持帧内数据压缩的MJPEG数据传输格式,还可以进一步降低数据传输带宽,提高系统冗余度,或根据需要选择更高的图像分辨率。
nRF24L01采用SPI通信總线,确保收发信号能够同步进行,但单一的收发不能保证数据传输的可靠性,高速的数据传输需要校验和收发确认。nRF24L01提供了两种不同的收发模式,分别为Enhanced ShockBurstTM和ShockBurstTM,两种模式由CE端口和CONFIG寄存器共同控制。本系统使用的编程方式(引脚电平使能和寄存器写值)选择Enhanced ShockBurstTM模式,它支持自动确认字符(ACK)和自动重发。通信收发的地址和频道同样由程序来控制。
2.2 超声波测距的实现
超声波在相同的传播媒介中(大气条件)传播速度相同,它借助传播介质的分子运动而传播,波动方程描述方法与电磁波类似。endprint
A = A(X)cos(ωt+ kx) (1)
A(X) = A0e-αx (2)
其中:A(X) 为振幅,A0为常数,ω为圆频率,t为时间,X为传播距离,k=2π/λ为波数,λ为波长,α为衰减系数。衰减系数与声波所在介质及频率的关系如下:
α=af2 (3)
式中:a为介质常数,f为振动频率。空气中,a=2×10-13s2/cm,将振动的声波频率f=40 kHz(超声波)代入式(3)可得:α=3.2×10-4cm-1,即1/α=31 m;若f=30 kHz,则1/α=56 m。其物理意义为:声波在空气媒介里传播,因空气分子运动摩擦等原因,能量被吸收损耗。在(1/α)长度上,平面声波的振幅衰减为原来的e分之一。
由此可以看出,频率越高,衰减越大,传播的距离也就越短。但频率太低则不易测准。在30~40 kHz范围内的波长为8~10 mm,可满足测量要求。本系统选用信号载波频率f=40 kHz的超声波测距模块HC-SR04。
HC-SR04有两个编程控制I/O口,分别为TRIG和ECHO,编程实现测距的步骤为:
(1)首先TRIG口高电平触发测距,给出≤10 μs的高电平信号;
(2)TRIG触发后,模块自动发送8个40 kHz的方波,自动检测是否有信号返回;
(3)若有信号返回,则通过ECHO口输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,读出定时计数器时间。测试距离=(高电平时间×声速(340 m/s))/2。
单片机的信号采集与处理会出现延时,通过实验测量,HC-SR04的最小探测距离为2 cm,将4 cm作为车与墙壁的报警提醒距离,则不会出现由于系统误差导致报警距离失效的情况出现。当车与墙壁的距离小于4 cm时,则蜂鸣器发出2 Hz报警声,即单片机将一个2 Hz(高电平持续和间距时间为500 ms)的方波传送给蜂鸣器的使能端,2 Hz方波通过定时器控制产生。
2.3 监控图像的处理
为了产生系统需求的CIF格式(或相近格式)图像且图像颜色信息质量不低于RGB422标准,选择OV2640作为图像采集模块。OV2640是OmniVision公司生产的一颗1/4英寸的CMOS UXGA(1 632×1 232)图像传感器,该传感器体积小、工作电压低,提供单片UXGA摄像头和影像处理器的所有功能,它利用窗缩小方式提供按任何比例缩小的UXGA图像,这里根据显示屏的大小,选用图像大小为400×300、每秒15帧的图像。图像传感器与STM32通过DCMI接口连接,图像数据利用DMA方式采集到内存中。
图像使用高斯最小频移键控(Gaussian Filtered Minimum Shift Keying,GMSK)调制方式,这种方式使信号具有低通效应,所以设计中无需在解调之后加装低通滤波器。系统本身的电器特征会产生高频杂波,对图像产生干扰,使400×300分辨率的图像内产生与原信号不同的噪点,需要用软件编程方式滤除这些噪点从而矫正图像,矫正方式如图1所示。采用均值滤波法修正噪点的颜色信息,即把噪点周围图像的颜色信息相加后求均值,将该均值赋给噪点,从而达到修正图像的目的。
2.4 红外人体感应报警的实现
自然光包含着各种频谱的光,利用菲涅尔透镜从自然光中取出特定区域频谱的光,即人体的红外光,再利用光感探头将筛选出的光转化成电信号并放大,最终将电信号传入单片机内,从而实现红外人体感应。
菲涅尔透镜利用透镜的特殊光学原理,在探测器前方产生一个交替变化的“盲区”和“高灵敏区”,以提高其探测准确度。当有人从菲涅尔透镜前走过时,人体发出的红外线就不断交替,从“盲区”进入“高灵敏区”,这样使得接收到的红外信号以强弱交替的脉冲形式输入,所以只有当带有一定可被探测到的红外光谱的物体或人正在运动时才能被探测到。
本系统选择HR-SR501模块实现红外线人体感应功能。HR-SR501模块由一个菲涅尔透镜和一个德国原装进口LHI778光感探头组成,具有全自动感应、光敏控制、高灵敏度、温度补偿、双触发方式、支持感应封锁时间、工作电压范围宽、微功耗等特点。
HR-SR501有三个端口,分别是两个电源口和一个OUT信号口,当单片机采集到OUT口有上升沿电平时,开启定时器中断并执行中断程序,中断程序内放置蜂鸣器5 Hz声响警报的控制程序。为了区分车主和盗窃者,我们在车库门控制程序处设置了一个状态位OPEN,当OPEN值为1时代表车主正在车库内,此时即使OUT输出上升沿信号,也不会触发警报,只有当OPEN为0且OUT输出信号后才会触发警报。5 Hz警报同样用定时计数器来实现(端口电平变化时间为200 ms)。
2.5 车库门自动开关
为确保车库门打开或关闭时不发生损坏,车库的开关门必须由一个拥有精确转速和旋转距离的电机控制,即需要一个步进电机。为了便于研究,本项目使用小型五线四相步进电机28BYJ-48进行模拟,该电机是一个四端控制一端公共的5V供电步进电机,减速比为1/64,广泛用于教学科研中。嵌入式处理器无法直接驱动这样的高耗能器件,必须为步进电机增加一个稳压且高电流的驱动器。在此選用由LN2003驱动芯片做成的驱动器,LN2003芯片内部结构是8个达林顿管的列阵,达林顿管由两个三极管组成,两个三极管串联。第一个管子的发射极接第2个管子的基极,所以达林顿管的放大倍数是两个三极管放大倍数的乘积,具有很高的放大倍数。集电极开路,能输出较大的电流(集电极电位高)。
步进电机驱动LN2003连接到单片机的引脚有四个,分别对应步进电机的四个控制端,所以控制电机的方式也是这四个端口如何获得电平的方式。这四个端口同时被赋值以控制方向,步进电机的速度由端口两种赋值间的延时时间决定。endprint
车库的开关门设置一个OPEN状态标志位,同时还设置一个ORC(OPEN or CLOSE)状态位,该状态位的值直接取自nRF24L01无线接收数据的第1位,接收的数据来自控制板发送的字串,该字串第一位的值由是否按下开门按钮决定。当按下开门按钮时,车库控制核心辨别nRF24L01接收数据的第一位数据值,为1则开门,并将OPEN设为1;为0则关门,同时将OPEN设为0,从而实现自动门的控制。在开关门程序失效或无线模块不工作的情况下,系统将自动打开电磁锁的继电器,即使控制系统不工作,车主仍可以使用钥匙开关门。
2.6 遥控板
遥控板使用飞思卡尔公司的嵌入式处理器K60作为控制核心,同时,还配置了4个按钮、1个nRF24L01无线模块和1个LCD显示屏。4个按钮分别对应OV2640摄像头的开关、超声波测距警告开关、红外人体感应报警开关、车库门开关。
摄像头开启及其他功能的控制实现与车库门开关所用方式相同,即控制按钮按下后,nRF24L01随即将发送字串的第x位置数,接收端车库控制核心提取接收字串的第x位数值并进行相应控制。显示屏为一块4.0英寸TFTLCD屏,具有亮度好、对比度高、层次感强、颜色鲜艳的特点,控制核心K60通过FSMC(可变静态存储控制器)与其通信。
2.7 系统长时间工作的实现
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序异常而陷入死循环,导致程序的正常运行被打断,由单片机控制的系统无法继续工作,使系统陷入停滞状态,因此要使整个车库系统可靠稳定的工作,就必须用到看门狗电路。看门狗电路在启动正常运行时系统不能复位,在系统陷入死循环的情况下强迫系统复位,程序重新执行。STM32F407单片机内置了两种看门狗电路,一种是独立看门狗,另一种是窗口看门狗。独立看门狗可使系统得到可靠的检查纠错机制,即使在CPU掉电的情况下依旧可工作,但检错时间周期长,精确任务中的细微错误并不能检测出来;窗口看门狗和CPU同时工作,其检错周期可由开发人员根据实际情况任意设置,适合精确任务的判错。智能车库系统中有很多精确且高速的任务(比如超声波测距),所以本系统选择窗口看门狗进行系统检错复位工作。
3 系统测试
3.1 无线通信测试
(1)图像传输正常,其最大传输命令或图像的速度可达1.92Mb/s。
(2)3 m内近距离图像无明显失真;9.4 m内中距离会导致图像噪点增多,且部分图像区域噪点不可抑制,经天线进行增益发射后,噪点可控。
(3)在450 m无建筑物阻挡长远距离测试中,图像失稳,但增高发射天线后,图像可基本保持稳定传输,控制指令略有延迟。
3.2 图像显示测试
在遥控板的图像显示实验中,我们发现屏幕长时间显示后会出现刷新缓慢且图像拼合(上一帧和下一帧部分重合)的情况,改变刷屏方向和供电电压特性后,上述现象消失。
3.3 红外报警测试
菲涅尔透镜广角170°,我们将其设置在3.4 m范围内进行人体探测时,可靠的探测区域面积大约为60 m2,可覆盖探测整个车库。但当有火源、高温物体时,探测结果会出现严重偏差。
3.4 测距防撞报警结论
超声波可实现精确测距,车与墙壁距离在4 cm范围内时,蜂鸣器立即报警。
3.5 开关门结论
(1)车库门的开启和关闭过程精确可靠,步进电机旋转角度准确匀速。
(2)在尚未完全闭合时进行打开操作,系统略有延迟。
(3)将车库主控板上的nRF24L01取下时,车库成功自动给电磁锁上电。
4 结 语
系统虽然总体运行正常,但依旧存在许多问题,有待进一步优化。该系统实现了智能车库的人性化和便捷化,用户在安全性和智能化方面得到了保障,基于无线通信控制的家用智能车库系统开发设计取得了理想的效果。
参考文献
[1]樊昌信.通信原理(第二版)[M].北京:国防工业出版社,2015.
[2]周立功.ARM嵌入式系统基础教程(第二版)[M].北京:北京航空航天大学出版社,2008.
[3]张洋,刘军,严汉宇.原子教你玩STM32 库函数版[M].北京:北京航空航天大学出版社,2013.
[4]张洋.精通STM32F4 库函数版[M].北京:北京航空航天大学出版社,2015.
[5]隋金雪,杨莉,张岩.飞思卡尔杯智能车设计与实例教程[M].北京:电子工业出版社,2014.
[6]胡学龙.数字图像处理[M].北京:电子工业出版社,2006.
[7]卢有亮.基于STM32的嵌入式系统原理与设计[M].北京:机械工业出版社,2014.
[8]张浩,李晓娜.基于RFID技术的城市联网智能停车系统的设計[J]. 物联网技术,2013,3(6):14-15.endprint