1、基于超声波定位系统的设计摘 要介绍一种以 Atmegal128 单片机为微处理器的超声波定位系统,多个定位节点组成定位网络,主节点处于定位网络中就可以得到在定位系统中的坐标位置。采用无线电波和超声波发射接收技术,超声波定位技术的研究,对于小空间、小范围的定位技术有很广阔的前景,可以大幅节省成本,非常适用于智能家居等类似行业。 关键词超声波 定位系统 无线电波 智能家居 中图分类号:TM121.1.3 文献标识码:B 文章编号:1009-914X(2015)25-0012-02 引言 现在无线电定位技术已经得到了很广泛的应用,但是无线电定位技术对于某些小距离、小范围的定位显得有些大材小用,换句话
2、说就是有些浪费成本。超声波传输距离远,传输速度相对于无线电小的多,对于处理器的速度要求及处理精度并不是很高,需要运算的数据量远小于无线电波,运算的速度要求也小于处理器去处理光电信号的速度要求,所以在小空间、小范围的定位中,超声波定位具有很大的优势,可以大幅节省硬件成本,减少 CPU 的运算工作量,对于智能家居等类似的行业具有很好的开发前景。 1.定位原理 无线电定位是通过各个定位点的无线电波频率来识别各个定位点的,从而获取定位点的坐标信息,参考无线电的定位原理,超声波的定位原理与无线电定位类似,主节点发出位置获取信号,定位节点一旦收到就将自己的信息信号发出。如图 1,节点 P(x,y,z) 表
3、示需要定位的人或物,节点 A、B、C 构成定位系统的参考网络,由 A、B、C 发出的超声波到达节点 B 的时间可以得到 PA、PB、PC 三条线段的距离即主节点到三个定位结点间的距离。 由图中几何关系可以得到 , (T 为环境摄氏温度) 然而在实际的系统中,由于超声波在空气中的传播速度会衰减,传输距离有限,而且容易受到障碍物的影响,三个定位节点可能远远不够的,可能会出现盲区,即定位节点发出的超声波可能达不到或者可以达到的节点不够 3 个,这时算出的坐标位置可能就会出错,为了避免类似情况的发生,为保证定位精度更加准确,活动范围更广,可以使用较多的定位点,呈矩阵状合理分布,同时每个定位点有自己的位
4、置坐标,主节点只要测得三个不同节点的距离,就可以计算出主节点在系统中的坐标。为了减小误差,定位的高度及定位点间的距离应该经过反复测试,以得到最佳的高度及间距。 2 系统组成方案及硬件实现 系统组成如图 2 所示,整个系统主要由主节点、PC 上位机及若干个定位节点组成。其中,主节点及定位节点主要由微处理机系统、无线电收发电路、超声波接收电路或超声波发射电路组成。 2.1 微处理机系统 微处理机选用 Atmegal16 单片机,它有 16K 字节的系统内可编程Flash(具有同时读写的能力,即 RWW) ,512 字节 EEPROM,1K 字节SRAM,32 个通用 I/O 口线,是高性能低功耗的
5、 8 位单片机。 2.2 超声波发射电路 超声波发射电路是定位节点的主要功能模块,主要用来向主节点发送超声波,主节点依据超声波传来的时间来计算出主节点与点位节点间的距离。 2.3 超声波接收电路 超声波接收电路是主节点的主要功能模块,主要用来接收定位节点发来的超声波。 2.4 无线电发射接收电路 无线电发射模块采用的芯片是 NRF24L01,主节点上的无线发射模块主要由两个功能:第一个功能是依次向各个节点发射带地址编码无线信号,一旦有定位节点接收到主节点发射来的对应自己编码的无线电信号,该定位节点会将自己的地址编码立即反馈给主节点,同时定位节点向主节点发射超声波信号,主节点一旦收到定位节点发来
6、的反馈信号就立即开启定时器定时,在设定时间范围内如果收到该节点发来的超声波信号,通过声速与时间的乘积就可以得到主节点与此结点间的距离,一旦主节点得到三个不同定位节点间的距离,然后依据定位节点的地址编码来获取这三个定位节点的位置坐标,依据前面推导的类似的公式就可以得到主节点的坐标位置;第二个功能是向连有 PC 机的节点发送坐标位置数据以供 PC 机实时显示坐标位置。定位节点的无线发射模块主要用来接收主节点的无线信号,一旦接收到主节点的无线信号就将自己的编码迅速的反馈给主节点,以通知主节点进行计时。 3 系统控制软件组成 3.1 主节点软件设计 主节点程序设计流程如图 3,初始化的过程主要包括数据
7、初始化,寄存器配置初始化,及系统硬件的自检过程。主结点的软件设计主要功能有:1.能够识别定位节点的坐标位置;2.实现捕获超声波传输时间的精准计时;3.通过相对距离及坐标位置的几何关系计算出主节点的坐标位置;4.对位置坐标结果进行数字化滤波处理,减小误差。 3.2 定位节点软件设计 定位节点程序设计流程如图 4,定位节点功能相对简单,主要是提供节点坐标位置,提醒主节点进行开始计时等。 3.3 数字滤波处理技术 由于超声波本身的传输衰减性,外界物体的干扰,以及硬件本身设计上的种种不足,所得到的坐标位置结果会不可避免的存在误差,不仅能够很好的处理数据结果,大幅度减小误差,还可以减小硬件上的投入,节省
8、成本。数字滤波处理技术,有很多种,而且各有特点。单一的方法很难实现精准的滤波,多种滤波方式结合起来使用会有很好的滤波效果。这里选用的滤波方式主要有:限幅滤波法,中位置滤波法、算术滤波法平均滤波法。如图 4,当主节点以一个三角形移动时经过滤波处理后 PC机显示的主节点位置坐标信息,误差基本上能够满足要求。 4 结束语 经过硬件参数的反复调整实验,以及各种滤波处理,可以将主节点的定位误差控制在 510cm 以内,单点对单点的定位误差控制在 1cm,控件可以在 5 立方米以内。系统的不足还有很多,定位系统坐标还需合理优化,位置精度还不够精确,硬件设计还需反复测试优化。 参考文献 1 马玉秋.基于无线
9、传感器网络的定位技术研究与实现学位论文.北京.北京邮电大学.2006. 2 华虎.普适计算室内定位算法研究学位论文.上海:东华大学.2006. 3 华蕊等.国外电子测量技术.2009 年第 6 期 4 韩刚. 基于无线电和超声波的室内定位技术响应时间的研究学位论文.哈尔滨.哈?滨工业大学.2009 5 胡建恺,张谦琳.超声检测原理和方法M.合肥:中国科学技术大学出版社,1993.23-25. 6 任丰原,黄海 T,林闯. 无线传感器网络J.软件学报,2003, (10):1-6. (基金项目:天津职业技术师范大学校级项目 KJ14-12) (基金项目:GJ201408) 作者简介: 孙建新,男,1988.6.25,天津职业技术师范大学硕士研究生。