2406浏览
查看: 2406|回复: 6

[ESP8266/ESP32] 基于Beetle ESP32-C3的遥控小车设计(一)

[复制链接]
本帖最后由 肖申克 于 2023-6-7 20:26 编辑

基于Beetle ESP32-C3的遥控小车设计

一、背景与项目概述
    在硬件漂流群看到了“Beetle ESP32-C3免费试用活动”,Beetle ESP32-C3是一款基于ESP32-C3 RISC-V 32位单核处理器芯片的主控板[1],看了介绍的文档,想利用他的蓝牙功能来做个遥控小车,想控制小车行动和机械臂,并且在小车上面安装传感器,实现环境监测反馈。通过遥控器两个摇杆六个自由度控制,oled屏幕显示温度湿度亮度。但是这过程中好多坎坷,最后我放弃了,只做了个遥控车,用摇杆控制移动
二、困难与妥协
    1.拓展板不适合,只能自制拓展板
    申请了两片,很快就收到了。分别是两片Beetle ESP32-C3和拓展版。

基于Beetle ESP32-C3的遥控小车设计(一)图1

      拿到之后,首先面对的问题就是拓展版设计不方便。最开始想拓展版焊接母口,单片机焊接公口,然后在拓展版接线。
      但是拓展版信号引脚集中在一起,估计是为了减小体积,但是这对接线造成不便。(后续可以考虑改进)。
      因为我打算使用小车模块,根据我的需要,我自己用洞洞板做了一个简单的拓展版。

基于Beetle ESP32-C3的遥控小车设计(一)图2

左边为接收端拓展版,参考了掌控板系列的排列(GND\VCC\S)方便连接小车模块。右边为发射段拓展版,增加了3v3和GND的引脚。

2.编程环境不熟悉,改成图形化编程

制作过程中,面临的最大困难就是编程环境的搭建。我打算用Arduino IDE 进行编程,因为示例多,兼容性强。计划使用手势识别采集控制,并使用oled显示状态和回传的温度。

根据官方文档的指引,在DFROBOT DFR0868 Beetle ESP32 C3 产品资料 使用教程 的指引下一步一步完成。

虽然最后成果搭建并且完成了“blink”。(这一行字花了一个多星期的时间,还用了“技术手段”)

但是,还是因为太多的状况,停止了尝试。(比如添加手势识别模块过程中的报错,其他模块也经常发生报错)

最后,选择用Mixly(米思齐)进行编程。Mixly(米思齐)是一款图形化编程软件。用户可以通过拼接积木块的方式来编写程序[2]。

另外,本来计划使用低功耗蓝牙进行信号传输,由于换了米思齐进行编程,改为使用“广播”进行信号传输,并取消了手势识别和oled,采用最简单的模块实现功能。


三、硬件与设计思路

1.硬件清单

Beetle ESP32-C3                                               *2

3PA三轮小车套件                                               *1

TB6612FNG微型双路直流电机驱动模块             *1

双轴按键遥杆传感器                                           *1

红黄绿led模块                                                    *1

自制拓展板(洞洞板、排针、自锁开关)            *2

3.7v锂电池                                                        *2

杜邦线若干


2.设计思路

因为图形化编程的限制,遥控小车采用“广播”传输信号。在“遥控器”采用遥杆三个自由度采集信号,led模块显示模式。小车根据接收到的信号响应动作。

基于Beetle ESP32-C3的遥控小车设计(一)图3




四、模块调试

1.“广播”通讯

本项目最核心的内容就是“广播”功能。图形化编程分为:初始化、发送消息、接收信息三种类型。查阅python代码,可以推测这个功能是基于“ESPNow”制作的库。

基于Beetle ESP32-C3的遥控小车设计(一)图4基于Beetle ESP32-C3的遥控小车设计(一)图5

ESP-NOW 的消息的接收属于无阻塞的接收方式,不受延时函数影响,很适合做遥控器。具体看参考资料[3]

因此,我利用两个Beetle ESP32-C3一个作为遥控器发射端,一个作为小车接收端,利用字符串“UP”发射与接收验证“广播”功能。

此外,掌控板也有“广播”功能,查看源代码,我估计也是同个协议,也用Mind+做了掌控板的双向验证。具体如下图和演示视频。



基于Beetle ESP32-C3的遥控小车设计(一)图7
基于Beetle ESP32-C3的遥控小车设计(一)图8
基于Beetle ESP32-C3的遥控小车设计(一)图9

(电脑浏览器可正常观看,手机浏览器切换成”电脑模式“可观看,确实无法观看复制视频地址通过浏览器观看)
视频地址:https://www.bilibili.com/video/BV1Su411p7sW/?spm_id_from=333.788&vd_source=70459f7369999ce0e18a8fef6dbab909

