
易扩展的迷你数控可调电源 FLPowerPro
简介
一个可扩展功能的迷你数控可调电源,可实现升降压输出、CC表监测、USB纹波检测、PD\QC协议检测和诱骗、可扩展uA测量功能、锂电池均衡充功能、电流型电子负载
简介:一个可扩展功能的迷你数控可调电源,可实现升降压输出、CC表监测、USB纹波检测、PD\QC协议检测和诱骗、可扩展uA测量功能、锂电池均衡充功能、电流型电子负载开源协议
:CC BY-NC-SA 4.0
描述
视频链接:
源码链接:
https://gitee.com/yllff/flpower_pro
CNC外壳套件购买链接:
剩余一些外壳套件,包含CNC外壳、金属按钮、液晶屏、玻璃盖板等配件。
https://mall.bilibili.com/neul-next/detailuniversal/detail.html?isMerchant=1&page=detailuniversal_detail&saleType=0&itemsId=13053330&loadingShow=1&noTitleBar=1&msource=merchant_share
文档更新
2025/07/28
- 修改文档一些错误说明。
- 更新CC扩展板原理图中U23、U24 smt铜柱型号。
- 添加核心板4颗固定孔位置上的smt铜柱,微调功率电感位置以更方便组装。
- 修改电池充放电运放原理图错误部分,添加部分电路。
2025/09/01
- 输入接口由XT30更换为带载15A的DC座(Main V1.4)
- 增加一款更加有散热性的底板
- 增加一路风扇电路,后续会设计一款外置风扇底板
- 输入输出增加理想二极管电路,输出范围增加到0.4V-35V(20V输入时最低1.4V输出,5V输入时最低0.4V输出)
- 中框按键帽尺寸改为3.2mm直径,适配某宝上的一些现成的金属按键帽
- 增加全按键版本(2只轻触开关代替滚轮编码器)固件
2025/10/20
- 上传了源码,修复了一些问题
2025/11/5
- 增加2款风扇底板,详情见风扇章节
- 上传了部分不常用难找到的元件购买链接
- 更新部分介绍
2025/12/1 - 删除了1.2版本的主板,以免打错板。工程文件备份放到qq群里
- 更新PCB按键部分布线,加了铺铜避免按键焊盘掉落。
项目简介
这是一个很有意思的迷你电源,旨在提供一个可升降压数控电源输出的核心部件,其具有2个扩展接口,可以让使用者在这个核心基础上自行设计扩展功能。本项目已经额外设计了一个uA测量扩展板以及带被动均衡的锂电池充电板。
核心部件基于AT32F403A单片机以及sc8701来实现升降压输出,支持5-30V输入,3-36V输出。具有短路保护、过温保护、反接保护等,尺寸约为52x52x15mm(宽x长x高)。
项目功能
本项目分为核心部件以及扩展部件,核心部件集成了主要功能实现升降压输出,并且提供了2个扩展接口,通过扩展接口可实现更多功能。
- 核心功能:
- 升降压输出,通过DC5525接口接入电源,输出2-36V电压,支持限流,调整10mV/10mA。具备输入防反接保护、输出短路保护,输出防倒灌保护。
- 输出使用理想二极管防倒灌,支持直接给电池充电。
- USB通讯,支持上位机校准、查看参数等,支持VOFA+相关格式数据上送,用来监测各路电源状态(typec电压电流、输出电压电流、负载电压电流等)以绘制实时波形。
- 内置扩展接口:
- 用于实现CC表相关功能,可实现PD\QC协议检测和诱骗(可诱骗出最大功率提供给核心板做为输入电源)、VBUS纹波检测、
- 外置扩展-uA测量板:
- 使用xt30输出可调电源给负载供电,监测uA级别的电流。三段采样,频率10KHz。
- 外置扩展-均衡充电板:
- 支持6S电池均衡充电
- 支持外接散热风扇
- 电流型电子负载,支持电池放电监测,也可以对输入电源进行带载测试。
项目参数
尺寸: 52x52x14mm(宽x长x高)
交互方式:1.54寸240x240分辨率TFT屏,1个滚轮编码开关,3颗轻触开关
电源输入接口:Type-c口,DC座【5525】接口
电源输出接口:功率计量Type-c口,可调电源输出XT-3.0接口
可调电源输出范围:2-36V,0-8A
项目介绍
1. 硬件
就如上面介绍的,我将核心功能设计到一块板上,集成了MCU相关电路、sc8701升降压电路、输入输出接口电路,因为尺寸要求,阻容换成了0402封装的(这部分可能对复刻方面增加了点难度),LCD屏幕使用了插件式的。如果你只想要一个升降压电源,那么只需要这一块核心板就可以了。核心板上留出了2个接口用于实现扩展功能,接口分为内置扩展和外置扩展。整体框架如下所示:

1.1 PCB板介绍:
- Main_Vx.x: 电源的核心板,实现了升降压输出。只想要升降压数控输出功能只需复刻这块板。
- Extend_CC_Vx.x: 内置的CC扩展板,实现PD/QC协议检测、CC表、VBUS纹波检测功能,与核心板组合做为FLPowerPro整机。
- Extend_uAMeter_Vx.x: 外置的uA测量扩展板,实现uA测量功能。
- Extend_batCharge_Vx.x: 外置的电池充电板,支持被动均衡,放电检测(电流型电子负载)。
1.2 扩展原理:
我在核心板上设计了2个扩展接口,其实就是将部分MCU的IO口引出,2个接口定义如下:

其中H1为内置扩展接口,U64为外置扩展接口(不要在意位号,立创EDA有些端子就是这样用U?标识,我也懒得改)。我设计了一块CC扩展板接到H1上,其io的作用可以看Extend_CC板原理图。H1上的io功能基本固定,而U64上的io不同,因为扩展板功能的不同,需要到的io引脚功能也会不同,比如有些需要gpio,有些需要uart,有些需要adc引脚等等,所以做为外置扩展上的io,会根据扩展板而重新复用,以此来实现不同功能。每次进入不同app时会进行重新初始化,在app退出时设置为默认模式。U64上各io引脚功能如下所示,可以看到我选择的io引脚涵盖很多外设如GPIO、UART、ADC、TIM(PWM)、I2C、CAN这些。

下图分别标注了uA测量扩展板和充电扩展板对应io的复用功能:

下面是3块扩展板的3d图:



1.3 升降压电路原理:
这部分可以查看我之前开源的迷你数控电源,这个项目也是对之前的电源进行了重构和改进。
1.4 人机交互:
相较于波轮开关,常用的滚轮编码开关(SIQ-02FVS3)在使用和UI控件控制方面会更加的优雅,但相对的价格也会超出很多(波轮大概1元,滚轮编码大概6元),后来我找到一个折中的元器件,18脉冲增量型拨轮编码器,价格在3.5元具有滚轮编码不带按键功能,配合另外3颗轻触开关可以提升交互体验。

显示方面依旧是1.54寸的240x240LCD屏(插件型),调整了轻触开关位置更加适合操作。

1.5 输出防倒灌:
输出端设计了双MOS管用来做防倒灌,同时也可以在检测到短路电流后迅速断开输出。mos管通过mcu的io引脚控制通断,缺点是mos管存在启动电压门限导致输出最低在2V左右,还有在使能后即电源输出时不支持防倒灌,目前解决方案是通过软件检测输出电流的方向,如果检测到电流倒流即断开mos管。
Main V1.4版使用了理想二极管驱动芯片实现放倒灌功能,可以让输出范围达到0.5-36V。驱动芯片为MX16171,高侧驱动为外部N沟道MOSFET提供电荷泵栅极驱动,并配备快速响应比较器,当电流反向流动时可关断FET。我在输入也串了理想二极管,防止意外发生电流灌入输入电源导致其损坏。

并且想要实现低于1V的导通输出,其src引脚需要提高独立电源。

1.6 散热以及风扇接口:
V1.4版本的核心板增加了一路风扇驱动电路和测温电路,用来扩展底板风扇功能以及过温保护,NTC电阻紧贴液晶背面的外壳部分,当检测到外壳温度超过设定值时关闭输出。

风扇接口只留出了2个焊点,适合5V驱动的风扇。推荐使用3004涡轮风扇或者3507涡轮风扇,都是侧吹。

