基于超声波的室内定位系统设计
Design of Indoor Positioning System Based on Ultrasonic
DOI: 10.12677/jsta.2024.124065, PDF, HTML, XML,   
作者: 尚润钊, 林书乐, 刁楚涵, 付山峰, 陈敏杰*:山西大学物理电子工程学院,山西 太原
关键词: 超声波STM32室内定位Ultrasonic STM32 Indoor Positioning
摘要: 在信息时代,随着物联网和移动通信技术的飞速发展,室内定位在一些常见的应用场景,比如大型工厂、大型购物中心等对位置服务有较高要求的的场所中发挥了重要作用。本文以STM32为主控芯片,加载超声波测距、TPS5430、DS18B20、OLED屏等模块设计了一款室内定位系统,该系统能够测得待定位目标的方位和距离,自动接收、采集、处理和显示信号。测量结果表明,在同一温度下距离探测误差小于2%。部分超声波室内定位系统,将三个超声波接收端固定在三个不同的方位上,无法随意改换位置且相距较远,通信干扰较大,对硬件的要求高,只能应用在一个较大的无遮挡场地。本系统则将三个超声波接收端集成在一个装置上,方便搭载在室内机器人、送餐小车等设备上可以任意改换位置进行定位。
Abstract: In the information age, with the rapid development of the Internet of Things and mobile communication technology, indoor positioning plays an important role in some common application scenarios, such as large factories, large shopping centers and other places with high requirements for location services. In this paper, an indoor positioning system is designed with STM32 as the main controller chip, loaded with ultrasonic ranging, TPS5430, DS18B20, OLED screen and other modules, which is able to measure the bearing and distance of the target to be located, and automatically receive, collect, process and display the signals. Measurement results show that the distance detection error is less than 2% at the same temperature. Some of the ultrasonic indoor positioning systems fix the three ultrasonic receivers in three different orientations, which cannot be changed at will and the communication interference is greater when they are far away from each other, which requires high hardware and can only be applied in a large and unobstructed site. This system integrates the three ultrasonic receivers into one device, which is convenient to be mounted on indoor robots, delivery trolleys, and other equipment, and can be arbitrarily changed for positioning.
文章引用:尚润钊, 林书乐, 刁楚涵, 付山峰, 陈敏杰. 基于超声波的室内定位系统设计[J]. 传感器技术与应用, 2024, 12(4): 600-609. https://doi.org/10.12677/jsta.2024.124065

1. 引言

在当今人们的生活中,定位技术无处不在。在室外,人们通过GPS、北斗等室外定位技术来获得准确位置信息,实现汽车、人员导航。而近几年,随着物联网产业的发展,室内定位也逐渐成为刚需,尤其对于室内机器人应用来讲,首要解决的问题就是机器人的定位问题。目前常见的室内移动机器人定位技术有光跟踪定位技术、蓝牙定位技术、RFID定位技术、WiFi定位技术等。其中光跟踪技术要求探测器和跟踪目标之间可视,故而光跟踪技术的应用受限;蓝牙技术所需的设备体积小,易于集成在PDA、PC以及手机中,但它在复杂的环境中稳定性差,覆盖范围小;RFID定位技术即射频识别技术,是一种无需直接接触的识别技术,具有非视距传输、识别速度快等特点,但是其通信能力较弱,定位误差大,系统部署复杂,容易受到环境影响等;WiFi定位可以实现复杂的大范围定位,方便组网,很容易架设在现有的无线WiFi网络,但WiFi定位存在同频干扰问题,系统会相互影响[1]。而超声波定位系统具有定位精度高、搭建难度低和成本低的优点,广泛应用于室内定位[2]

2. 超声波室内定位算法

本系统的测量原理:搭载超声波发射端的待定位目标发射超声波时,安装在半圆形板的三个超声波接收端接收到这个超声波信号,测出三个接收端接收到同一信号的时间差,通过计算就可得出本系统与待定位目标的距离与方位角。

室内定位原理图如图1所示,在图1中N1,N2,N3为超声波接收端的编号,M为待定位物体,hl1为半圆形板的半径,l2为超声波接收端N1与N2的距离,L为待定位目标物体与中心O之间的距离,αl2d2的夹角,βl2l1的夹角,γl1L的夹角。