2.其他模块
解决了无线通讯的问题,其他部分相对比较熟悉,调试过程比较顺利。限于篇幅,下面做简单展示。
(1)遥杆模块

视频地址:https://www.bilibili.com/video/BV14M4y1e7TM/?vd_source=70459f7369999ce0e18a8fef6dbab909

(2)温湿度反馈模块

视频地址:https://www.bilibili.com/video/BV1Ys4y1i7QJ/?spm_id_from=333.788&vd_source=70459f7369999ce0e18a8fef6dbab909


这个部分的想法是想验证“广播”的双向传输信号,小车端在接收到信号后,完成响应并且向遥控器发送小车端搭载的温湿度传感器采集的数据。但是因为遥控器没有显示功能,最后这个功能探索成功之后没有采用。这也为后面的升级提供了思路。
基于Beetle ESP32-C3的遥控小车设计(一)图10
(3)3PA三轮小车模块
因为本身工作比较忙,所以采用非常稳定的小车和电机驱动模块,减少工作量,请看参考资料[4]。

基于Beetle ESP32-C3的遥控小车设计(一)图6

五、成品展示
1.遥控器
将遥杆、led模块、拓展板和电池固定在一块椴木板上(这块板是之前做作品剩下的)。
基于Beetle ESP32-C3的遥控小车设计(一)图11

2.小车
将电池、拓展板利用螺丝固定在小车上。
基于Beetle ESP32-C3的遥控小车设计(一)图12

3.装上电池,充电。
基于Beetle ESP32-C3的遥控小车设计(一)图13

4.上电,启动!
默认黄色灯正常模式,红色灯运动模式,绿色灯平稳模式。

视频地址:https://www.bilibili.com/video/BV1Z14y1D7NC/?spm_id_from=pageDriver&vd_source=70459f7369999ce0e18a8fef6dbab909

六、收获与感悟
关于这个项目,作为一个业余爱好者,其实有很多想法,但是只停留在想法阶段。有工作的原因,忙碌的工作很难有大块时间学习。另外的一个原因就是技术,很多困难无法逾越,一些想法也就搁浅。本次的使用给了我一个契机,强迫自己做出一个东西,虽然是很普普通通的项目。

关于这块Beetle ESP32-C3,他的通讯功能和自带充电模块、体积小是亮点。如果在拓展板上改进,并且兼容Mind+,会有更多的发展空间。

关于小车,其实还有很多不足,比如两个电机在同个pwm的情况下功率不同,比如还没实现的其他功能。时间关系,先交作业吧。

后面还有很多事情忙,如果有时间会写个(二),把程序过程也来介绍一下。感谢大家阅读。请多多提宝贵意见。

因为预计接下来一个月很忙,所以直接上程序。请各位大佬多多指点;

参考资料
[1]Beetle ESP32-C3(RISC-V芯片)-Beetle微型控制器-DFRobot创客商城  
https://www.dfrobot.com.cn/goods-3494.html
[2]Mixly 简介 — Mixly Wiki  https://mixly.readthedocs.io/zh_CN/latest/basic/01Mixly_introduction.html
[3]ESP-NOW:竟然还有如此好用的无线通信方式 | ESP32学习之旅-Arduino版 (zhihu.com)
https://www.zhihu.com/tardis/zm/art/344109867?source_id=1005
[4]电机驱动、双路直流电机、微型、产品简介、产品参数、使用说明、应用样例 (dfrobot.com.cn)
https://www.dfrobot.com.cn/goods-1634.html


肖申克  见习技师
 楼主|

发表于 2023-6-3 17:33:27

视频合集:https://www.bilibili.com/video/BV1Z14y1D7NC/
回复

使用道具 举报

帅猫  高级技师

发表于 2023-6-3 21:07:52

有个APP叫蓝牙调试器,效果和Blynk一样,推荐用那个,也省得做遥控器费事。
回复

使用道具 举报

肖申克  见习技师
 楼主|

发表于 2023-6-4 13:30:50

帅猫 发表于 2023-6-3 21:07
有个APP叫蓝牙调试器,效果和Blynk一样,推荐用那个,也省得做遥控器费事。 ...

嗯嗯,谢谢。
回复

使用道具 举报

豆爸  高级技师

发表于 2023-6-7 10:50:46

很赞!很赞!
回复

使用道具 举报

肖申克  见习技师
 楼主|

发表于 2023-6-7 20:22:18


感兴趣玩一玩而已。向您学习。
回复

使用道具 举报

子岸  学徒

发表于 2023-11-12 09:03:05

您好,同学,打扰了!您可以提供一下这个mixly的'消息“库文件吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail