基于esp32的简易四足机械狗 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 基于esp32的简易四足机械狗

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

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2023-02-05 14:48:48
更新时间: 2023-03-20 01:58:53
描述

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地址,并且显示当前的运动状态

 

 

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

f20a685b79121b05c2689fcb13da4716.mp4

17
2

Wifi Control.zip

24
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP