发作品签到
专业版

基于esp32的简易四足机械狗

工程标签

2.4k
0
0
0

简介

本项目使用esp32-s作为主控,使用mg90s舵机控制。支持双路供电,初步设计了四种运动模式,前进后退,左转右转。并且搭建了简易的网页控制运动,后续将会和esp32-cam结合起来,实现物体识别。

简介:本项目使用esp32-s作为主控,使用mg90s舵机控制。支持双路供电,初步设计了四种运动模式,前进后退,左转右转。并且搭建了简易的网页控制运动,后续将会和esp32-cam结合起来,实现物体识别。

开源协议

GPL 3.0

创建时间:2023-02-05 06:48:48更新时间:2023-03-20 01:33:10

描述

1.基本元件

1.主控

        单片机采用的是esp32-s,具有丰富的外部接口,同时支持WIFI和蓝牙,可通过type c接口实现自动下载。

 

 

2.舵机

        舵机采用的是mg90s,结构简单,成本低廉,额定电压是5V。

 

3.电池降压

        电池我准备采用一块12v的锂电池,降压芯片是MP2236,支持18V、6A的输出,足够实现机械狗的运动了。

 

4.步态分析

 

 

        在这里,用使用了一个开源的小项目,这是机械狗运动学逆解的程序,当我们获取到了狗腿的的各部分长度数据,通过这个程序就可以获得两个舵机旋转的角度。具体数学原理在这儿就不赘述了。注意,前进后退,对角线的两个腿运动是相同的,但是由于左右的镜像,两个舵机的角度应该交换一下,在源码里都有体现。

 

2.电路设计

1.控制部分

       基本原理就是通过esp32-s的8个IO口输出周期不同的pwm波方波,控制八个舵机在相同的时间内运动不同的角度,所以说前面的部分就相当于设计了一块esp32的开发板,只不过一些接口没有引出。

 

2.电池降压部分

        这个项目前前后后打板了几次,主要问题就在于为了控制八个舵机,电流将近有4A,普通的锂电池和小型降压芯片无法提供这么大的电流。在这里借鉴了B站UP主工科男孙老师的一个设计,采用了mp2236这款芯片。

 

okXM78DT1cBAJM4hHHwsqNKVwiiCbazovDGG7Q7q.png

gkw9s0AMsp6U9kZKkFfdMXXgXHA3ByVXmHEpSkfd.png

 

注意,C1 C2 C3为0805封装的贴片电容,因为它的耐压需要超过12V,0603封装的22uf电容价格很高。

 

3.ADC采样

为了实现,Type c接口供电和电池供电的切换,设计了adc采样,当adc采样通道检测到了Type c接口的电压,就会控制另一个gpio口输出低电平拉低mp2236的降压使能端,起到电池停止供电的作用。同时,使用ss54二极管,分离两路供电。(该功能暂未验证,待二次打板验证)

 

iBxZpcrpRMgml8LP2ZnTNlXiZ9EN5epW7F83hKOW.png

当然,倘若功能不成功,也可以R3 R4 R5 R6全不焊,焊接R13,直接用电池电压作为高电平拉高使能端。用type c接口供电需要稳压电源,普通手机充电器提供不了4A的电流。

 

3.使用代码

开启电脑或者手机的热点,在代码中更改热点的名称和密码,烧录后,单片机会自动搜索。在浏览器里打开单片机的IP地址,就可以直接操控机械狗了。

采用arduino框架,使用VS Code+PlatformIO开发。

打开页面如下:

 

 

      该项目在代码的编写上仍有很大的优化空间,后续将会借助这个载体,使用esp32-cam实现诸如物体识别之类的功能。敬请期待。

 

更新:

2023.03.15

增加了0.94寸OLED屏幕显示,可以显示成功连接WIFI,显示出WIFI名称和IP地址,并且显示当前的运动状态

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
f20a685b79121b05c2689fcb13da4716.mp4
19
2
Wifi Control.zip
67
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航