创建一个面包板电源解决方案:将任何USB-PD充电器转换为精密电源
扫描二维码
随时随地手机看文章
在做电子实验时,如何给面包板供电?大多数人使用电池、电源适配器或稳压电源,但每种都有明显的缺点。电池是一次性的,而且随着时间的推移会变得昂贵。电源适配器提供固定电压,没有调节能力。稳压电源体积庞大,不适合便携式工作。
我想创建一个更方便的面包板电源解决方案,可以很容易地在任何地方使用。如今,USB已经发展到支持USB Power Delivery (PD)规范,可实现高达100W的功率输出。此外,支持扩展功率范围(EPR)的USB-PD充电器可以提供高达48V/240W的电压。USB-PD充电器非常紧凑,价格实惠,并且广泛使用。我认为使用这些USB-PD充电器创建面包板电源将是简单方便的。
视觉上
用于面包板的直流电源单元的设想是创建一个紧凑,智能的配电系统,可以:
•弥合USB-PD源和面包板开发需求之间的差距
•提供从0V到30V*1的精确电压控制,分辨率为10mV
•当电源支持时,提供高达5A的高电流能力
•提供实时监控和数据记录功能
•通过全面的保护系统维护安全
•通过现代物联网连接实现远程监控
*1需要一个30V epr兼容的USB-PD充电器。
它是如何工作的
硬件基础
ESP32 - s3 - room -1- n16r8:系统的智能心脏,提供:
•WiFi连接远程监控和控制
•强大的实时PID控制处理能力
•丰富的外设支持传感器和显示器
•低功耗,高效运行
AP33772S USB-PD控制器:电源协商专家:
•使用PD协议与USB-PD源通信
•支持标准功率范围(SPR)和扩展功率范围(EPR)
•从连接的源中枚举可用的电源数据对象(pdo)
•提供全面的保护功能(UVP, OVP, OCP)
•使精确的电压和电流要求
INA228电流传感器:精密测量引擎提供:
•分辨率为195µV的高分辨率电流和电压监测
•基于分流的电流测量精度
•温度补偿漂移校正
•实时功率计算能力
SSD1331彩色OLED:用户界面提供:
•实时显示电压、电流、功率、温度
•WiFi连接状态和电池电量指示灯
•错误信息和系统状态
•直观的用户交互视觉反馈
MOSFET功率控制:有效地管理功率交付:
触控界面创新
电容式触摸界面提供直观的控制:
•上/下触摸:100mV步进调节电压(长按1V步进)
•左/右触摸:10mV级微调电压
•中控:输出启用/禁用(长按)和错误信息清除(短按)
•校准:上+下组合自动偏移校准
双输出灵活性
系统支持两种输出配置:
•单正输出:带接地基准的标准正电压输出
•双正/负输出:分裂电压配置提供±V/2从单一设置
**注:如果使用21V及以上电压,输入电压28v及以上,差分电压超过3V,输出电流超过3A,则MOSFET器件处于高耗状态,单位温度可能上升到80摄氏度以上。请注意温度。您可以在配置文件中设置最高温度。默认值是80摄氏度。如果温度超过限制,将自动关闭输出。我建议在21V或更高的电压下使用小于0.7A的电流。否则,如果将输出电压设置为27V或更高,则温升不是问题
**注:本机使用微控制器和USB PD控制器。这些控制器需要电源才能运行。因此,如果使用过电流,可能会被PD充电器的过电流保护关闭电源。在这种情况下,该机组不能运行,将被关闭。请使用您的PD充电器规格内的电流**
软件架构
软件组件是使用ESP-IDF框架在Rust中开发的,利用其在嵌入式系统中的优势:
先进控制系统
PID控制器:通过以下方式保持精确的输出电压:
•比例控制,即时响应
•积分控制稳态精度
•导数控制的稳定性和超调预防
•电压超调检测自动复位(>设定点110%)
PDO-Aware限制:系统智能:
•从连接的源枚举可用的pdo
•在配置和PDO功能之间应用最严格的限制
•防止超过电源能力,同时最大限度地提高可用功率
NVS内存管理:持久存储能力;
•保存最后使用的电压设置,方便
•存储校准数据的准确性跨电源周期
•在非易失性存储中维护配置参数
数据管道
当地的情报
系统连续:
•采样电压和电流在10ms的间隔响应控制
•实时计算功耗
•监测温度热保护
•在网络中断期间管理缓冲区存储
网络连接
WiFi可用时:
•将测量数据传输到InfluxDB时间序列数据库
•通过web仪表板提供远程监控功能
•支持历史分析和趋势监控
•支持大型安装的多设备监控
智能缓冲区管理
网络中断时:
•自动存储测量在本地内存
•提供缓冲区使用情况的可视化反馈
•当连接恢复时自动恢复日志记录
•防止间歇性连接过程中数据丢失
安全和保护系统
多层保护
硬件保护:AP33772S内置UVP, OVP, OCP
•软件监测:连续温度和电流监测
•用户可配置限制:最大电流,功率和温度设置
•PDO遵从性**:对源功能的自动限制
•紧急关机:在故障情况下立即关闭输出
温度管理
•实时监控:连续温度传感,分辨率0.05°C
•可配置限制:用户可设置的最高温度阈值(默认80°C)
•自动保护:当温度超过限制时,输出关闭
•视觉反馈:温度显示和警告信息
原理图
原理图是使用Kicad创建的。“Sheet1”至“Sheet5”为主板和适配器板的原理图。
Sheet1: USB PD控制器和电源调节器电路
AP33772S USB-PD控制器用于USB PD通信和电源协商。该控制器通过I2C接口与带有电压电平移位器的ESP32微控制器连接。
Sheet2: ESP32微控制器和SSD1331 OLED显示电路
SSD1331彩色OLED显示屏通过SPI接口与ESP32微控制器相连。GPIO(IO1, IO2, IO3, IO4, IO5)用于触摸接口。只需将IO1和IO5连接到触摸板。
Sheet3:电源路径管理,电流传感器和温度传感器电路
INA228电流传感器用于测量电流和电压。并联电阻(5mΩ)接在INA228上。ESP32控制器具有用于MOSFET栅极驱动器的PWM输出。PWM信号连接到LPF(低通滤波器)和OPAmp(运算放大器)电路进行电压控制。OpAmp用于电压跟随器驱动MOSFET栅极。第一个运放的增益为11,第二个运放的增益为1.1。输出电压由PWM占空比控制。温度传感器(LM35)用于温度测量。温度传感器的输出连接到OpAmp(增益=2),然后连接到ESP32的ADC。输出电压反馈到OpAmp和INA228进行电压和电流测量。
Sheet4:单电压输出配置的适配器电路
Sheet5:双电压(正负)输出配置的适配器电路
输出电压由分压器电路分成两部分。输出电压为±V/2。
pcb设计
我用Kicad设计了一个定制的pcb。
主PCB由esp32 - s3 - room -1- n16r8模块、AP33772S USB-PD控制器、INA228电流传感器、SSD1331彩色OLED显示屏、MOSFET功率控制电路等组成。主PCB有一个用于适配器板的连接器和一个用于USB-PD输入的USB-C连接器。
适配器PCB有输出连接器和电源路径管理电路。适配器板有两种类型。一个用于单电压输出配置,另一个用于双电压(正负)输出配置。您可以根据您的应用选择适配器板。主PCB和适配器PCB通过一个12针连接器连接。
单电压输出配置的适配器PCB
双电压(正、负)输出配置的适配器PCB
如何订购PCB
设计完成后,我订购了PCBWay来制造我的电路板。订购板子很容易。点击“Add Gerber File”按钮,即可上传Gerber文件。然后,可以选择阻焊颜色。我选择了哑光黑色,我喜欢这个。这块板子只用了几天就制造出来了。我对董事会很满意。我认为PCBWay的板卡价格是非常合理的。
PCBWay对所有订单都有特别的折扣活动。有两种类型的活动。一款是Purple Solder Mask: Purple的起价是38.43美元,10月份涨到了5美元。另一种是用于3D打印的TPU,这种材料从12.45美元起,但它将永远从7.96美元起。重量越重,折扣越大,现在最高可打4折。(更新10/16/2025)
组装后,电路板是这样的。散热片使用导热胶带附着在mosfet的背面。
如何从代码构建并安装到单元。
使用Ubuntu 22.04.3 LTS和ESP-IDF V5.4.2
先决条件
在继续安装之前,请确保您的系统符合以下要求:
•操作系统:基于linux的发行版
•所需软件包:git、python3、python3-pip、gcc、build-essential、curl、pkg-config、libudev-dev、libtinfo5、clang、libclang-dev、llvm-dev、udev、libssl-dev、python3.10-venv
安装步骤
1. 系统更新和软件包安装
使用以下命令更新系统并安装必要的软件包:
2. 生锈的安装
安装Rust编程语言和Cargo包管理器:
安装后,通过查找环境激活Rust:
3. 其他工具安装
安装以下Rust工具:
•ldproxy
•espup
•cargo-espflash
使用以下命令:
此时(2025-07-25),espup无法编译。如果出现错误,请使用以下命令安装工具链。
4. ESP环境设置
运行如下命令安装和更新expressif Rust生态系统:
设置环境变量:
5. Udev规则配置
配置设备权限的udev规则:
6. 克隆存储库
克隆直流电源单元存储库:
7. 设置WiFi SSID、密码等。
修改如下配置文件:‘ cfg.toml ’
您必须在您的ORG中设置以下参数:WiFi SSID,密码,InfluxDB服务器IP地址,InfluxDB API密钥和InfluxDB API。
您可以从InfluxDB Web控制台获取API Key。请参阅“如何安装InfluxDB和配置仪表板”第3节。
8. 构建和Flash
构建项目:
9. 刷新固件
使用USB线将直流电源单元连接到PC。然后,刷新固件:
如果您的设备未被检测到,请打开设备电源并在启动过程中按“boot”按钮。
然后重新执行flash命令。
10. 监控输出
闪烁固件后,控制台显示引导消息和系统初始化,包括:
•WiFi连接状态
•AP33772S USB-PD控制器初始化
•可用PDO (Power Data Object)检测
•触摸界面激活
•OLED显示器初始化
如何安装influxDB和配置Dashboard
1. 下载influxDB并安装。
2. 配置influxDB
点击“开始”,设置“用户名”、“密码”、“初始组织名”和“初始桶名”。
设置完成后,点击“CONTINUE”。
3. 复制操作符API令牌。
您可以在浏览器上看到操作符API令牌。你不会再看到它了!
如果您想获得新的API令牌,请单击“API令牌”菜单中的“源”图标,然后单击“生成API令牌”并选择“所有访问令牌”,单击“保存”。
您可以看到一个新的API令牌并获取它。
复制令牌后,单击“CONFIGURE LATER”。
4. 导入Dashboard模板。
点击“Dashboard”图标,从“CREATE Dashboard”菜单中选择“Import Dashboard”。
删除“influxdb/dc_power_station”。到“Drop a file here”,然后点击“IMPORT json AS DASHBOARD”。
您可以在仪表板页面上看到“直流电站”面板。
单击这个面板,您可以看到仪表板。
如果要自定义仪表板设计,请单击configure mark。您可以更改图形设计。
结论
用于面包板的直流电源单元将为您的电子项目提供紧凑,智能和灵活的电源解决方案。USB-PD充电器无处不在,价格实惠,并且能够以小的外形提供高功率。该单元可以提供精确的电压控制,实时监控和强大的安全功能,所有这些都可以通过WiFi远程访问。
本文编译自hackster.io





