# ESP32 UPS 12V **Repository Path**: aliyy2017/esp32-ups-12-v ## Basic Information - **Project Name**: ESP32 UPS 12V - **Description**: 基于 CN3306升压充电,TPS40057 12v 10A输出的ups系统 - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2024-11-06 - **Last Updated**: 2024-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32 UPS 12V #### 介绍 硬件: 基于 CN3306升压充电,TPS40057 12v 10A输出的ups系统,可监测输入,输出,电池的电压及电流,一路可控制输出 软件: 通过esp32监测电压,通过web可查看信息及控制输出,以及断电及恢复供电时通过mail通知用户 待增加功能:通过ssh对linux系统进行关机操作,通过远程开机卡对主机开机键和reset键的控制对主机进行开关机控制 ——————————————————————————————————————————————— 以前买过N个山特c1ks,基本都故障了,不是主机故障就是铅酸电池老化,之后很少遇到断电,就没再配置 但NAS最近遇到电源故障,12V电源挂了,为了NAS的安全,还是需要有个UPS,基于NAS,路由器都是12v供电,所以构建如下 主电源12v,使用LTC4412理想二极管进行电源路径管理,充电部分使用 CN3306升压,电池电压<32V,4串锂电保护电路采用BM3451,放电部分使用kic1210,TPS40057 自带短路保护,40V输入,10A输出自带散热片,实际测试135W稳定工作 硬件部分有2个版本 早期的单颗INA226监测输出功率 电源监控的输出部分使用一片INA226,输入电压和电池电压由ESP32自带的ADC脚粗略检测 https://oshwhub.com/muyan2020/dian-chi-zu-ban_copy_copy_copy ![输入图片说明](images/8PRbw5Jba9hoyGaLNHxxOxNGZ9kik51dOfOSUHiF.png) ![输入图片说明](images/aqshR21igKTdQj28VYjLPPsVmNeQUbplCp9hRkdK.jpeg) 新版INA3221 https://oshwhub.com/muyan2020/dian-chi-zu-ban_copy_copy_copy_copy ![输入图片说明](images/VugEr8US6rYlGl57MJitY427w4o1jPFP8l7NLl8J.jpeg) 主要功能: 电源监控的输出部分由上一版本INA226改为INA3221,三路电压电流监测,12v输入电流监测、电池电流输出监测和12v输出电流监测 一路常开,一路可控输出 增加小屏幕显示当前信息 当断电及恢复时由esp32发送emai提示 ![输入图片说明](images/vARQjQiNd5HVF450Tfa52T8SoJQqyFoUiDDuktCi.jpeg) 20240522 更新固件,增加ads1015外接检测电池组电压的功能,目前是检测4S电池 ![输入图片说明](images/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-05-22%20090014.jpg) 20240410 终于咬咬牙把这个坑给填了,功能主要基于自己的日常使用,所以有些功能可能不是很适合,需要的先用用看吧,有需要再改进 留个坑整理一下功能说明 1、输出控制 我使用的场景是太阳能充电及晚上12v电源供电,也就是双路供电 硬件上有2组输出,一组是常开,另外一组是可控输出,可以通过设定为,手动、常开或者定时来进行控制 2、充电开关控制 额外地通过对充电IC的en脚进行控制充电起始电压和结束电压,使电池不会长期处于充满状态,以延长电池寿命,当然这是和续航之间的取舍 3、外部输入控制 由于使用双路输入,所以额外增加了一个控制板,用于双路电源冗余,白天时通过光伏进行电池充电,晚上则通过定时控制打开12v电源的输入 这里的IO输出的是高电平开启,低电平关闭,其他的IO都是低电平开启,高电平关闭 4、NAS开关机控制 通过SSH连接到服务器,进行关机和重启,开机部分目前是连接到主板的一个IO,由IO控制开关机模块,之后可能会通过wifi的方式连接到之前做的PCI及PCIE开关机控制板 当然由于开机设备的不同,会有多种可能性,还是根据实际情况来增加吧 ![输入图片说明](images/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-04-10%20190356.jpg) 这里会显示一些动态的电压电流数据,目前并没有记录,没有增加额外的存储卡设备 ![输入图片说明](images/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-04-10%20190457.jpg) 设置部分,个人感觉还是通俗易懂的,按照说明设置就行 ![输入图片说明](images/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-04-10%20190538.jpg) 电池的设置部分考虑之后可能改版,可以使用非4S的电池,所以通过自定义的方式设定自己需要的电池电压,当然这里对于充电的控制还是比较简单的电压比较 之后可能会加入对电池容量的计量 ![输入图片说明](images/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-04-10%20190608.jpg) ![输入图片说明](images/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-04-10%20190804.jpg)