RRoy | NPC | 创造力: | 帖子: | 发消息 | 串个门 | 加好友 | 打招呼
2021-11-24 17:18:27 [显示全部楼层]
826浏览
查看: 826|回复: 1

[ESP8266/ESP32] 如何用ESP32-CAM和3D打印件做一个Strider摄像机器人

[复制链接]
正文共5158字 42图

预计阅读时间13分钟

qw2.jpg

qw3.jpg

本周带大家来看看,如何用ESP32-CAM和3D打印部件做一个Strider摄像机器人


qw4.jpg
材料
  • ESP32-CAM-MB
  • LiFePO4(磷酸铁锂电池) 14500电池及充电器
  • N20 3V 200RPM马达
  • DRV8833 2通道直流电机驱动模块板
  • 2个8针针座(母)
  • 8个6702ZZ轴承
  • 100个6毫米长的M2平头螺钉
  • 2根155毫米长的2毫米直径的杆子
  • 6根15毫米长,直径2毫米的杆子
第1步:什么是Strider?
qw5.jpg

Strider是由Wade Vagle开发的机械步行器,由许多次设计迭代演变而来,它的行走(运行)能力非常强 。

关于机械步行器设计的更多参考信息:

1、https://www.diywalkers.com/walker-abcs.html

2、https://www.diywalkers.com/strider-linkage-plans.html
第2步:Strandbeest Vs Strider
qw6.jpg

qw7.jpg

qw8.jpg

Strider是怎么样走的?让我们把它与我几年前组装的一只步行机器人进行比较。它只能在非常平坦的表面上行走,甚至会被垫子挡住;相比之下,体型较小的Strider可以很好地穿过垫子。

第3步:电池
qw9.jpg

Strider摄像机器人设计有两个14500(AA)电池槽。

以下是电压要求:
  • ESP32-CAM需要3.3V的电源,板上的电压调节器(AMS1117)最大可接受15V电压
  • N20 电机可以提供3-12V多电压,电压越高可以让机器人跑得更快
  • DRV8833电机驱动器接受2.7 - 10.8 V

14500电池评估:
  • 镍氢电池,2 x 1.0—1.25 V = 2—2.5 V,电量不足
  • 锂离子电池,2 x 2.5—4.35 V = 5—8.7 V,它可以满足电源要求。
  • 磷酸铁锂电池,2 x 2.0—3.65 = 4.0—7.3 V,它可以满足功率要求,并具有更好的电池安全性。

所以,我们可以使用两个14500锂离子电池或磷酸铁锂电池。磷酸铁锂电池是首选。如果选择了锂离子电池,记得选择有内置保护板的电池或在中间插入保护电路。
第4步:电机
qw10.jpg

这个机器人用了2个小型的N20齿轮马达。这个齿轮马达有很多齿轮比可供选择。我已经测试了3个齿轮比,从3V 100RPM、200RPM到500RPM。

3V 500RPM可以运行得非常快,但我们这还是个摄像机器人,需要稳定地行走,所以我推荐3V 200RPM。

请注意:工作电压和转速呈线性比例,3V 100RPM意味着6V 200RPM。
第5步:薄壁球轴承
qw11.jpg

我们的这个机器人需要将旋转运动从电机传递给几对腿。由于旋转不能由直轴直接驱动,所以我使用一些薄壁球轴承建立一个稳定的曲轴来传递旋转运动。

共需要8个6702ZZ轴承,内径为15mm,外径为21mm,宽度为4mm。
第6步:螺钉
qw12.jpg

螺丝对于连接所有东西都非常重要,腿部关节、车身部件、电池座和电子元件。

为了简单起见,所有的连接设计都使用6毫米长的M2平头螺钉,这个机器人一共需要72个。不过,可以适当多备一些,100个差不多了。
第7步:2毫米直径的杆子
qw13.jpg

这部分可以自己切割下。

第8步:3D打印件
qw14.jpg

3D打印所有部件可以在thingiverse下载:https://www.thingiverse.com/thing:4917588

注:文件名尾部有"x2 "表示打印2份。"x12 "意味着打印12份。

或者在文末打包下载。
第9步:补孔
qw15.jpg

可以用2.1毫米的钻头来修补一下3D打印的零件的孔。

第10步:核心部件组装
qw16.jpg

用4个螺钉把core1, core2a 和core2b连接起来( STL文件夹里的同名)

第11步:安装电机
qw17.jpg

请注意2个电机以90度对齐,避免电机终端意外接触。

第12步:电机轴和机身组装
qw18.jpg

  • 将薄壁球轴承推入body2
  • 将axis3推入薄壁球轴承中
  • 重复步骤1-2一次

注:body2、axis3与STL文件中文件名对应。下同
第13步:安装电机轴
qw19.jpg

将D型电机轴对准axis3,并将其推入。

第14步:安装盖板
qw20.jpg

用8个螺钉将cover1和cover1固定在主体上。

第15步:安装155毫米的杆子
qw21.jpg

将一对155毫米长、直径为2毫米的杆子穿过主体的孔。

第16步:腿部组装
qw22.jpg

  • 用1颗螺丝将leg2、leg3和leg1连接起来
  • 用1颗螺丝将leg3和leg4连接起来
  • 重复步骤1-2,制作第二条腿
  • 镜像操作,完成左右两腿的制作
  • 用2个螺钉将两个leg2和leg4连接起来
  • 重复步骤1-5,完成6对腿的制作。
第17步:安装支腿
qw23.jpg

  • 将15毫米的杆子安装到 axis3
  • 让两个leg1的孔都穿过155毫米的杆子
  • 让两条leg2的中间孔穿过15毫米的杆子
步骤18:轴和机身组装
qw24.jpg

  • 将薄壁球轴承推入body2
  • 将axis2推入薄壁球轴承中
  • 重复1-2 步骤3次
第19步:安装轴体
qw25.jpg

  • 让body2 孔穿过155毫米的杆子
  • 对准轴孔,穿过15毫米的杆子
  • 用2个螺钉固定轴体
第20步:重复安装腿部
qw26.jpg

每侧都有3对腿;每对腿将曲轴移动60度。

第21步:边缘轴和机身组装
qw27.jpg

  • 将薄壁球轴承推入body1
  • 将axis1推入薄壁球轴承中
  • 重复步骤1-2一次
第22步:安装机身边缘
qw28.jpg

  • 对准axis1的孔,并穿过15毫米的杆。
  • 用2个螺钉固定机身边缘
第23步:连接电池座
qw29.jpg

将电池座与电线串联起来。强烈建议使用红线和蓝线来表示电池的正负极。

第24步:排线
qw30.jpg

让电池座的红线和蓝线穿过Core2b孔。

第25步:固定电池座
qw31.jpg

用8个螺钉将2个电池座固定在core2a和core2b上。

第26步:软件准备
Arduino IDE

下载并安装Arduino IDE:https://www.arduino.cc/en/main/software

添加ESP32支持

如果你还没有添加ESP32的支持,请按照安装说明进行:https://github.com/espressif/arduino-esp32

Arduino ESP32文件系统上传器

按照安装步骤来安装Arduino ESP32文件系统上传器:https://github.com/lorol/arduino-esp32fs-plugin

FSBrowserPlus库

下载FSBrowserPlus:(GitHub点击 "克隆或下载"->"下载ZIP")https://github.com/moononournation/FSBrowserPlus

在Arduino IDE中导入库。(Arduino IDE的 "项目"->"加载库"->"添加.ZIP库"->选择下载的ZIP文件)

ESP Async Web Server库

下载最新的ESPAyncWebServer库。(GitHub点击 "克隆或下载"->"下载ZIP")

https://github.com/me-no-dev/ESPAsyncWebServer.git

在Arduino IDE中导入库。(Arduino IDE的 "项目"->"加载库"->"添加.ZIP库"->选择下载的ZIP文件)
第27步:配置
摄像头类型

在 FSBrowserPlus.ino 中,在第28行左右取消注释,注释掉所有其他模型。

举个例子:比如我们用到了CAMERA_MODEL_ESP32_CAM_ROBOT这个,就把这行前面的// 删除,其他的不动。
// Select camera model
// #define CAMERA_MODEL_WROVER_KIT // Has PSRAM
// #define CAMERA_MODEL_ESP_EYE // Has PSRAM
// #define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
// #define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
// #define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
// #define CAMERA_MODEL_ESP32_CAM // Has PSRAM
#define CAMERA_MODEL_ESP32_CAM_ROBOT // Has PSRAM
// #define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
// #define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
// #define CAMERA_MODEL_JSZWY_CYIS
#include "cameraAPI.h"

