21| 1
|
[项目] 【Arduino 动手做】ESP32 平衡机器人 |
所以,一段时间以来,我一直在研究一款基于 ESP32 的优秀步进电机、WiFi 连接平衡机器人,它也可以将所有内容都放在同一个 PCB 上。经过几次尝试,我终于有了一个足够好的版本,实际上它只是我在互联网上找到的一些令人惊叹的项目的组合。这个平衡机器人驱动得非常好,代码基于 electrical-pro 的项目,所有组件都在 PCB 上,本教程中解释了所有内容,您还可以在下面找到零件列表。因此,如果您想制作类似的机器人,请按照本教程进行作。目前只有 Android 版本的控制器应用程序,它支持机器人控制和遥测。对于 iPhone 用户,只需打开浏览器并使用机器人的控制界面即可。那么,让我们看看它是如何工作的以及如何构建它。 用品 我们需要很多零件,但别担心,没有什么难买的。我们需要 ESP32 芯片、传感器、电机和一些其他组件,例如电阻器、电容器和 LED。检查下面的每个组件。如果链接未更新,只需在 eBay 上使用以下名称搜索组件即可。 对于机器人,我们需要: 2 x 电机 : https://s.click.aliexpress.com/e/_AUzpWd 2 x 轮子 (5mm 内孔) : https://s.click.aliexpress.com/e/_9idvRF DVR8825步进电机驱动器 : https://s.click.aliexpress.com/e/_9xnMc5 直流对直流转换器 : https://s.click.aliexpress.com/e/_97wh9L ESP32 : https://s.click.aliexpress.com/e/_AnUQEp MPU6050陀螺仪和加速度计模块:https://s.click.aliexpress.com/e/_A6SRW5 INA219电压和电流传感器:https://s.click.aliexpress.com/e/_9wVQ7L 排针 : https://s.click.aliexpress.com/e/_A5RFzL 电解电容器 : https://s.click.aliexpress.com/e/_9gdUYl 陶瓷电容器 : https://s.click.aliexpress.com/e/_AfrfzL 电阻器 : https://s.click.aliexpress.com/e/_A3BVAH 1N5822 肖特基二极管 : https://s.click.aliexpress.com/e/_AZ47Tn 2P 5mm 螺丝丝接线端子 : https://s.click.aliexpress.com/e/_ArnMyl 3D 打印部件 第 1 步:机器人原理图 机器人原理图 原理图只是 electrical-pro 的简化版本。首先,我们有电源块,用于调节 ESP32 模块的 5V。ESP32 芯片为 INA219、MPU6050 和 DRV8825 提供 3.3V 电压。为了控制电机,我们使用 2 个 DRV8825,它从 lipo 电池获取电力。lipo 电池只是一个典型的 3S1P RC 电池,这些电池的工作电压在 12.6 到 11.1 伏之间,这在我们的电源块中的 DC-DC 转换器的限制范围内。获取 PCB 和组件,然后按照原理图上的标记焊接 PCB。 第 2 步:焊接 PCB 这是我设计的 PCB,用于容纳除步进电机之外的所有组件。使用 Gerber 文件通过 PCBWay 或 JLCPCB 等服务打印 PCB。 Gerber 文件下载链接 : https://supr.link/lIQMe 在焊接其余组件之前,请确保我们有良好的 5V 电压,否则我们可能会烧毁 ESP32 模组,因为我的 DC-DC 转换器的默认输出电压约为 10V。因此,将 MP1584EN DC-DC 转换器连接到电源,顺时针缓慢转动电压调节螺丝以降低输出电压,当输出电压达到 5V 时停止。 好的,此时我们可以将其余组件焊接到我们的 PCB 上。 第 3 步:ESP32 编程 首先,在此处下载代码:https://supr.link/DZjwK。它与原始代码基本相同,只是进行了一些修改以使其与我的原理图配合使用。要成功构建代码,您需要将 “lib” 文件夹中的所有库复制到 “C:\Users\My Username\Documents\Arduino\libraries” 中。 现在是配置机器人 AP 的好机会。在“defines.h”的前几行中,你会找到变量 ROBOT_NAME 和 AP_PASSWORD,如果你有多个机器人,每个机器人都应该有一个唯一的ROBOT_NAME。 之后,按照本教程构建并上传代码。对于我的 ESP32,我必须在 Tools ->Board 下选择“ESP32 Dev Module”。如果一切按预期进行,您应该会看到“已完成上传”消息。 此外,不要忘记上传草图数据,这是控制和设置页面正常工作所必需的。在 Arduino IDE 中,转到 Tools -> ESP32 Sketch Data Upload。该过程完成后,您应该会在 IDE 中看到“SPiFFS Image Uploaded”。 第 4 步:打印并构建框架 零件是从 DaveGun 设计的这个漂亮的框架修改而来的。原始文件在这里。 所有部件都使用 M3 8 毫米和 12 毫米螺栓组装在一起,这些螺栓直接拧入 3D 打印部件中,无需螺母。建议使用圆头螺钉。 对于机器人,我们需要: M3 8 毫米 x 12 : https://s.click.aliexpress.com/e/_AXVe77 M3 12 毫米 x 4:https://s.click.aliexpress.com/e/_AXVe77 我设计了这个简单的应用程序来控制平衡机器人。首次启动时,机器人将使用 SSID “平衡机器人” 和密码 “12345678” 配置为 AP(接入点)模式。将您的 WiFi 连接到此接入点。建立连接后,打开应用程序,应该会看到来自机器人的遥测数据,包括速度、电压、功率......等,如果没有,只需按 Connect 按钮手动连接。 请注意,在没有互联网的情况下连接到 WiFi 在某些设备上可能不起作用。 如果您使用的是 iPhone,则内置的 Web 界面是控制和设置机器人的唯一方法。连接到机器人的 AP 后,打开浏览器并访问以下页面: 机器人控制 : http://192.168.4.1/control.htm 机器人设置 : http://192.168.4.1/index.htm 由于某种原因,控制界面在 Firefox 上无法正常工作。 第 6 步:最后步骤 最后,是时候添加车轮和电池了。首先,确保使用 Balancing Robot Controller 应用程序或 Web 界面校准陀螺仪和加速度计。然后检查步进电机是否以正确的方向旋转。PCB 上有一个小箭头指向机器人的前部,当您将机器人向前倾斜时,两个电机都应向前旋转。一旦一切都设置正确,装上轮子并连接电池,机器人应该在几声哔哔声后开始自我平衡。 第 7 步:比赛! 控制这个机器人的最好方法是使用 App。如果同一空间内有多个机器人,请确保为每个机器人设置不同的 SSID。玩得愉快! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
【Arduino 动手做】ESP32 平衡机器人 项目链接:https://www.instructables.com/ESP32-Balancing-Robot/ 项目作者:fpv99 项目视频 :https://www.youtube.com/watch?v=sHJPr_WfYyA 项目代码:https://supr.link/DZjwK https://github.com/electrical-pro/ESP32_Robot 原始参考:https://gitlab.com/kloppertje/balancingrobot Gerber 文件下载链接 : https://supr.link/lIQMe 3D 文件:https://www.thingiverse.com/thing:2863280 DRV8825步进电机扩展板:https://www.thingiverse.com/thing:2830191 参考: https://github.com/bluino/esp32_wifi_balancing_robot https://www.jjrobots.com/much-more-than-a-self-balancing-robot/ ![]() ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed