
专业版
PD协议微型直流可调电源|宇的DIY#3
571
0
0
0
简介
通过PD诱骗从充电头获取电源,通过可调降压电路输出直流电。核心IC成本¥6.5,实现输出功率显示与串口输出。输出电压2.4-18.4V,最大输出电流3A。硬件软件全开源!
简介:通过PD诱骗从充电头获取电源,通过可调降压电路输出直流电。核心IC成本¥6.5,实现输出功率显示与串口输出。输出电压2.4-18.4V,最大输出电流3A。硬件软件全开源!开源协议
:GPL 3.0
创建时间:2026-01-23 12:49:44更新时间:2026-01-23 13:48:38
描述
B站视频讲解链接:https://www.bilibili.com/video/BV1uUzABREKb/
开源文档链接:https://shouchenyu.feishu.cn/wiki/PxnSwaRRRixkaokr8oBcpYotnyb
开源文档链接:https://shouchenyu.feishu.cn/wiki/PxnSwaRRRixkaokr8oBcpYotnyb
一、功能介绍
通过PD诱骗从充电头获取电源,通过可调降压电路输出直流电。核心IC成本¥6.5,实现输出功率显示与串口输出。输出电压2.4-18.4V,最大输出电流3A。硬件软件全开源!
-
PD诱骗功能
使用30W以上功率的PD协议充电头可以给该模块提供20V供电。无需庞大的开关电源,支持PD输出的笔记本雷电接口也可以直接给模块供电。同时也支持部分手机厂商的私有协议。
使用CH224A协议芯片而不是老旧的CH224K,更新的型号稳定性更高、减少一个易高温的限流电阻、同时成本更低。
-
可调电压输出
当PD协议为20V输入时,模块输出电压可调范围:2.4-18.4V。如果充电头协议不支持20V输出,则该模块也可以运行在5V环境中。在充电头功率足够的情况下,持续输出电流最大支持3A。
-
电流电压显示与串口输出功率
模块包括一个LED数码管用于显示当前电流电压。同时预留串口接口,可以实时输出电流、电压、功率信息。支持在上位机绘制功率曲线。电流采样误差±0.05A,电压采样误差±0.04V。
-
上位机显示
Qt编写的上位机可以通过串口与模块连接,通过对模块上发的数据进行解析,直观的显示电压/电流/功率信息。还有连接稳定性计算与连接丢失警告。
-
低成本,元件立创商城购买
在有串口输出功率功能的PD可调电源模块中,目前该设计成本最低。核心IC总价仅¥6.5元,外围电路与LED数码管可在淘宝购买元件进一步降低价格。
-
完善的教学资料,便于学习
完善的软件硬件开源资料,所有软件硬件知识点均为常见的简单知识。
MCU使用国产PY32单片机,编译环境配置简单、HAL库编写代码与STM32类似,极易上手、价格仅¥1。
硬件电路使用成本极低的单通道运放进行采样。该功率采样方案电路简单易于学习,成本仅为开源常用的INA226芯片的零头。配合教学资料,可以简单的将该采样电路模块应用于任何包含单片机的项目中。
二、设计详解
硬件电路

-
PD协议芯片

电源输入使用CH224A实现PD协议输入。通过R2的100K电阻选择PD输入电压档位为20V。如果充电头不支持20V档位PD协议,则会自动获取20V以下最高电压档位,详见CH224A芯片手册。
CH224A的PG引脚在电源输入正常时,会拉至低电平,可以在该引脚连接一个LED实现电源输入状态显示。三个CFG引脚可以配置PD电压档位,具体配置方法请查看芯片规格书。正常PD协议只会用到CC引脚,DM和DP引脚可以支持更多私有协议。
-
DCDC降压

输出电压调节通过DCDC降压模块实现。R4电位通过调节芯片反馈引脚电压实现输出电压的控制。这个电位器需要使用10KΩ。同时R1和R5电阻可以限制输出电压的最大值和最小值。具体电压计算方法在图中已有描述。电位器在选择时,建议直接选择立创商城中的电位器,在淘宝上选择的电位器可能在两端附近阻值变化剧烈,难以控制。
该模块有详细的开源介绍与教程,详见链接:https://www.bilibili.com/video/BV1YNiuBqEM3/
在外围电路元件选型时需要注意耐压与额定电流。还需要注意该芯片在大电流时发热较严重,需要注意散热设计。
-
电流电压采样

输出电压采样使用分压电阻将高电压分压至3.3V以内,直接供给MCU引脚进行ADC采样。具体电压范围计算在图中已写明。
电流采样使用运放放大信号。在输出-引脚有一个100mΩ采样电阻,通过将这个电阻两端电压放大实现电流采样。运放放大倍数计算也在图中注明。注意运放在选型时需要选择轨到轨的芯片,如果选择非轨到轨芯片,采样范围会被限制,需要自行重新计算放大倍数,同时采样精度也会被限制。可以自行修改运放放大倍数,提高小电流时的采样精度。
采样电阻必须连接在低端,连接高端由于运放耐压无法达到20V,运放会直接烧毁。在实际使用时,由于电阻的阻值存在误差,所以会导致采样有一定误差,可以在代码中进行补偿。
-
20V指示灯

