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

ESP32S3 Kits

工程标签

467
0
0
0

简介

支持一键开关机、电池充放电、USB烧录模块扩展的ESP32开发板套件

简介:支持一键开关机、电池充放电、USB烧录模块扩展的ESP32开发板套件
彩色丝印征集令

开源协议

GPL 3.0

创建时间:2024-11-01 10:50:42更新时间:2024-12-02 01:21:08

描述

故事

不知不觉,学习电子电路已经有一年时间了。有幸参加了很多期嘉立创的活动,也做了很多块板子。
每次做板子,都要重新设计一次PCB,重新画线。于是我从Arduino Shields项目中受到了启发,想设计一套可以模块复用的开发板套件。正好一年一度的彩色丝印活动开始了,我画了一块新年主题的主板。

WechatIMG298.jpg

项目介绍

第一版的套件包含:主板、USB-TTL模块、一键开关机模块、电池充放电模块。

2024-11-30_22-15-04.png

组合使用的话,如图方式进行Pin To Pin连接,可以焊接或者通过针脚连接。

IMG_9552.jpeg

IMG_9553.jpeg

IMG_9554.jpeg

主板

3D_ESP32S3_2024-11-30.png
MCU选择的ESP32 S3,电路设计参考的 立创·ESP32S3R8N8开发板
。稍有不同的是:
1、使用 2N7002DW 代替了两颗三极管;
2024-11-30_21-21-15.png
2、GPIO48使用运算放大器控制LED灯;

2024-11-30_21-21-59.png
3、采用0603封装;

主板分左右两个区:扩展区和核心区。扩展区包含 2块洞洞板区和5块引脚区。

2024-11-30_21-25-22.png

USB-TTL模块

3D_USB_2024-11-30.png

USB-TTL模块与主板上下贴合使用或单独使用。

3D_USB_2024-11-30.png

左上Pins分别是:

  • VBUS:来自USB的经过保险丝后的+5V输入
    
  • NC:不要使用(直接连接电池,为了避免过放,不建议使用)
    
  • GND:共地
    

右上Pins分别是:

  • 5VBAT:来自电池的经过TP5400升压后的5V输出
    
  • GND:共地
    

左下Pins分别是:

  • 5VIN:来自开关模块控制的5V输入
    
  • ACT:开机关机动作按键
    
  • OFF:强制关机按键
    
  • GND:共地
    

右下Pins分别是:

  • 5VINEN:5VIN使能引脚,使用一键开关机模块时,将5VINEN和5VOUT连接,电路电源开关受到一键开关机模块控制
    
  • 5VOUT:来自USB或电池输出的5V电源,不受开关限制
    
  • 3V3:3.3V输入
    
  • GND:共地
    
一键开关机模块

2024-11-30_22-32-39.png

2024-11-30_22-34-10.png

在经典的一键开关机电路基础上,增加了C1电容和防倒灌二极管,可以在MCU刷机的时候,保持电源开关

3D_ActionSwitch_2024-11-30.png

Pins的含义分别是:

  • 5VIN:来自供电模块的5V输入
    
  • VMCU:来自MCU的+输入
    
  • 5VOUT:受开关控制的5V输出
    
  • ACT:开关机和功能按键信号, 按下时为低电平
    
  • OFF:MCU控制关机信号, 高电平保持开机,低电平关闭
    
  • GND:共地
    
电池充放电模块

3D_Battery_TP5400_2024-11-30.png

该模块使用TP5400实现电池充电放电,也可以单独使用

IN一侧Pins分别是:

  • U+:来自USB的5V输入
    
  • B+:接充电电池+
    
  • B-:接充电电池-
    
  • U-:接USB的GND
    

OUT一侧Pins分别是:

  • +: 输出+5V
    
  • -: 接地
    

测试程序

注意烧录程序时,要保持开机状态,如果OFF_PIN时低电平,可以按住开机键保持开机状态。

点灯
#include 

void setup()
{
    pinMode(48, OUTPUT);
}

void loop()
{
    digitalWrite(48, LOW);
    delay(100);
    digitalWrite(48, HIGH);
    delay(100);
}

开关机控制
#include 

#define ACTION_PIN 5
#define OFF_PIN 7

unsigned long buttonTimer = 0;

void setup()
{
    // 按住开机键2秒后启动
    pinMode(OFF_PIN, OUTPUT_OPEN_DRAIN);
    digitalWrite(OFF_PIN, LOW);
    delay(2000);
    digitalWrite(OFF_PIN, HIGH);

    pinMode(ACTION_PIN, INPUT);
    pinMode(48, OUTPUT);
}

void loop()
{
    if (digitalRead(ACTION_PIN) == LOW)
    {
        // 按住开机键2秒之后松手关机
        if (buttonTimer != 0 && millis() - 2000 > buttonTimer)
        {
            digitalWrite(OFF_PIN, LOW);
        }
    }
    else
    {
        buttonTimer = millis();
    }

    digitalWrite(48, LOW);
    delay(100);
    digitalWrite(48, HIGH);
    delay(100);
}

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

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

底部导航