嘉立创产业服务站群
发作品签到
专业版

迷你机器狗RoboDogT810

工程标签

257
0
0
0

简介

本项目基于ESP8266构建,是一个可以手机控制的桌面宠物,外带移动电源和照明功能。

简介:本项目基于ESP8266构建,是一个可以手机控制的桌面宠物,外带移动电源和照明功能。

开源协议

GPL 3.0

创建时间:2025-04-20 11:59:10更新时间:2025-05-08 01:45:14

描述

成果展示

前言

本作品是基于ESP-12F(ESP8266)开发的桌面电子宠物,可以通过手机WIFI遥控完成一些简单的四肢动作,可以显示表情、时间和天气信息,同时带有照明和移动电源功能。

首先感谢嘉立创《机器狗训练营》提供的技术支持和灵感,先后通过复刻插件版的“官方”机器狗到优化后的贴片机器狗RoboDogT800,最后来来回回经过5次打板,若干次调试后成就了这一版功能更加丰富的移动电源机器狗RoboDogT810。

食用方法

  • 拨动开关控制ESP8266和屏幕的3.3V供电,舵机的5V供电和USBA口供电由电源板提供。
  • 狗的左屁股按键开关实现移动电源相关功能,右屁股开关一键收纳收回四肢。

硬件设计

本项目由主控板和电源板两块板子组成,两块电路板通过插接方式焊接。主控板主要由ESP8266模块、I2C显示屏和舵机接口构成;电源板主要包含锂电池接口、锂电池充电和保护电路、USB和照明接口。

系统框图:

电源电路:

    • 电池

由于本项目采用4个舵机,其对电流的需求较大,故本项目采用3节18650电池以并联的方式接入到系统中(建议采用高倍率电芯)。

    • 电池保护电路

采用IP3005A锂电池保护芯片,其内置功率MOSFET,集成了超高精度的过充电压、过放电压、过放电流、过充电流检测保护电路。IP3005A芯片采用eSOP8L封装,自带小型散热片,配合内置功率MOSFET极低的导通电阻阻,在大功率工作下,拥有极佳的散热性。

1.接口H4接锂电池,为避免插接件接触面积小导致的发热等问题,最好使用线径尽量粗的电线(可参考下表选择)使用焊接方式连接。

2. C4 和R13构成电源滤波器,用来抑制电源纹波,C4需要靠近VDD引脚增强滤波效果。R13 的阻值不易过大,当充电或放电>1A 时,芯片内部会开启电流监控功能,随着充电或放电电流变大,芯片VDD的引脚电流也会相应变大,R13的阻值太大会引入过大的电压降,使IC的VDD引脚的实际电压比电池电压偏低。

3.C5是用来抑制VM端口的尖峰电压,避免大电流瞬间变化引起VM电压抖动过高,给芯片带来损伤,故需要靠近VM引脚。

    • 电池充放电电路

本项目采用IP5306充放电移动电源SOC,其集成升压转换器、锂电池充电管理、电池电量指示的多功能电源管理SOC,只需一个电感即可实现降压与升压功能。IP5306 的同步升压系统提供最大2.4A输出电流,转换效率高至92%,空载时,自动进入休眠状态,静态电流降至100uA;充电时 提供最大2.1A电流,充电效率高至91%,内置IC温度和输入电压智能调节充电电流。

1.接口H3可直接外接LED灯珠,实现照明功能。

2.可通过按动KEY2开关或者通过IO2端口控制充电宝的相关功能——短按开启5V的USB输出;长按开关LED照明;双击关闭LED照明和USB输出。

3.充放电指示灯LED1可粗略的判断电量——放电时常亮表示USB输出中,闪烁时表示电量低;充电时常亮表示充满,闪烁表示充电中。

4.下图中虚线框中的元器件针对苹果设备充电设置,如果不对苹果设备进行充电可不可考虑焊接。

    • LDO稳压电路

由于3.3V主要向主控、屏幕和向主控的IO2提供高电平启动信号(在esp-12f通电时IO2为高电平时才能进入运行模式和下载模式),所需电流不大,不需要DCDC降压芯片,直接采用更简单的AMS1117-3.3V线性稳压器,将电池的电压降压为3.3V为主控和屏幕供电。

主控电路:

本项目采用ESP-12F模组进行开发,该模组是基于乐鑫ESP8266开发的低功耗WiFi模块,可以方便地进行二次开发。ESP8266 在较小尺寸封装中集成了超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,支持标准的 IEEE802.11 b/g/n 协议和完整的 TCP/IP 协议栈。

    • 启动模式:

启动模式是指设备在上电或复位时进入的工作模式。对不同的GPIO引脚施加不同的电平进入不同的启动模式。经过查询模组的规格书,可通过设置以下引脚的电平状态分别进入下载模式和运行模式。

故GPIO0、EN、RST、GPIO2必须上拉到VCC,GPIO15必须下拉到GND进入到运行模式;只需将GPIO0下拉到GND则进入下载模式。

    • SPI Flash