在输入PD协议电压为20V档时,该20V指示灯会点亮,用于确保当前输入电压达到20V。
该部分电路设计使用了一个18V的稳压二极管和三极管形成放大电路,从而点亮LED。当输入电压为20V时,稳压二极管反向导通给三极管提供电流,三极管放大电流点亮LED。R12和R16两个电阻阻值通过实测得到,该阻值搭配LED能够正常点亮,且亮度合适。
注意在设计该电路时,需要将LED放在三极管的集电极,如果放在发射极会导致LED正向导通电压不够,无法点亮LED。
-
LDO供电与MCU

芯片的3.3V供电使用GM7333TB这颗LDO降压实现。这颗LDO输入电压范围较大,在输入5V-40V电压范围内均可正常工作。当PD输入失败时,+20V网络电压为5V,此时仍能够给MCU供电,增大模块可使用输入电压范围。

软件设计
软件开发环境为PY32F002B芯片,使用hal库编写,在使用时需要注意部分hal库函数名与STM32不一致。芯片没有DMA,只能在外设中断内手动获取数据。
-
ADC采样

实际电压计算时,不直接使用3.3V固定值计算,通过芯片内部1.2V参考电压计算当前芯片的VDD电压,从而更精确计算当前的ADC输入电压。
ADC采样时间配置为最长档位,尽可能增加采样精度。如果仍有误差可能为电路中的采样电阻阻值误差,可在代码中通过宏定义简单的进行补偿。
电压电流计算时,由于电路中电阻阻值有一定误差,导致采样数据略有偏差,可以在代码中增加补偿系数。该系数需要自行实测误差后,进行调整。
-
串口输出

串口配置波特率为115200。当前代码可输出电压、电流、功率信息,可以自行修改发送数据的格式,实现在Vofa中显示功率曲线。当前串口发送频率为100ms,频率不应过高,否则可能导致发送数组溢出,数据被截断。串口发送数组为一个缓冲区队列,当上一个字节发送完成后,进入串口中断,自动发送下一个字节,无需在调用printf函数时等待串口发送时序。
-
数码管显示

PC上位机
上位机部分开源内容请查看开源文档:
开源文档链接:https://shouchenyu.feishu.cn/wiki/PxnSwaRRRixkaokr8oBcpYotnyb
三、使用方法

模块使用PD协议充电头供电(Type-C口的充电头),建议使用功率超过30W的充电头,如果低于30W,可能影响最高输出电压。模块最高输出电流为3A,同样受到充电头功率限制。理论电压输出范围:2.4-18.4V;电流范围:0-3A。(注意大电流输出时模块温度)
20V指示灯能够显示当前PD输入电压。如果连接电源后,数码管能够点亮但20V指示灯不点亮,代表当前输入电压不足20V,模块输出最高电压受限。除了PD协议,也支持部分手机厂商的私有协议,模块将自动选择20V及以下的最高电压档位,详见CH224A规格书。
显示数码管会轮流显示电压电流信息,每4秒切换一次。当LED点亮时显示电流,熄灭时显示电压。如果输出电流低于0.01A,系统将判断当前没有输出,数码管将固定在电压显示。
串口接口可以连接电脑,模块将实时输出电压、电流、功率信息。串口仅支持模块上发数据,故仅保留GND和TX引脚。下图为串信息示例,当前代码配置为100ms上报一次数据,也可以修改代码实现Vofa格式输出。串口电平为3.3V,波特率:115200。
钮子开关可以控制输出通断,当开关拨到OFF档,将切断输出接口的+极。此时数码管仍可以正常显示输出电压,当钮子开关拨到ON档将直接输出当前显示的电压。
输出接口分为接线端子和排针两个接口。两个接口均为左边负极,右边正极。
PD Power Monitor上位机在使用时,直接选择对应的串口号连接模块即可,软件会自动显示数据与连接状态,软件页面介绍见下图。串口连接电脑后,点击“Search”按钮搜索串口,选择对应的串口后,点击“Connect”按钮连接,此时串口状态为绿色Open,如果模块通信正常,页面的数据会更新,并且“连接稳定性显示”会开始更新数据包时间抖动数据,如果信号质量差会显示为黄色,连接断开会显示红色。“Copy”按钮可以将Message窗口中的所有内容复制到系统剪切板。

四、硬件/软件工程下载
硬件工程、软件代码、上位机软件下载请查看开源文档:
开源文档链接:https://shouchenyu.feishu.cn/wiki/PxnSwaRRRixkaokr8oBcpYotnyb
开源协议:
本开源仅供学习,个人可使用该开源进行使用,可以将该设计应用于您自己的项目中。如果在使用时能标明出处就更好啦(比如说在您的项目致谢中提到我)。 本人不对该开源项目中的产品进行任何安全性保证。所有代码、硬件电路、机械结构均需要使用者自行确保安全性。 不接受任何形式的商用。不允许直接将我的工程原封不动进行商用制造与售卖。如需商用请与我联系:shouchenyu2020@qq.com 该开源文档以及设计思路等教学内容不允许转载。若需转载,必须醒目标注原作者(守辰宇)、文章出处、该文档的链接。若发现未经允许的转载将严格追责,建议转载前先与我联系确认转载形式是否被允许。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程添加到专辑
0
0
分享
侵权投诉
工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论