之前社区也分享过用树莓派做的四足机器人Pupper——《能跑能跳能遛弯儿,波士顿动力Spot的小跟班来了!项目开源!》

用Arduino Uno做的Pupper的小弟——《可扩展性高,四足机器人斯坦福Pupper的小弟来了!》

今天分享的是利用ESP32制作的小型四足机器狗。

特点

  • 只需要ESP32(不需要额外的PWM I2C、蓝牙模块等)
  • Arduino IDE
  • 只需要手机或平板就能遥控
  • 具有CLI接口用于校准和调试
  • 逆向运动学代码
  • 可配置的步态序列

电子部分

  • 1个38针的ESP32
  • 1个50x70毫米的原型开发板
  • 12个TowerPro MG90D舵机(使用其他舵机可能比较麻烦,因为尺寸可能不同,可以看下三个不同的类似mg90的舵机的图片)

  • 1 x INA219 (可选)
  • 1 x MPU9250 (可选)
  • 3个Mini360(DC-DC降压转换器降压模块)或类似产品,2个用于前/后腿(或更多),1个用于ESP32
  • 1个18650锂电池电池座,用于2个元件(尝试找"18650电池座smt")。
  • 2个18650锂电池
  • 一些电容器

其他

  • 8个8x12x2.5毫米轴承
  • 4条杜邦线扎带
  • 用502胶水(氰基丙烯酸酯)将所有部件粘在一起

打印部件

有些部分是镜像的,为了保证能够正确打印。请注意观察图片。

我的打印机在第一层厚度上有问题,也就是象脚。齿轮应该被尽可能完美地打印出来,所以我添加了非常小的垫片来避免这个问题,你会看到一些部件 "飞 "过表面,记得启用对它的支持。

强烈建议大家用最好质量的打印零件,特别是齿轮部分。

要打印的零件的完整清单:

  • 1 x 身体部分
  • 2 x 腿部顶部
  • 2 x 腿顶(镜像)
  • 2 x 脚底板
  • 2 x 腿部底部(镜像)
  • 4 x 肩部1
  • 4 x 肩部部件2
  • 2 x 腿部支架部分1
  • 2 x 脚管固定器部件2
  • 4 x 伺服齿轮
  • 4 x 脚管鞋,用柔性长丝打印(非必须)
  • 1 x 盖子
  • 2 x 盖板夹子

我使用Ender 3 Pro,Cura,使用支持并选择动态质量。塑料是OPY的PLA。

可以在https://www.thingiverse.com/thing:4822059 下载。

组装

准备工作

在开始之前,检查轴承是否可以很容易地安装在机体部件和肩部部件上。

还要检查肩部和车身部件上的孔是否打印得很好,伺服杜邦线(临时拆卸的伺服连接器)是否可以装在里面。

开始组装

我试图使机身尽可能的轻,因为小舵机不是很强大。

确保胶合面是平的,这边可以用一下锉刀。确保部件之间相互连接,没有空隙。

然后如上图所示把他们粘在一起。

舵机齿轮

切断舵机角(见图),使它适合舵机齿轮的部分,并把它们粘到一起。

腿部

将短的舵机角粘在 "腿顶 "部分。

将舵机插入 "腿部底部",如图所示插入杜邦线。

将另一条伺服电机的杜邦线穿过 "肩 "部的一个孔。

重复上述步骤。

把机身和腿组装在一起

如之前的图片所示,将所有杜邦线穿过腿部和机身的孔。

用Arduino/ESP32或舵机测试仪将所有舵机调到中间位置。

将 "舵机齿轮 "安装在舵机上,并将舵机插入机身。想要拧紧它可能是个挑战。

挤压没有舵机的 "肩膀 "部分(但有杜邦线),将其插入轴承之间。

重复其他舵机和部件的操作。

这个时候,我们不需要用螺栓固定腿部,等会儿我们需要按照我的GitHub资源库中的说明校准腿部:

https://github.com/SovGVD/esp32-robot-dog-code

PCB部分

PCB的配置由你决定。下面只展示我的做法。

传感器连接到ESP32的默认I2C总线(GPIO 2122)。

舵机连接到:

  • 左前方:25、26、27
  • 右前:16、18、17
  • 左后腿(后):13, 12, 14
  • 右后方(后):4、2、15

你可以在代码中重新配置,但要确保ESP32 ISR库支持。

代码

在Arduino IDE上安装额外的库:

  • ESP Async Web Server
  • ESP32 ISR Servo
  • MPU9250_WE
  • INA219_WE

设置WiFi接入点凭证:

  1. config_wifi.example.h重命名为config_wifi.h
  2. APssid改为你的机器人的任何名称,例如SmallRobotDog
  3. APpass改为密码(8个或更多字符),如MySup3rPassw0rd
  4. 代码上传到ESP32后,你应该能用你的手机或平板电脑找到SmallRobotDog的WiFi。

打开浏览器,输入网址http://192.168.4.1/,你会看到两个虚拟摇杆来控制机器狗。