带风扇散热可以让电源长时间运行,不严谨测试输出功率在70W以上时运行半小时以上,带风扇底板的外壳温度维持在50℃左右,而普通版本的电源外壳在几分钟内就上升到70多℃。目前有2个版本的风扇底板,其中3004版本是群友“💋撕夜”设计(感谢开源,外壳文件上传到附件),适配超薄3004涡轮小风扇,颜值高底板整体厚底5mm。风扇某宝价格在17元左右。这个版本底板目前正在QQ群里进行团购。
3507版本是我按照嘉立创cnc特价规则设计的,特价22元+5元运费。适配的3507风扇在某宝有款2元的,比较实惠但厚度有8mm。
风扇链接:限时特价3507微型风扇


2. 结构
为了提升电源性能和散热能力,外壳使用了CNC工艺,设计整体结构将发热器件(电感、MOS管、SC8701等)紧贴外壳。面板换成钢化玻璃提高耐用性,当然复刻的时候节省成本还是可以使用亚克力面板。
如上面介绍的lcd屏使用了插件型,以此和核心板脱离开来。可以尝试将lcd屏和面板贴合让电源更加精致。核心板上的固定孔位焊接了贴片螺母用于垫高,使得底板工艺更加简单,可以使用嘉立创的1元打样活动。整体结构如下:

各处散热设计:


3. 软件
GUI交互和软件分层设计可以查看迷你数控电源,这里介绍下扩展功能部分的代码。
上面提到扩展接口里的io引脚需要根据扩展板来复用功能,我们可以在board层添加一些配置函数,在进入app应用时来调用。
void config_reset(void)
{
...
}
void config_uA(void)
{
...
}
void config_bat(void)
{
...
}
void board_extend_config(uint8_t ex_mode)
{
board.extend_mode = ex_mode;
switch(ex_mode) {
case kBoardExMode_uAMeter:
config_uA();
board_meter_mode(kBoardExMeter_A);
board_adc_config(kBoardADCMode_uA_meter);
break;
case kBoardExMode_batCharge:
config_bat();
break;
default:
config_reset();
board_adc_config(kBoardADCMode_normal);
break;
}
}
如果你想扩展些其他应用,可以参考目前的app应用代码,写好对应的函数然后加入到ui_homepage.c中的app_data[]即可。
static app_icons_data_t app_data[] =
{
{"CC表", &ui_img_cc3_png, lv_cc_open, lv_cc_close, cc_group_select, },
{"PD检测", &ui_img_cc3_png, lv_pd_open, lv_pd_close, pd_group_select, },
{"QC检测", &ui_img_cc3_png, lv_prot_open, lv_prot_close, prot_group_select, },
{"电源", &ui_img_power_png, lv_dp_open, lv_dp_close, dp_group_select, },
{"uA测量", &ui_img_uameter_png, lv_ua_open, lv_ua_close, ua_group_select, },
{"充放电", &ui_img_charge_png, lv_bat_open, lv_bat_close, bat_group_select, },
{"设置", &ui_img_setting_png, lv_setting_open, lv_setting_close, setting_group_select,},
{"关于", &ui_img_about_png, lv_about_open, lv_about_close, about_group_select, },
};
组装流程
配件清单(不包含外置扩展部分)如下:

由于电源较迷你所以组装的时候要细心。在准备所有配件后可以按照以下步骤进行组装:





功能使用
这部分介绍复刻完硬件后的烧录固件、校准步骤以及各个功能的使用。
1.烧录固件
当硬件复刻好后需要先烧录固件,这里推荐使用usb来烧录(附件有其他烧录方式)。
首先安装雅特力的USB DFU驱动,在附件中找到“Artery_DFU_DriverInstall.exe”双击并运行即可。

按住电源启动键,在插入usb连接到PC端,设备管理器会弹出“AT32 Bootloader DFU”设备,表示连接成功。

打开“ArteryISPProgrammer.exe”,接口类型选择USB DFU,工具会自动识别到插入的设备。

继续点击下一步,直到下图,选择bl.bin和fl_power_pro_iap.bin固件(注意地址范围选择,bl起始0x08000000,iap起始0x08005000),点击下一步,对弹出的提示选择确认,等待固件烧录成功即可。


2.更新固件
第一次烧入固件后,如果后续要更新固件可以使用更方便的操作方式。按住返回键再插入usb连接到PC端,电脑会弹出名为“AT32 IAP”的U盘,将要更新的xx_iap.bin固件文件拖入U盘即可更新固件。

3.校准
烧入固件后重新上电可通过指示灯是否为呼吸模式来验证烧入成功,同时屏幕应能正常显示。先测试滚轮编码器以及按键功能,没问题后通过usb连接到pc,打开上位机导入参数,一般这时重启后各功能都应正常,只是采样和输出精度会有误差,我们需要进行相关校准。
3.1 采样校准
我们先对采样部分进行校准,目前关于采样这块使用多段映射方式,即每个采样值会保存多个[实际值, ad值],上位机选择要校准的测量项,再点击校准map,界面会刷新当前的采样值,填入实际测到的真值后锁定当前行,再继续校准后面段直到校准所有段。
3.1 输出校准
采样部分准确了后我们再校准输出部分,电压电流输出目前仍是线性方式,与采样校准类型类似,P值做为输出占空比(1000最大),I值为对应占空比输出的实际值。
4.功能使用
4.1 cc表功能
因为内部的fusb302的cc引脚并没有接到typec上,所以默认不参与协议协商,充电器和受电设备相当于直连。如下图所示:

这种方式可以用来监测手机充电电流曲线等等。我们可以通过usb接上PC端,用VOFA+软件来查看实时的电流功率等。

或者我们直接使用电源表直接进行协议,此时受电设备就是一个普通负载。我们接上充电器后按下“返回键”开启电源表,选择进入QC协议app,可以对充电器进行qc协议检测和诱骗。或者同时按下确认键和返回键,开启pd协议,进入PD协议app,选择对应的协议等级。

CC表app里可以切换界面选择查看当前电压电流波形,也可以查看Vbus的纹波。
4.2 升降压输出
我们可以选择typec口或者XT30口接入电源,注意不要同时接入! 当选择typec口接入时,如果设置里选择了“自动PD开启”那么在进入电源app时会自动诱骗出最高功率的pd协议电压(比如20V5A)。可以点击快捷设置选项选择对应的电压电流输出项,或者编辑电压电流设定值,设定好后点击电源启动键即可输出。

输出使用了双MOS管做防倒灌,所以可以直接接电池进行充电。

4.3 uA测量
外接uA测量扩展板,选择进入uA测量app,目前自动档还没写仅支持手动挡位,选择好挡位后开启数控电源输出(输出电压目前只能在数控电源app里设置)开始测量。这个扩展板有个缺陷,开启电源会有分流情况,即存在偏置电压而且会随着输入电压变化而变,我目前测试用的都是5V输出,校准也是按照5V输出校准的。并且目前也没有写好对应的上位机。

4.4 充放电
前面说到在电源app界面可以直接给电池充电,而在充放电app里增加了均衡功能,支持6S电池均衡充。接上电池扩展板后,先接好xt60线,再接上均衡线,打开均衡功能即可自动均衡。在该界面我们也可以接上usb到PC,使用VOFA+软件监测电池的充电过程。

我们还可以切换界面到放电界面,设置好放电电流开启电池放电,同样可以使用VOFA+软件监测电池的放电过程。

注意事项
- PCB板厚度都选1.0mm,4层板板层选择JLC04101H-3313。
- 电感如果没有贴紧外壳内侧可以用0.5mm厚的导热硅胶来填充。
- 外置扩展板功能有些缺陷,后期改进。
- 开启了“自动PD开启”选项后,在进入电源app界面时会主动诱骗出最高功率的电压等级(比如20V5A),此时另一个typec口也会有20V,注意此时接了一些设备会导致过压损坏。
复刻问题
先不着急打板,有丢丢小问题,运放芯片画反了要反着贴片(已修改)- 先插入cc口typec电源,再插入pc端typec会重启?
正常的,电源方案为pc端优先供电,后插入会进行电源切换导致瞬间失电重启。 - 按下电源启动键,屏幕on指示亮起但是没有输出?
首先确定下是否进行了校准或者导入参数步骤,再排查下实际输出是否有,如果没有则排查sc8701部分的电路,如果有则排查电流采样部分电路。
后续发现的一些问题会更新在gitee上。
QQ交流群:
528052942【flpowerPro电源交流群】
334607120 【聊天群】
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论