smallembedded

Simple four-legged mechanical dog based on esp32

 
Overview

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这款芯片。
 
 
注意,C1 C2 C3为0805封装的贴片电容,因为它的耐压需要超过12V,0603封装的22uf电容价格很高。
 
3.ADC采样
为了实现,Type c接口供电和电池供电的切换,设计了adc采样,当adc采样通道检测到了Type c接口的电压,就会控制另一个gpio口输出低电平拉低mp2236的降压使能端,起到电池停止供电的作用。同时,使用ss54二极管,分离两路供电。(该功能暂未验证,待二次打板验证)
 
当然,倘若功能不成功,也可以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地址,并且显示当前的运动状态
 
 
 
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-07-01 03:27:07
  • Send me the component library I use
  • Crystal oscillator question
  • ADS1.2 calls strtoul(str,NULL,0,NULL), the content of address 0 will be changed
  • GPRS connection problem
  • MCS-51 MCU timer problem
  • 【Classic Show】Five-way relay module circuit

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号