正文共5158字 42图
预计阅读时间13分钟
本周带大家来看看,如何用ESP32-CAM和3D打印部件做一个Strider摄像机器人。
材料
第1步:什么是Strider?
Strider是由Wade Vagle开发的机械步行器,由许多次设计迭代演变而来,它的行走(运行)能力非常强 。
关于机械步行器设计的更多参考信息:
1、https://www.diywalkers.com/walker-abcs.html
2、https://www.diywalkers.com/strider-linkage-plans.html
第2步:Strandbeest Vs Strider
Strider是怎么样走的?让我们把它与我几年前组装的一只步行机器人进行比较。它只能在非常平坦的表面上行走,甚至会被垫子挡住;相比之下,体型较小的Strider可以很好地穿过垫子。
第3步:电池
Strider摄像机器人设计有两个14500(AA)电池槽。
以下是电压要求:
14500电池评估:
所以,我们可以使用两个14500锂离子电池或磷酸铁锂电池。磷酸铁锂电池是首选。如果选择了锂离子电池,记得选择有内置保护板的电池或在中间插入保护电路。
第4步:电机
这个机器人用了2个小型的N20齿轮马达。这个齿轮马达有很多齿轮比可供选择。我已经测试了3个齿轮比,从3V 100RPM、200RPM到500RPM。
3V 500RPM可以运行得非常快,但我们这还是个摄像机器人,需要稳定地行走,所以我推荐3V 200RPM。
请注意:工作电压和转速呈线性比例,3V 100RPM意味着6V 200RPM。
第5步:薄壁球轴承
我们的这个机器人需要将旋转运动从电机传递给几对腿。由于旋转不能由直轴直接驱动,所以我使用一些薄壁球轴承建立一个稳定的曲轴来传递旋转运动。
共需要8个6702ZZ轴承,内径为15mm,外径为21mm,宽度为4mm。
第6步:螺钉
螺丝对于连接所有东西都非常重要,腿部关节、车身部件、电池座和电子元件。
为了简单起见,所有的连接设计都使用6毫米长的M2平头螺钉,这个机器人一共需要72个。不过,可以适当多备一些,100个差不多了。
第7步:2毫米直径的杆子
这部分可以自己切割下。
第8步:3D打印件
3D打印所有部件可以在thingiverse下载:https://www.thingiverse.com/thing:4917588
注:文件名尾部有”x2 “表示打印2份。”x12 “意味着打印12份。
或者在文末打包下载。
第9步:补孔
可以用2.1毫米的钻头来修补一下3D打印的零件的孔。
第10步:核心部件组装
用4个螺钉把core1, core2a 和core2b连接起来( STL文件夹里的同名)
第11步:安装电机
请注意2个电机以90度对齐,避免电机终端意外接触。
第12步:电机轴和机身组装
- 将薄壁球轴承推入body2
- 将axis3推入薄壁球轴承中
- 重复步骤1-2一次
注:body2、axis3与STL文件中文件名对应。下同
第13步:安装电机轴
将D型电机轴对准axis3,并将其推入。
第14步:安装盖板
用8个螺钉将cover1和cover1固定在主体上。
第15步:安装155毫米的杆子
将一对155毫米长、直径为2毫米的杆子穿过主体的孔。
第16步:腿部组装
- 用1颗螺丝将leg2、leg3和leg1连接起来
- 用1颗螺丝将leg3和leg4连接起来
- 重复步骤1-2,制作第二条腿
- 镜像操作,完成左右两腿的制作
- 用2个螺钉将两个leg2和leg4连接起来
- 重复步骤1-5,完成6对腿的制作。
第17步:安装支腿
- 将15毫米的杆子安装到 axis3
- 让两个leg1的孔都穿过155毫米的杆子
- 让两条leg2的中间孔穿过15毫米的杆子
步骤18:轴和机身组装
- 将薄壁球轴承推入body2
- 将axis2推入薄壁球轴承中
- 重复1-2 步骤3次
第19步:安装轴体
- 让body2 孔穿过155毫米的杆子
- 对准轴孔,穿过15毫米的杆子
- 用2个螺钉固定轴体
第20步:重复安装腿部
每侧都有3对腿;每对腿将曲轴移动60度。
第21步:边缘轴和机身组装
- 将薄壁球轴承推入body1
- 将axis1推入薄壁球轴承中
- 重复步骤1-2一次
第22步:安装机身边缘
- 对准axis1的孔,并穿过15毫米的杆。
- 用2个螺钉固定机身边缘
第23步:连接电池座
将电池座与电线串联起来。强烈建议使用红线和蓝线来表示电池的正负极。
第24步:排线
让电池座的红线和蓝线穿过Core2b孔。
第25步:固定电池座
用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步:编译和上传
- 将ESP32-CAM连接到USB串口
- 打开Arduino IDE
-
声明:本站部分文章内容及图片转载于互联网、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站删除。