发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于超声波的移动物体检测方法,可自主适应环境,检测灵敏度高,误触发率低,盲区小。
为达到以上目的,本发明采取的技术方案是:
一种基于超声波的移动物体检测方法,其特征在于包括以下步骤:
步骤1,处理器控制超声波信号发射器周期性地发射一组超声波信号,该组超声波信号由固定周期的数个~数万个超声波信号组成,所述发射周期为几十毫秒到几秒之间;超声波发射和接收检测是周期性地交替进行的,完成一次发射和接收检测称为一轮,之后进行新一轮的发射和接收检测,并循环进行;
步骤2,处理器每发射完一组超声波信号后,立即对来自检波跟随器的低频信号进行AD模数转换,并把转换结果保存在处理器内存中;
步骤3,每一轮的一组超声波信号的发射时间TF、发射后整个检测处理时间TR、完成一轮发射和检测处理的总时间T以及检测间隔时间T1、T2、T3…TM秒都是对应相等的,此时,若超声波速度为V米/秒、有效检测距离X米、测量点的距离间隔Y1、Y2、Y3…YM米、一轮检测处理共有M次A/D转换,则当超声波发射器和超声波接收器在同一侧时,需考虑物体对超声波的反射时间,各量之间的关系应满足:
…
TR=T1+T2+T3+…+TM,
T=TF+TR,
X=Y1+Y2+Y3+…+YM,
若测量点间距间隔均等,即Y1=Y2=Y3=…=YM=Y时,则有M=X/Y次;
步骤4,在每一检测间隔时间内,处理器均需进行一次A/D转换,因而在M次A/D转换后,得到M个反映环境物体反射强度的字节数据D01、D02、D03、…D0M,测量点的距离间隔依据处理器资源和实际需求进行取值,一般在5厘米~20厘米之间,以上参数在具体的实际应用中都是可以测定的;
步骤5,处理器在获得上述M个字节数据后,将重复步骤1~4的超声波发射驱动和检测转换步骤,并取得另一组M个字节数据D11、D12、D13、…D1M;
步骤6,处理器在取得上述二次发射检测转换数据后,将逐一计算对应测量值差的绝对值δ01=|D11-D01|、δ02=|D12-D02|、δ03=|D13-D03|、…δ0M=|D1M-D0M|;
步骤7,处理器在取得上述对应测量值差的绝对值δ01、δ02、δ03…δ0M后,需要将上一轮的测量D01、D02、D03、…D0M数据对应更改为新一轮的数据D11、D12、D13…D1M,从而实现每一轮发射检测后,自动更新检测转换值;
步骤8,处理器在取得上述对应测量值差的绝对值δ01、δ02、δ03…δ0M后,进一步与程序中设定的一组固定误差数据β1、β2、β3、…βM求和运算,并与内存中的最大对应测量值差即不同测量点的测量变动量δ1、δ2、δ3…δM进行对应比较,当出现以下任一关系式成立时,处理器将判定在检测环境中出现物体移动,并给出物体移动有效信号:
δ01+β1>δ1;
δ02+β2>δ2;
δ03+β3>δ3;
…
δ0M+βM>δM;
否则判定没有出现物体移动,并给出物体移动无效信号,其中固定的误差数据为一组与检测点相关的经验值字节数据。
本发明所述的基于超声波的移动物体检测方法,可自主适应环境,检测灵敏度高,误触发率低,盲区小。与现有技术相比,本发明具有如下优势:
■检测距离远(和传统模式相比,在使用相同的主要元器件条件下,本发明实际检测距离达10米,而传统方法检测距离在5米左右)。
■检测灵敏度高(远距离检测灵敏度稍弱于近距离检测灵敏度,而传统检测方法时远近距离所表现的检测灵敏度有较大变化)。
■检测盲区小,在有效测试距离内几乎全程敏感。
■检测器能自主适应环境(无需手工调节检测灵敏度),使用方便。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本发明给出了一种基于超声波的移动检测器,其硬件结构组成如图1所示,开关电源为智能场景开关提供稳定的低功耗直流电源,超声波信号接收器的输出端连接超声波信号放大器,超声波信号放大器对接收到的超声波信号进行60DB~100DB的放大且放大电路的放大倍数固定不变,超声波信号放大器的输出端连接检波跟随器,检波跟随器用于将已放大的超声波信号进行幅值检波并紧跟射随器输出,检波跟随器的输出端连接处理器,具体地说是将检出的低频模拟信号送处理器的AD模/数输入端,超声波信号发射器的输入端连接处理器。以下为本发明给出的基于超声波的移动检测器的一个具体实施例:开关电源的型号为FDS200。超声波信号接收器的型号为R40-10。超声波信号放大器为由NE5532运放构成的二级交流放大电路。检波跟随器为由TL082运放构成的射极跟随器。超声波信号发射器的型号为T40-10,且配套有逆变器MC14584BG。处理器的型号为STC12C5204AD。
在上述基于超声波的移动检测器的基础上,本发明所述检测方法,包括以下步骤:
步骤1,处理器控制超声波信号发射器周期性地发射一组超声波信号,该组超声波信号由固定周期的数个~数万个超声波信号组成,所述发射周期为几十毫秒到几秒之间;超声波发射和接收检测是周期性地交替进行的,完成一次发射和接收检测称为一轮,之后进行新一轮的发射和接收检测,并循环进行;
步骤2,处理器每发射完一组超声波信号后,立即对来自检波跟随器的低频信号进行AD模数转换,并把转换结果保存在处理器内存中;
步骤3,每一轮的一组超声波信号的发射时间TF、发射后整个检测处理时间TR、完成一轮发射和检测处理的总时间T以及检测间隔时间T1、T2、T3…TM秒都是对应相等的,此时,若超声波速度为V米/秒、有效检测距离X米、测量点的距离间隔Y1、Y2、Y3…YM米、一轮检测处理共有M次A/D转换,则当超声波发射器和超声波接收器在同一侧时,需考虑物体对超声波的反射时间,各量之间的关系应满足:
…
TR=T1+T2+T3+…+TM,
T=TF+TR,
X=Y1+Y2+Y3+…+YM,
若测量点间距间隔均等,即Y1=Y2=Y3=…=YM=Y时,则有M=X/Y次;
步骤4,在每一检测间隔时间内,处理器均需进行一次A/D转换,因而在M次A/D转换后,得到M个反映环境物体反射强度的字节数据D01、D02、D03、…D0M,测量点的距离间隔依据处理器资源和实际需求进行取值,一般在5厘米~20厘米之间,以上参数在具体的实际应用中都是可以测定的;
步骤5,处理器在获得上述M个字节数据后,将重复步骤1~4的超声波发射驱动和检测转换步骤,并取得另一组M个字节数据D11、D12、D13、…D1M;
步骤6,处理器在取得上述二次发射检测转换数据后,将逐一计算对应测量值差的绝对值δ01=|D11-D01|、δ02=|D12-D02|、δ03=|D13-D03|、…δ0M=|D1M-D0M |;
步骤7,处理器在取得上述对应测量值差的绝对值δ01、δ02、δ03…δ0M后,需要将上一轮的测量D01、D02、D03、…D0M数据对应更改为新一轮的数据D11、D12、D13…D1M,从而实现每一轮发射检测后,自动更新检测转换值;
步骤8,处理器在取得上述对应测量值差的绝对值δ01、δ02、δ03…δ0M后,进一步与程序中设定的一组固定误差数据β1、β2、β3、…βM求和运算,并与内存中的最大对应测量值差即不同测量点的测量变动量δ1、δ2、δ3…δM进行对应比较,当出现以下任一关系式成立时,处理器将判定在检测环境中出现物体移动,并给出物体移动有效信号:
δ01+β1>δ1;
δ02+β2>δ2;
δ03+β3>δ3;
…
δ0M+βM>δM;
否则判定没有出现物体移动,并给出物体移动无效信号,其中固定的误差数据为一组与检测点相关的经验值字节数据。
上述方案中,所述处理器内存中的不同测量点的测量变动量(δ1、δ2、δ3…δM)由检测器自主学习完成,并非处理器程序固定设置。在检测器上电开始后,检测器进入自主学习阶段,此时内存中的最大对应测量值差初值均为零值,在完成二轮发射接收处理后,将取得对应测量值差的绝对值(δ01、δ02、δ03…δ0M)然后用该绝对值取代当前最大对应测量值差(δ1、δ2、δ3…δM);在完成第三轮发射接收处理后,将取得对应测量值差的绝对值(δ11、δ12、δ13…δ1M),然后将该绝对值与当前测量值差的绝对值进行对应比较,即δ11与δ1比较、δ12与δ2比较、…δ1M与δM比较,然后将比较取得的大值取代当前最大对应测量值差即不同测量点的测量变动量(δ1、δ2、δ3…δM),依次类推,检测器程序在运行约一段时间后(约一分钟,60/T轮),将自主学习到环境物体反射的最大变动情况,最大对应测量值差会因不同的环境而得到不同的值。此后检测器将自动转入正常的检测阶段,该阶段将以学习阶段所取得的不同测量点的测量变动量(δ1、δ2、δ3…δM)为基准,完成上述的每轮测量比较。
本发明所述检测方法采取的技术方案是:采用超声波周期性断续发射技术、固定的高放大倍数对超声波检测信号进行放大、自主收集处理环境物体反射信息并确立不同测量点的测量变动量、间距式多点测量变动量比较方法。
本发明中,超声波信号发射并非连续发射,而是周期性地发射一组超声波信号,该组超声波信号应由固定周期的数个~数万个超声波信号组成,发射周期设定在几十毫秒到几秒之间。超声波周期性断续发射可以有效地避免发射元件和接收元件在距离过近时造成较大盲区的现象,并提高检测灵敏度;为保证能正确检测物体移动,每一轮的超声波发射强度应保持一致。
本发明中,超声波信号放大器的采用固定的放大倍数是本发明所固有的基本要求,变动的放大倍数将会导致处理器A/D检测结果出现变化,造成误触发现象。较高的放大倍数可以有效提高检测距离,来自远处的微弱反射信号只有通过较高放大倍数的放大才能被检出。
自主收集环境物体反射信息得益于处理器及程序控制,检测器在上电后一段时间(如10秒)内,要求安装人员离开现场,然后检测器进入自主学习阶段和并计算出各测量点的最大测量值差,也即不同测量点的测量变动量,检测器的学习阶段约需50秒左右时间,学习结束后,检测器将进入正常的检测工作阶段。
间距式多点测量变动量比较方法是本发明所特有的方法,该方法采用了每轮的多点测量、相邻轮对应点变化量比较方式,而非传统的固定电平比较方式。多点测量比较方式,实际上是对不同距离的物体的反射强度进行独立的测量,并在相邻轮中进行比较,它允许同一测量点在不同轮中测得不同的强度值;以测量点1为例,当在相邻轮测得的反射强度有较大差异时(如δ01+β1>δ1),处理器判断检测区内存在物体移动,就这意味着即使测量点出现一定的强度值变化,但只要相邻轮测量值不满足δ01+β1>δ1,就不会出现判断移动检测有效。这就说明本方法的检测对测量点的反射强度表现并不敏感,而是对相邻轮测量值之差表现敏感。而传统的固定电平比较方式,只对测得的反射强度表现敏感,一旦测得的反射强度值超过或低于所设定的固定触发电平,就认为移动检测有效,所以在特定条件下如因物体位置因素导致反射强度一直在固定电平附近时,传统检测方法就很容易出现误触发的现象,而本发明的检测方法却不存在此问题。
以下以图4作为一具体实施例对本发明作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例描述了在一个13X8X3立方米的房间中应用本发明的智能开关来控制室内照明。智能开关安装在房间短边墙面高约1.2米的位置上。该智能开关的硬件电路主要元器件如下表所示:
主要元件型号 |
功能 |
T40-10 |
超声波信号发射器 |
R40-10 |
超声波信号接收器 |
MC14584BG |
超声波信号发射驱动芯片 |
NE5532 |
超声波信号放大器 |
TL082 |
检波跟随器 |
STC12C5204AD |
处理器 |
FDS200 |
开关电源 |
其中STC12C5204AD为增强型8051内核单片机,且自带4KB FLASH和8位A/D转换,为了使产品小型化,选用了LQFP32封装。处理器在进入T1中断程序后,将启动时钟输出并周期性地输出一组频率为40KHZ的方波,经三极管驱动后送往超声波发射芯片MC14584BG并最终驱动发射元件T40-10周期性地发射断续的超声波信号,其中发射时间约为150毫秒,发射间隔时间约为75毫秒。
超声波接收元件R40-10将接收到的超声波信号送往由NE5532运放构成的二级交流放大电路进行信号放大,放大器总增益约为65DB,放大后的信号再经二极管的幅值检和电容波滤波后得到一个频率较低的低频信号,该低频信号真实反映了室内物体对超声波的反射情况,最后经TL082运放构成的射极跟随器输出送入处理器的A/D输入端,由处理器对该低频信号进行A/D转换及数据比较分析,其中处理器的A/D转换及数据比较分析均在发射间隔时期内完成,约需65毫秒时间,完成后在退出T1定时中断之前,重新启动T1定时中断,该定时时间为10毫秒,上述二个时间的和刚好为发射间隔时间。
为保证检测灵敏度,在处理器内存资源允许的情况下,可安排约80次A/D测量(约每14厘米检测一次)。在完成所有点的A/D测量之后,处理器程序将再次控制发射超声波并A/D检测反射波,这样将得到前后二个周期的超声波反射信号幅值数据,然后控制程序对这二组数据进行对应比较,当出现幅值变化超出学习阶段所取得的阈值时,处理器程序判断检测到有人体动作出现。
如图2所示软件主程序流程图,当智能开关上电后,处理器首先进行初始化程序设置,然后接通负载并延时10秒,提醒用户离开检测区,以便智能开关能正确识别其所检测的环境,在此称为智能开关的自主学习阶段。接着启动T1中断程序,T1中断程序主要完成超声波的发射、A/D检测以及各项控制工作。一轮的超声波发射和接收时间约为225毫秒,按中断次数255次计算,也即进行了255轮的超声波发射和接收,学习阶段约需50秒时间。该阶段的目的是让智能开关能自主适应其所处环境以取得正常检测中所需的各个测量点的测量变动量(δ1、δ2、δ3…δ80)。自主学习阶段完成后,最后进入主循环执行程序,该程序主要完成对开关组件的自动识别以及负载的打开和关断处理。
为使智能开关能主动适应环境处理器程序在比较完以上二组数据后,会将后一周期的检测数据替换掉前一周期的检测数据,以便再与下一周期的检测数据进行比较。实际运用中,为保证超声检测灵敏度,前后周期检测间隔不能设置过小或过大,一般设在100~300毫秒左右。
如图3所示T1定时中断程序流程图,在进入T1中断程序后,首先开启处理器时钟的40KHZ输出,然后延时150毫秒,接着关闭40KHZ时钟输出,初步完成了超声波的周期性断续发射。超声波发射完成后,程序将判断T1的中断次数是否小于255,若是则运行80次A/D转换并比较取得测试变动量,实际上已进入了自主学习阶段。若T1中断次数已到255次,表示自主学习阶段结束,接下来要进行的是正常的检测程序,此时将以自主学习阶段所取得的测量变动量为域值进行比较。为确保实现超声波周期性断续发射,期间要保证超声波发射间隔及检测间隔均匀,必须做到每个周期处理低频信号所花去的时间一致且周期内的A/D检测时间间隔也应对应相等。
智能开关中使用了开关电源技术,开关电源的优势在于电源效率高、自身功耗低、能提供多种直流电压、性能稳定、体积小等。它为智能开关各部分电路提供优质电源保证。
智能开关中使用了工作方式自动侦测技术,处理器通过对开关组件状态的监测,确定自身工作方式。智能开关在不同的工作模式中,通过对人体动作的有效检测,达到控制照明负载通和断的目的。通过设置方式开关组件,将智能开关的工作模式设置在人工方式位置,此时若是人工通过按下开关组件关断照明负载,则将保持关断一段时间(如5分钟),在这段时间后,将自动进入自动模式,这样可防止负载在故意关断后又自动打开;若是人工通过按下开关组件打开照明负载,将使智能开关进入自动模式。
设置方式开关组件,将智能开关的工作模式设置在自动方式位置,此时在光照检测较暗时,若检测到人体动作,智能开关将自动打开照明负载,且一直保持负载为打开状态,若在设置的延时时间内未检测到人体动作,将自动关断负载。在延时期间内,智能开关仍会继续监测是否有人体动作,其监测周期约为5秒,如果在延时期间内检测到人体动作,则智能开关会自动顺延延时时间(按此次检测为起始来计算)。
设置方式开关组件,将智能开关的工作模式设置在通过方式位置,此时在光照检测较暗时,若检测到人体动作,智能开关将自动打开照明负载,且在一个较短的延时时间(如3分钟)后将负载关断。若在延时期内检测到人体动作,则按所设定的延时时间关断负载。智能开关安装在过道时,适合使用此模式。