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

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

最初的目标很简单明了:

利用 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 )。
换一批
延伸阅读

一个由 NeoPixel 16 个 LED 组成的环形灯带以及 ESP32 控制器,被封装在一块由激光切割而成的亚克力材质外壳中,可通过移动设备上的 Blynk 应用程序进行控制。

关键字: LED BlynkIOT ESP32

ESP32凭借其双核Xtensa LX6架构,成为高性价比的IoT首选。但在FreeRTOS下,如何避免双核“打架”,并高效地进行核间通信(IPC),是性能优化的关键。本文将直击实战痛点。

关键字: ESP32 双核编程 FreeRTOS

无人机高速飞行时,电机控制面临一个根本性的物理约束:电源电压是有限的。当反电动势随转速升高而逼近母线电压时,控制器输出电压达到饱和,电流调节器失控,电机转速无法继续提升。这个电压极限就是无人机的速度天花板。弱磁控制通过主...

关键字: 弱磁控制 无人机

无人机电机控制的背后,是一套优雅的数学变换体系。三相静止坐标系下的正弦电流,经过Clark变换投影到两相静止坐标系,再经过Park变换旋转到两相旋转坐标系,变成直流量进行PID调节;调节后的电压指令再经过逆Park变换和...

关键字: 无人机 FOC算法

无人机电机控制系统中,磁场定向控制的最后一级是SVPWM调制。它将控制算法输出的电压矢量转换为三相逆变器的占空比信号。在这个环节,七段式和五段式两种调制策略长期并存,各自拥有坚定的拥趸。七段式拥护者强调其电流谐波低、转矩...

关键字: 无人机 FOC

采用超高真空密封加固设计,提升隔热性能,实现高稳定性与优异射频性能

关键字: 晶体振荡器 射频 GPS

该项目推出了一款基于 ESP32 微控制器和 LAN8720A 以太网 PHY 的紧凑型、低功耗的 Modbus RTU 至以太网/ Wi-Fi 的网关。

关键字: 以太网 网关 ESP32 LAN8720A

UPI 已成为印度最受欢迎的支付方式。如果任何企业想要采用智能解决方案,那么就必须实现与 UPI 的对接。这种支付系统使用起来非常简便,我们是通过 ESP32 进行集成的,而二维码则显示在小屏幕上。这种解决方案可用于任何...

关键字: UPI ESP32 微控制器

澳门2026年5月15日 /美通社/ -- 5月15日上午,由澳门特别行政区政府经济及科技发展局、横琴粤澳深度合作区统计局指导,澳门经济学会联合南光文化创意产业有限公司、无人系统工程师协会(SUSE)和全空间无人体系建设...

关键字: SUSE 系统工程师 无人机 联通

变频振荡器(VFO)常用于无线电发射机和接收机中,尤其是在超外差式接收机中,它们能够实现对工作频率的调节。它们在业余无线电、通信系统和测试电子设备中都非常重要。在我之前的几段视频中,我已经向您展示了几种不同的创建 VFO...

关键字: ESP32 微控制器 Si5351 时钟 变频振荡器
关闭