由于模组内部已经集成了32Mbit的ROM芯片,故模组pin9-pin14不可用,在原理图中没有画,同样与之对应的焊盘也不做考虑。

外部接口电路:

    • 舵机接口

一般小型舵机的工作电压为5V-6V,故本项目的舵机采用5V供电。IO口采用下拉方式连接到主控模块。

本项目采用SG90的180°舵机。舵机的控制一般需要一个20ms左右的时基脉冲,通过控制占空比(高电平占整个周期的时间比例)来控制舵机的选装角度。以180度角度伺服为例,那么对应的控制关系是这样的:

0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;

SG90的线序定义如下图所示,接线时别接错了^_^

 

    • OLED屏幕

为了方便焊接,简化电路,这里使用的是SSD1315驱动的I2C接口的OLED屏幕模块,该模块自带有屏幕驱动电路,仅需接口接入即可。在此根据该屏幕模块的接口线序配置好了对应接口的线序,直接插入即可使用。注意此处的I2C总线上各自接入了两个上拉电阻,具体原理详见视频链接

                       

    • 下载烧录接口

为方便下载,单独引出了IO0及GND接口作为跳帽插入接口,当插入跳帽短接H2接口的2#和3#引脚时,IO0被拉低,进入下载模式。反之被主控部分电路拉高,进入工作模式。

    • GPIO15按键

按键部分使用的是IO15引脚,由于IO15必须接下拉电阻,IO15必须在启动时保持低电平才能进入运行模式,所以按键按下时拉高,空闲时被拉低。

ADC电量检测电路

由于电池电压最高为4.2V,MCU的ADC输入最高电压为1V,故需要设计电量检测电路,实现4.2V→1V的一一映射。本项目通过采用电阻分压采样的方式来间接的获取电池电压值,电路图如下:

根据上图信息利用欧姆定律可得出:

我们需要当电池电压为4.2V时,MCU的ADC接口输入电压为1V,则根据上式得出:

假设R14使用阻值为100kΩ,代入上式计算得出R13为320kΩ。

由于考虑到不太容易找到需要的320KΩ的电阻,故设计成了3个电阻并联的形式,只要三者的和为320kΩ即可,多余的直接用0欧姆电阻或者导线连接即可。比如我这里就是采用220k+100k+0Ω的三电阻串联方式。

另,ADC电压检测部分涉及到的电阻最好采用±0.1%精度乃至更高的电阻。

软件设计及刷写

本项目使用VSCode中的PlatformIO插件进行开发,data文件夹里存放的html文件,src文件夹存放固件源代码。如果需要修改源代码,请自行下载源代码修改即可。如若不需要对程序进行修改,则直接下载firmware.bin程序固件和spiffs.bin文件系统固件。以上文件见附件。

串口驱动安装

请事先准备好TTL串口刷机模块,安装好对应的驱动程序。笔者这里使用的是CH340为主控的TTL串口模块,并已经安装好CH340的USB串口驱动。CH340的驱动程序点击下载(密码7795)。

接线

    • 短接IO0和GND端口,见下图

    • 按照如下示意图链接串口版和主控板:

    • 将串口版插入电脑USB口,键盘按下徽标键+R打开运行窗口——输入“devmgmt.msc”打开设备管理器,找到串口版所在的COM口,如下图:

固件烧录

可以使用VSCode中PlatformIO编译器进行烧录,也可以使用乐鑫官方的Flash Download Tool进行。笔者建议使用官方程序进行烧录操作,软件见附件。烧录步骤如下:

    • 双击运行解压后的flash_download_tool。
    • 选择芯片为ESP8266,其他保持默认,点击OK进入烧录界面,如下图:

    • 点省略号依次打开附件中的固件程序和文件系统程序,输入地址0x0和0x300000,并勾选,最后选择串口号后,其他保持默认即可,点击“START”开始烧录,如下图

    • 烧录完成后界面会显示蓝色的 FINISH。

3D外壳

笔者这里已经准备好3D外壳,请点击链接跳转makerworld下载(谢谢各位帮我赚取积分^_^)。3D模型的开孔说明如下图所示:

 

组装焊接要点

    • 建议使用加热台对贴片元件进行焊机,使用电池点焊机对18650电池进行链接。
    • 18650电池采用并联方式连接,使用定位器(见附件,用3D打印)定位电池排解间距和角度,以便放进机器狗的肚子中,并方便使用点焊笔焊接。建议焊接导线时先焊接电路板端后焊接电池端,随时做好绝缘包扎,以防短路。参考下图。

    • 舵机接口和开关接口采用弯针焊接在电路板背面,见下图。

    • 电源板和控制板的连接方式见下图,注意方向!

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
1
无标题视频——使用Clipchamp制作.mp4
0
2
ESP烧录器.zip
0
3
firmware.bin
0
4
spiffs.bin
0
5
源码T810.7z
0
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

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

底部导航