设超声波在空气中的传播速度为c,角度θ = α + β,搭载超声波发射端的待定位目标发射一个超声波脉冲,同时接收端STM32启动定时,每个超声波接收端的接收时间为ti (i超声波接收端的编号)。其信号时序图如图2所示。

利用STM32单个定时器捕获多个通道测出三个接收端接收到同一信号的时间差可得待定位目标与超声波模块之间的距离差为

Figure 1. Schematic diagram of ultrasonic positioning

1. 超声波定位原理图

Figure 2. Timing diagram

2. 时序图

{ d 2 d 1 =c( t 2 t 1 ) d 2 d 3 =c( t 2 t 3 ) d 3 d 1 =c( t 3 t 1 ) (1)

在三角形OMN2中假设三条边已知,则

cos( θ )= ( 2 l 1 ) 2 + d 2 2 d 3 2 4 l 1 d 2 (2)

在三角形MN2N3中假设三条边已知,则

cos( π/4 θ )= d 2 2 + l 2 2 d 1 2 2 l 2 d 2 (3)

联立方程(1)~(3)即可求得d1d2d3θ

所以,αβ表示为

β=arctan h l 1 (4)

α=arccos( l 2 2 + d 2 2 d 1 2 2 l 2 d 2 ) (5)

因此可求得目标基站与中心点O间的距离L和方位角γ

L= l 1 2 + d 2 2 2 l 1 d 2 cos( α+β ) (6)

γ=arccos( L 2 + l 1 2 d 2 2 2L l 1 ) (7)

3. 系统总体框架

本系统的总体设计如下,图3为本系统的框架图,陈述了本系统的整体结构和各个模块之间的关系。图4为该系统从上俯视的3D视图,为本系统的具体硬件布局。

Figure 3. Overall architecture of indoor positioning system

3. 室内定位系统总体架构

Figure 4. 3D diagram of indoor positioning system

4. 室内定位系统3D图

4. 设计

4.1. 降压电路

Figure 5. TPS5430 step-down circuit diagram

5. TPS5430降压电路图

图5中,为了满足STM32的3.3 V供电,将较高的输入电压降低,选择TPS5430 DC/DC开关电源转换芯片。TPS5430的电压输入范围为5.5~36 V;输出电流为3 A (峰值4 A);电压输出范围最低可以调整降到1.221 V;转换效率最佳状态可达95%,具有开关使能脚、过流保护和热关断功能[3]。TPS5430降压电路的输出电压由VSENSE脚的电阻(R1、R2)决定。为了满足STM32的电压需求,使得降压电路输出电压为3.3 V,当参考电压为1.221 V,R1为8.2 kΩ时,可确定R2为4.7 kΩ。

4.2. 超声波测距模块

Figure 6. Circuit diagram of ultrasonic ranging module

6. 超声波测距模块电路图

图6,超声波测距模块选用RCWL-1605超声波模块,该模块支持GPIO,UART,IIC和1-WIRE四种输出模式,本文中采用GPIO模式,当STM32给超声波模块Trig脚一个大于10 uS的高电平脉冲,模块会给出一个与距离等比的高电平脉冲信号,具体操作为超声波测距模块收到单片机的RX信号线的有效触发信号后,通过捕获中断服务程序捕获TX口的超声波测距的脉冲信号[4]。可根据脉宽时间“T”算出:距离 = T × C/2 (C为声速)。空气中声速与温度的关系可以表示为:C = 331.45 + 0.607T式中,T为环境温度,单位℃;C为超声波传播速度,单位m/s。为了校准超声波在空气中的传播速度,提高测距精度,本文在超声波发射端配置了DS18B20温度传感器[5]

4.3. 温度测控

Figure 7. DS18B20 module circuit diagram

7. DS18B20模块电路图

图7中,DS18B20具有体积小,硬件开销低,抗干扰能力强,精度高的特点,可用来进行高精度的单总线数字温度测量。DS18B30温度转换的结果以二进制补码的形式存放在DS18B20的内存中,分辨率为12位的转换结果存放在2个字节的内存单元中,最高5位为符号位,其余11位为数值位。STM32读取温度数据时,先读低字节,再读高字节,然后拼接2个字节的数据。在本文中STM32读取的温度值为正值,将测得的数值乘以0.0625就可得到实际的温度值[6]

4.4. 最小系统电路

Figure 8. Minimum system circuit diagram

8. 最小系统电路图

图8中,STM32单片机最小系统电路由单片机、晶振电路、复位电路组成,STM32具有脚对脚、外设及软件的高度兼容性和很好的灵活性,易于将应用升级到不同存储空间或不同封装的平台。STM32的产品全系列兼容使得项目之间的代码重用和移植很方便[7]。在本文中STM32每隔10 s向超声波发送模块发送一个大于10 uS的高电平脉冲;STM32对三个超声波测距模块接收到的信号进行同步输入捕获,测得三个信号的时间差,通过算法计算出目标距离和方位角。

5. 程序流程图

本系统的程序流程如图9所示,图9中左图为超声波发射端的STM32程序流程,右图为超声波接收端的STM32程序流程。

Figure 9. Program flow chart

9. 程序流程图

6. 现场测试

图10图11是室内定位系统主板的图片,其上搭载3个超声波接收模块,1个OLED用来显示测量结果,图12是本次实验的现场测试图,右上角为待测目标,左下角为该室内定位系统主板。

Figure 10. Top view of the object

10. 实物俯视图

Figure 11. Side view of the object

11. 实物侧视图

Figure 12. Side view of the scene

12. 现场测试图

7. 测试结果

表1所示,现场测试了18组数据,测量结果表明在方圆5m的范围内,测量距离的误差不超过3 cm,测量方位角的误差小于4˚,满足定位要求。

Table 1. Measurement results

1. 测量结果

序号

温度(℃)

距离(m)

实际距离(m)

方位角(˚)

实际方位角(˚)

1

16.0

1.00

1.00

60.0

60.0

2

16.0

1.01

1.00

120.6

120.0

3

16.0

1.99

2.00

59.3

60.0

4

16.0

2.00

2.00

120.0

120.0

5

16.0

4.99

5.00

59.4

60.0

6

16.0

4.99

5.00

119.3

120.0

7

20.2

1.01

1.00

60.5

60.0

8

20.2

0.99

1.00

119.2

120.0

9

20.2

1.99

2.00

59.3

60.0

10

20.2

1.98

2.00

118.1

120.0

11

20.2

4.98

5.00

58.2

60.0

12

20.2

4.98

5.00

118.4

120.0

13

24.5

0.97

1.00

57.6

60.0

14

24.5

0.98

1.00

118.5

120.0

15

24.5

1.98

2.00

58.4

60.0

16

24.5

1.97

2.00

117.3

120.0

17

24.5

4.97

5.00

56.9

60.0

18

24.5

4.97

5.00

117.4

120.0

8. 结论

本文设计了一种基于超声波的室内定位系统,以STM32F103C8T6单片机为控制核心,通过半圆形板的三个超声波接收端来检测中心点O与待测目标的距离与方位。整个设计方案的原理在文中做了详细地介绍,并说明了超声波室内定位的优势,在室内环境下对该系统进行了测试,测试结果表明在方圆5 m的室内定位距离的精度为3 cm,目标方位角的测量角误差小于4˚,也验证了该算法进行室内定位的有效性和精确性。与部分超声波室内定位系统相比,本系统的优势在于将所有模块集成在一个装置上,使其能搭载在室内机器人、小车等设备上,可以随意移动至任何室内环境的位置进行检测和定位,使用灵活方便。

NOTES

*通讯作者。

参考文献

[1] 吴修振, 冯慧凤, 孙烨, 等. 一种基于声波信号的室内定位方法[J]. 舰船电子工程, 2024, 44(1): 44-47.
[2] 李金奎. 基于超声波时差法定位系统设计[J]. 自动化应用, 2022(10): 11-14.
[3] 谢九江. 基于TPS5430的DC-DC变换器设计[J]. 电脑知识与技术, 2017, 13(4): 239-240.
[4] 谢晓钟, 夏滨. 单片机捕获超声波测距模块脉冲信号的设计[J]. 机电技术, 2023(3): 22-24+29.
[5] 孙啸辰, 王韦刚, 许晨东, 等. 一种高精度超声波定位系统设计与实现[J]. 电子设计工程, 2023, 31(1): 167-171.
[6] 杨宇. 基于单片机和DS18B20的温度监控系统设计[J]. 有色金属设计, 2022, 49(2): 66-69.
[7] 陈峰峰, 胡毅, 许艳. STM32F10x在应用中编程的实现方法[J]. 单片机与嵌入式系统应用, 2009(9): 25-27+31.