电机引脚

CAMERA_MODEL_ESP32_CAM_ROBOT也在 "camera_pins.h "中定义了电机引脚。
#define MOTOR
#define MotorL_A_Pin 13
#define MotorL_B_Pin 12
#define MotorR_A_Pin 2
#define MotorR_B_Pin 14

LED引脚

LED是由网络GPIO API直接控制的。目前它是GPIO 4,你可以在 ·camerarobot.htm的第616行左右改变LED引脚。
const query = `${baseHost}/gpio?pin=4&val=${value}`;
第28步:编译和上传
qw32.jpg

  • 将ESP32-CAM连接到USB串口
  • 打开Arduino IDE
  • 打开FSBrowserPlus.ino
  • 将ssid和密码编辑成你自己的WiFi AP凭证
  • 在 "Tools"菜单中选择 "ESP32 Dev Module"板块
  • 在 "Tools"菜单中选择分区方案为 "Default 4MB with fat (1.2MB APP/1.5MB FATFS)"
  • 点击Arduino IDE的 "Upload"按钮
  • 在 "Tools"菜单中选择 "ESP32 Sketch Data Upload"
  • 选择FS类型为 "FatFS",并点击 "OK "
第29步:准备PCB
qw33.jpg

qw34.jpg

  • 将一块PCB板切割成10×10的孔
  • 在C3、H3、C8和H8处钻4个孔(适合于Core1孔位)。
第30步:焊接
qw35.jpg

qw36.jpg

ESP32-CAM没有内置USB串行芯片,最好使用引脚接头,好更容易分离,之后重新编程也更方便一些。

连接:
Battery  -> Switch -> ESP32-CAM -> DRV8833  -> Motor
+ve pole -> Pin 1
            Pin 2  -> 5V        -> Vcc
-ve pole ->           GND       -> GND
                      GPIO 12   -> IN1
                      GPIO 13   -> IN2
                      GPIO 14   -> IN3
                      GPIO 2    -> IN4
                                   OUT1     -> LEFT +ve
                                   OUT2     -> LEFT -ve
                                   OUT3     -> RIGHT -ve
                                   OUT4     -> RIGHT +ve
                                   short J2
第31步:固定PCB
qw37.jpg

用4个螺钉将PCB固定在Core1上。

第32步:接线
qw38.jpg

将电池和电机引脚连接到PCB上。

第33步:安装ESP32-CAM
qw39.jpg

  • 将ESP32-CAM插到针座上
  • 给SD读卡器贴上散热片
  • 将相机模块贴在散热器上
第34步:安装电池
qw40.jpg

在安装前要提醒电池的正负极是正确的,否则会烧坏芯片。

这也是为什么前面强烈建议在电池座上使用红线和蓝线来区别的原因。
第35步:连接并测试


FSBrowserPlus在AP+STA双模式下运行。如果你已经输入了你的WiFi AP和密码,可以直接打开http://fsbrowserplus.local,访问FSBrowserPlus,不过只限于WiFi AP覆盖区域。

如果你把机器人带到外面,离开了WiFi AP的覆盖区域,只需搜索名为 "fsbrowserplus "的WiFi AP,并在代码中输入预定义的密码即可连接。一旦连接成功,会弹出一个限制性门户网站的网页,然后选择相机机器人的快捷方式就可以操作了。
第36步:愉快地玩耍起来
qw41.jpg

Wade Vagle在Youtube上评论说这是最小的Strider。但它的尺寸对于远程控制来说还是太宽了,现在它很容易被摄像机视野外的障碍物挡住。

我将在下一次迭代中尝试解决这个问题。请关注我的Twitter(陈亮手痕定律),了解最新的消息。
第37步:可选的外部天线
qw42.jpg

一些供应商可以提供不同天线选项的ESP32-CAM,外置天线可以提高摄像头的视频流性能。

原文链接:https://www.instructables.com/Strider-Camera-Robot/

项目作者:陳亮

译文首发于DF创客社区,转载请注明原作者信息和出处

Strider Camera Robot.zip

3.03 MB, 下载次数: 163

Chena  学徒

发表于 2022-1-10 12:33:00

请问用PlatformIO可以修改lcd引脚吗
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail