liaozhelin / yds-charger

一个精致的多功能四路166W桌面充电器
Apache License 2.0
588 stars 124 forks source link

四路桌面智能充电站

这是一个实用型智能多路桌面充电器项目

视频介绍:【开源】如何自制一个全能桌面充电站?

如果觉得视频还可以的话,留下一键三连哦 ( ˊ•̥▵•)੭₎₎

本项目欢迎复刻,禁止商用!!

整体成本(纯硬件)在50元左右,目前没有贵的离谱芯片,选用的芯片基本都是国产使用量较高的

有任何问题请在issues中提交哈,包括软件功能建议,其他平台的消息不一定看得到👀

  • 最近在咸鱼上能看到很多本项目的166W充电器的套件以及成品。在此声明这些均非本人上架,本人所有资料无偿开源,未从其中收取任何利益!本项目欢迎大家复刻改进、在合适的价格下出售有限数量的成品/套件(时间精力也是成本)方便新人,但不是商业化批量生产,高价出售并以此赚钱。有大佬在开源代码的基础上改进,并无偿开放了固件,在此表示感谢。请大家共同维护开源环境,国内开源环境已经很难了,尊重技术和开发者,开源才能走的更远!

5E3306F0C8ED8A1241D5FD975B7F77DC

仓库目录说明

  1. Hardware:【上层板/下层板/前面板/后面板 】gerber文件/原理图源文件/原理图PDF文件/坐标文件/BOM文件
  2. Firmware:【 ESP32C3FN4 的固件以及工具 】固件/驱动/下载烧录软件
  3. Software: 【 软件工程源码 】esp-idf-4.4 版本开发环境
  4. Structure: 【 整机结构文件 】包含电路板及外壳装配文件,软件版本Soliworks2022
  5. Documents: 【 项目所用到的文档手册等 】部分手册,有些手册是厂家不让流传的没有上传

资料说明 (更新日期22-5-30)

一、项目介绍:

1.1 硬件选型:

本项目的硬件购买都来自于淘宝,虽然有可能有假货,但是我没有翻车,大家可以酌情选择。

3

1.2 项目参数

输入电压:10V-32V直流 (推荐使用换下来的笔记本充电器,咸鱼便宜量大,当然更推荐24V5A台达电源,可以最大程度发挥功率)

输入功率:>80W (满载144W,但是一般不会全部满载)

快充参数如下:

PCB参数:47*80(mm) 厚度1.6mm 四层板

整体尺寸(含外壳):50X20X80(mm)

二、制作教程

2.1 制作注意事项

本产品焊接完成,测试无短路虚焊后,可通过下载口USB连接电脑,烧写程序后即可使用(ESP32C3自带内部USB和JTAG,十分方便),如果不识别可能需要自行下载C3驱动安装即可

上层板和下层板装配采用常规排针排母,但是排针需要特殊处理下,去掉塑料部分直接焊接,不然槽间高度不够:

第一步 第二步 第三步 第四步 第五步
image-20220613213737766 image-20220613213846373 image-20220613213913880 image-20220613213958565 image-20220613214043013
将排针插进上层板,顶在桌面上,往下按 取出后可以得到如上排针,按照这个样式制作三组 用水口钳去掉塑料部分,得到针脚 将排针插进下层板焊接好的排母中 将上层板子和下层板紧贴,排针插进洞中,然后焊接,这个距离刚刚好是两槽间距离

上层板的上面焊接完后,可以在上层铝壳对应位置贴上黑胶布绝缘(不贴也可以,实际上还有一定距离,保险起见)

2.2 固件烧录教程

通过Fireware/tools文件夹中的 flash_download_tool_3.9.2 工具下载

本项目暂时不提供PCB源文件,源码已经全部开源,有需要二次开发的朋友可以自行修改

​ 本项目不需要烧录器/下载器,只需要你有一个USB线,但是需要自己焊接一个降压电路将USB口的5V转到3.3V(或者不从排针3.3V处供电,直接通过DC口供电),一定不要把5V接到板子上的3.3V处,必烧ESP32,我是使用了一个洞洞板+AMS1117焊接的简单下载器:

烧录器 烧录器连接板子
image-20220613220723699 image-20220613220739571
  1. 合并固件位置在 Fireware/bin/target.bin ,独立固件位置在 Software/yds_charger 中,推荐不打算自己后续开发的使用合并bin下载方式。

  2. 软件打开后将设备连接到电脑,如图片图1设置好下载模式后,点击OK。

  3. 【合并bin下载方式】按照下面的图片图2设置好软件,点击下载应该就可以下载固件了,一共需要烧录一个固件即可,地址设置0

  4. 【独立bin下载方式】按照下面的图片图3设置好软件,点击下载应该就可以下载固件了,一共需要烧录四个固件,注意地址设置

    如果出现连接错误可以将上板后面的拨动开关向左(从前面看,也就是上面板有时间编号的那一边)拨住不松,然后再上电,就会进Boot模式)烧录完成,断电后重新上电,应该就可以正常使用了。

​ 烧录完成后,重新上电复位,就可以使用了。

图1 图2 图3
image-20220613221404829 image-20220613220700508

​ OTA采用了 APP+OTA1+OTA2 的乒乓式更新分区(这样就算更新到一半断电断网也不会变砖),首次烧录完后续盖上盖子后,后续就可以使用无线更新了。

三、IDF开发

3.1 开发环境搭建

​ IDF开发环境我是在 Windows 系统中使用 VScode+idf拓展插件 在Python虚拟环境中实现开发的,实际上也可以在Linux中直接搭建环境开发,或者使用WSL+VScode远程插件 也是可以的,可以根据自己的需要进行选择,详细的搭建步骤可以见官网搭建流程

​ 下面以我的VScode+idf拓展插件 搭建环境为例:

  1. 安装Vscode,这个直接下载安装即可,然后在左侧的应用市场中,搜索关键词 Espressif IDF,安装:

    image-20220613131702897
  2. 插件安装完成后,按F1,在命令中找到Configure ESP-IDF extension选项,点击:

    image-20220613131821004
  3. 选择ADVANCED模式,可以详细配置一些选项:

    image-20220613131919778

  4. 依次设置软件源,IDF版本,IDF路径,IDF工具路径。软件源如果你科学就可以直接选择Github,没有科学可以选择Espressif的国内源,IDF版本这里选择release/4.4,其他两个可以根据自己进行设置(路径中不要出现中文或者空格),推荐使用默认路径,然后点击 Install 进行安装:

  5. 等待ESP-IDF下载安装完成,IDF整体体积不小,具体看网速:

    image-20220613132432305
  6. 接下来安装ESP-IDF工具,其中包含虚拟环境以及虚拟环境中用到的一些工具链,选择 Download ESP-IDF Tools选项,点击 Download Tools

    image-20220613133019914

  7. 等待工具安装完成:

    image-20220613133149569

  8. 若出现如下页面,则安装完成,如果上述中有步骤报错,一般就是网络问题:

    image-20220613133812483

3.2导入工程开发

​ 本项目的工程在 Software/yds_charger 下,将项目克隆到本地,主要修改项目中的.vscode文件夹,这个文件夹中的文件控制着IDF插件的功能以及Vscode本身的代码高亮提示跳转等。

​ 先验证安装环境是否可以正常使用,按F1,在命令中找到New Project,点击:

image-20220613133845390

​ 根据自己喜好修改工程名,路径,板子,串口(没接上电脑就不用选),最后一个选项可以不管,点击 Chose Template

image-20220613134033428

​ 下拉框中选择 ESP-IDF ,这里可以选择一个最简单的项目测试下,sample_project,选择好后点击蓝色按钮生成工程,并信任文件夹中的作者并启用所有功能:

image-20220613134236762

​ 点击工程下面框中的编译按钮,等待编译完成,若能成功生成bin文件则环境搭建成功(编译如果很慢的话,关闭Windows的病毒防护,可以极大提高编译速度):

image-20220613134532026 image-20220613135352420

​ 验证完编译环境后,可以将示例工程中.vscode中文件复制到克隆下的工程中,或者使用 F1 中的添加.vscode文件命令也可以,应该包含下面四个文件:

image-20220613142504698

​ 后面就可以愉快地开发了,烧录下载也一样是用下面的按钮,这里就不赘述了:

image-20220613142901062

功能开发(更新日期22-5-27):

✅ 已经开发完成 🚩正在开发中 ❌还未开发或放弃开发

设计功能 状态 说明
远程网络升级(OTA) 带固件版本号校验
WIFI配网 通过ESPTouch软件配网
主界面显示 待机休眠屏保待完善
快充协议解析 已实现
RGB指示灯 已实现,控制逻辑待完善
各口电压电流监测 已实现
过流反接保护 以实现,已校验
远程控制充电器四口开关 🚩 硬件已验证,还未写逻辑
加速度计(重力感应) 🚩 程序已驱动,还未写功能
C口功率限制 🚩 程序已实现,界面还未增加
OTA自动检测版本升级 🚩 版本验证已完成,json解析还在修改
电脑CPU占用,内存占用显示 还未开发
天气显示 还未开发
粉丝数显示 还未开发
重力旋转屏幕 还未开发
蓝牙广播检测手环自动开关机 还未开发

本项目禁止商用,仅供同好们复刻使用,在制作项目时候,请确保硬件无故障再连接设备使用(我已经使用了两个月,目前没有出过问题,手头设备不是很多,所以测试可能不是很完善,不能保证系统不存在隐藏的问题。希望大家能发现问题一起改进),对于造成高价值设备损坏以及其他连带损失的的,本人不承担任何责任哈。

海拔高度:< 2000米

环境湿度:≤ 75% RH

工作环境:0℃ - 50摄氏度

大佬们复刻成功的成品 (每一张表格是同一作者的成品):

2022-6-13

image-20220613232210129 image-20220613232045957 image-20220613232144704 image-20220613232153162

2022-6-14

image-20220614193137566 image-20220614193200867 image-20220614193233589 image-20220614193340791

2022-6-16

image-20220616132618162 image-20220616132635410 image-20220616132650768 image-20220616132715392

2022-6-18

image-20220618222728414 image-20220618222737315 image-20220618222757839 image-20220618222816230

......

🙌有啥问题随时提issues,已经有人复刻成功了

......

最后纪念一下开发过程中的炮灰小弟们,第一代和第三代还有打孔歪了的==(总共迭代了5版本,其中有2代搬板拆了):

image-20220613232531549 image-20220613232503582