希望大家能够喜欢。

手把手教你做小型机器狗,毕业设计。必看相关推荐

  1. 实例:用C#.NET手把手教你做微信公众号开发(20)--使用微信支付线上收款:jsapi方式

    在做线上.线下销售时,可以使用微信便捷支付,通过微信公众号收款有很多种收款方式,如下图: 今天我们来讲一下jsapi支付,场景就是在微信内打开某个页面,完成在线支付,同样一个网页,使用微信打开就是js ...

  2. 炸翻AI和生化环材圈!GPT-4学会自己搞科研,手把手教人类做实验

    [导读]GPT-4等大模型组成的AI智能体,已经可以手把手教你做化学实验了,选啥试剂.剂量多少.推理反应会如何发生,它都一清二楚.颤抖吧,生化环材圈! 不得了,GPT-4都学会自己做科研了? 最近,卡 ...

  3. 微信测试工程师手把手教你做弱网络模拟测试

    微信测试工程师手把手教你做弱网络模拟测试 Posted by 腾讯优测  | 3,152 views 小优有话说: app研发不同于实验室里做研究,哪里有"理想环境". 理想里,用 ...

  4. 手把手教你做关键词匹配项目(搜索引擎)---- 第九天

    第九天 回顾: 8. 手把手教你做关键词匹配项目(搜索引擎)---- 第八天 7. 手把手教你做关键词匹配项目(搜索引擎)---- 第七天 6. 手把手教你做关键词匹配项目(搜索引擎)---- 第六天 ...

  5. python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...

    原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...

  6. jsp mysql视频_手把手教你做jsp servlet mysql实现的图书管理系统附带视频开发教程和完整源码...

    上一个教程我们做的是对数据库框架底层原理的讲解,然后教大家做了一个自己的数据库框架,这次我们做的这个图书管理系统就是用我们上个教程自己写的数据库框架,整个项目做完框架运行的很稳定,没有出现任何问题.如 ...

  7. oracle可以在liux上装_【Oracle】手把手教你做之Linux上安装Oracle11g

    手把手教你做之Linux上安装Oracle11g 这是我第一次安装时的过程,及遇到问题的解决办法,在此记录,有不妥之处,多多交流. 因为高稳定性及高定制低系统消耗等原因,我们希望在Linux上安装Or ...

  8. 手把手教你做关键词匹配项目(搜索引擎)---- 第二十一天

    客串:屌丝的坑人表单神器.数据库那点事儿 面向对象升华:面向对象的认识----新生的初识.面向对象的番外----思想的梦游篇(1).面向对象的认识---如何找出类 负载均衡:负载均衡----概念认识篇 ...

  9. 手把手教你做产品经理,视频课教程已经发布,欢迎观看

    手把手教你做产品经理,视频课教程已经发布,欢迎观看 http://edu.51cto.com/course/course_id-5062.html 转载于:https://blog.51cto.com ...

最新文章

  1. 2022-2028年中国塑料人造革行业市场研究及前瞻分析报告
  2. 德国精品软件 Steganos Safe 数据加密软件
  3. 发现一个很不错的正则表达式生成器
  4. Hyperledger Fabric介绍
  5. 人工智能感知技术是机器人应用支撑技术之一
  6. HP-UX 11i v2安装使用python 2.5.2
  7. 为Python IDLE 添加清屏(Ctrl + L )快捷工具(附带解决错误的方法)
  8. 二路归并排序C++实现
  9. NSA机密文件泄密者如何暴露身份
  10. 什么情况下会用上568A线序
  11. Emscripten 单词_人教版英语七年级下册单词、课文及音频汇总
  12. 最新二开南风表情包小程序+前后端去授权版/最火表情包小程序源码
  13. 并发与并行,线程与进程如何理解
  14. 一个账号多路由器拨号失败服务器无响应,PPPoE拨号失败 PPPoE拨号失败服务器无响应怎么办?...
  15. 牛客华为题库前40题
  16. Qt 2D游戏引擎QtGameEngine使用入门案例
  17. 笑傲江湖客户端服务器地址修改,笑傲江湖.新手上路.MUD客户端
  18. 记一次Redis被攻击的事件
  19. android u盘地址,android 9.0 获取U盘路径
  20. php 关联数组 索引,PHP 数组:索引数组与关联数组

热门文章

  1. 台式计算机键盘配置及价格,组装台式计算机的配置列表是什么?什么是台式机?...
  2. AndroidUI组件之TabHost
  3. Unable to create process using ‘D:\anaconda3\envs\tf2-gpu\Lib\python.exe 运行ipython时遇到的问题
  4. 我学习到的一些保险知识
  5. 列表中的index()函数
  6. python获取系统时间(时间函数详解)
  7. Python基础 定义类和对象(类和对象2)
  8. iOS CALayer之CAEmitterLayer粒子发射器的神奇效果
  9. Tableau可视化技巧--饼图
  10. Chrome神器Vimium快捷键