前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >菠萝狗(开源自足机器人)技术分解

菠萝狗(开源自足机器人)技术分解

作者头像
云深无际
发布2022-04-15 09:23:14
1K0
发布2022-04-15 09:23:14
举报
文章被收录于专栏:云深之无迹

今天做一个开源四足机器人的介绍~

首先选择了大火的菠萝狗,在功能,开放程度,价格上面做了一些抉择,不过资金充足的话,升级更好的硬件也不是不可以:

hhhh,就是这样的一个小玩意儿

那我就看看他到底是不是名副其实(嘿嘿嘿)

开源三大件

因为我本身结构上面就是一只土狗,所以机械结构上面就不指指点点了。我主要看控制器和控制算法。

先看下硬件,现在开源的版本是直插的:

装配完的样子

这个是集成的版本

哒哒哒,控制器全名叫 WEMOS LOLIN32 Lite

使用了不一样的控制IO口

这个片子我以前用过一个,专门是为mpy做的,加了一个4MB的flash

背后的丝印

费尽九牛二虎之力搞到的原理图

更加清晰的版本

另一个

一共四版

内部原理图不太好找了,网站404了。

这是默认的引脚映射

此外,这个控制器上面使用了LDO,至于为什么用,下面有原因:

标准稳压器,通常使用NPN调整管,通常输出管的压降大约为2V。LDO稳压器通常根据压差要求作最佳选择,通常压差在100mV~200mV。

然而,LDO的缺点是其接地引脚的电流通常比准 LDO 或标准稳压器大。标准稳压器比其它类型稳压器具有较大的压差,较大的功耗和较低的效率。大多数情况下可使用 LDO稳压器代替标准稳压器,但是应该考虑到LDO稳压器的最大输入电压指标比标准稳压器低。此外,有些LDO需要精心挑选外部电容器以保持稳定性。这三种类型稳压器在带宽和动态稳定性考虑因素方面也有些不同。如何选择最佳稳压器

稳压器,需要考虑输入电压的类型和范围。其它重要考虑因素是:需要的输出电压、最大负载电流、最小压差、静态电流和功耗。通常,稳压器的附加功能可能很有用,例如待机引脚或指示稳压失效的错误标志。为了选择合适类型的 LDO, 需要考虑输入电压源。在电池供电应用中,当电池放电时,LDO必须维持所需的系统电压。如果DC输入电压是由经过整流的 AC 电源提供,那么压差并不重要,因此标准稳压器可能是更好的选择,因为其更价格较低并且可以提供较大的负载电流。但是如果需要较低功耗或较精密的输出电压,则LDO是合适的选择。

买的话,都是这个散件

目前实现的功能

开源库的内容

原理图简单的一马批,就是2个IIC,一个MPU6050,一个PCA舵机控制器

这个器件的电源是3.7V

这个是舵机的控制器,谁能想到一开始是个LED的控制器

两个电源的部分

前级输入部分

看这个就行,使用参数是这样的,可以看到很宽泛

降压板,否则给用电器部分供电

看原理图是3.3V这个,稳定的输出3.3V,这里输入的是5V

看这个AMS117是直接一个片子上去的

IIC是 19,20;3,4.

再看这个这个装配,使用的是航模电池

也就是说随便使用一个锂电池供电,前级会稳定输出5V,经过一个降压板子到3.3V,供给ESP32,ESP32给MPU6050和PCA。

用了八个舵机

下载工具在这里

有一个bat文件,可以在cmd下执行

一开始会安装几个包,接着是命令行工具

内容很简单就是这样

内部是这样实现的

输入串口号,就会传到中国ampy的exe文件里面就会烧录

我学会了!

看程序架构

这个是所有的文件

这个loop函数看上去是运行一次,其实不是看下面

他是启动了另外一个脚本的功能

不同的控制模式

这样的是

下面是使用的定时器进行操作的,loop函数是一个回调函数

步态模式为0?

并发的从网页这边接收消息

关于网页接入部分

并发是线程,循环是定时器回调,这个心跳触发有点吊

算法的话,我再看看,第一次接触,有点头秃

代码语言:javascript
复制
https://www.nxp.com.cn/products/power-management/lighting-driver-and-controller-ics/ic-led-controllers/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685

9685官网

代码语言:javascript
复制
http://simplefoc.cn/#/

simplefoc的官网

代码语言:javascript
复制
https://space.bilibili.com/493192058/channel/series

B站地址

代码语言:javascript
复制
http://www.leggedrobot.cn/home.php?mod=space&do=pm

论坛

代码语言:javascript
复制
https://gitee.com/net-man/py-apple-quadruped-robot

项目主页

代码语言:javascript
复制
https://docs.espressif.com/projects/esptool/en/latest/esp32/esptool/basic-options.html

烧录工具主页

代码语言:javascript
复制
https://github.com/espressif/esptool

烧录工具

代码语言:javascript
复制
https://www.zhihu.com/question/436984524

LDO知乎解释

代码语言:javascript
复制
https://www.mischianti.org/2021/07/30/esp32-wemos-lolin32-lite-high-resolution-pinout-and-specs/

控制器的原理图页面

代码语言:javascript
复制
http://swf.com.tw/?p=1331

控制器页面

代码语言:javascript
复制
https://blog.csdn.net/zhuoqingjoking97298/article/details/115210234

一个不错的教程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档