当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]这个项目最初只是一个简单的实验,属于那种你只想快速测试一个想法并看看它是否可行的类型,但在某个阶段它逐渐发展成了一个完整的系统,其中包括射频追踪、实时可视化、定制硬件,最终……还有一架无人机。

这个项目最初只是一个简单的实验,属于那种你只想快速测试一个想法并看看它是否可行的类型,但在某个阶段它逐渐发展成了一个完整的系统,其中包括射频追踪、实时可视化、定制硬件,最终……还有一架无人机。

最初的目标很简单明了:

利用 ESP32 构建一个尽可能经济实惠的室内定位系统。

无需昂贵的模块。无需复杂的设置。只需信号强度……以及好奇心即可。

它奏效了。但结果却并非如我所料。

理念——无需 GPS 的室内定位技术

室内定位是这样一种问题:在你真正着手解决它之前,它看起来似乎很简单,但一旦 GPS 出现故障,你就不得不依靠那些往往存在噪声、不一致且严重依赖环境因素的间接测量方法了。

我没有选择采用像超宽带技术或视觉追踪这样的高端解决方案,而是决定先从一些基础的东西入手:

BLE RSSI(接收信号强度指示)

从总体上看,这个想法很简单:

•强烈的信号 → 更近的

•微弱信号 → 更远距离

但在实际情况中,信号强度会受到以下因素的影响:

•墙壁

•物体

•干扰

•反思

这意味着你并非在精确测量距离……而是在对其进行估算。

系统架构——保持简洁,但内容完备

我并非想要构建一个简单的演示版本,而是希望打造一个真正实用的系统。因此,我将其拆分为三个主要组成部分,它们能够实时进行信息交流,并且各自负责流程中的特定环节。

标签(ESP32)

这就是正在被追踪的设备,其唯一的任务就是持续发射蓝牙低功耗信号,以便其他设备能够探测到它。

锚点(ESP32)

这些是设置在环境周围的固定节点,它们会持续扫描标签,测量接收信号强度指示(RSSI),并将这些数据通过无线网络发送至中央服务器。

•固定位置

•持续扫描

•实时数据传输

服务器 + 网页界面

在后台,一个 Python 服务器会从所有锚点收集 RSSI 值,并对其进行处理以估算位置,而一个网页界面则会实时展示所有信息。

•数据收集

•信号处理

•实时可视化

为何使用三个锚点?

要在二维空间中确定一个位置,至少需要三个参考点。因为每个锚点都能为您提供一个大致的距离估计值,而将这些估计值结合起来就能大致确定标签所处的位置。

•1 个锚点 → 无位置

•2个锚点 → “含义模糊”

•3 个锚点 → 可用的估算值

锚点越多 = 准确度越高。

测试——当感觉开始变得真实时

一旦所有配置完成,所有锚点都连接到同一网络,服务器也已运行,这个系统就会变得具有交互性,这种交互性除非亲眼目睹其运行状态,否则很难理解。

您在地图上放置锚点,确定其位置,然后过几秒钟:

一个绿色的圆点出现了。

然后你移动标签。

•这个点随后出现

•它发抖了

•它会自行修正。

并非完美无缺,但依然活着。

RSSI 现实——处处充斥着噪音

这就引出了有趣的部分,因为接收信号强度指示(RSSI)并非一种精确的测量值,而且你越是依赖它,就越会意识到射频环境其实有多么难以预测。

•突然的移动位置

•静止时会漂移

•不一致的读数

为解决这一问题,我增加了校准环节:

•测量已知距离

•采集多个样本

•建立信号模型

这确实有帮助。但它并不能消除噪音。

转折点

在这个阶段,系统是能够正常运行的,但感觉它更像是一个受控制的演示版本,而非具有动态性的实际产品。就在那时,一个简单的想法彻底改变了整个项目的方向。

要是我正在追踪的东西并非在我手中……而是自行移动的呢?

速度更快。更难以预测。

所以我决定把标签贴在可以移动的东西上。

而就是从那时起,事情开始变得越来越严重了。

硬件——简约设计,实际限制因素

ESP32 — 主控制器

•控制逻辑

•交流;沟通

•传感器处理

MPU6050 — 稳定功能

•陀螺仪数据

•加速度数据

SI2302 金属氧化物半导体场效应晶体管——电机驱动器

•大电流切换

•脉宽调制控制

电力系统

•TP4056 → 电池充电

•LF33 → 电压调节

CP2102 — 通信

•编程

•调试

控制系统——从痛苦到可用性

版本 1 — 串行控制

输入数值以控制电机。它能运行……但并不实用。

版本 2 — 网络控制器

我直接在 ESP32 上搭建了一个网络服务器,这样我就能通过浏览器来控制无人机了。

•手机或笔记本电脑控制

•无需安装任何应用程序

•实时互动

飞行测试——理论的破灭之处

问题

•电池太重了

•电量不足

结果:没有提升。

经验教训

接收信号强度指示(RSSI)是有效的,但它存在误差。

校准至关重要

电力系统规定了硬件的使用限制。

软件部分相对简单一些

一边建造,一边调试,又一边试飞,这简直是一团乱麻。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