找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1154|回复: 5
收起左侧

PD协议请求电压程序

[复制链接]
ID:970121 发表于 2025-1-12 11:03 | 显示全部楼层 |阅读模式
现在的快充功率很大,我就想能不能用单片机做一个请求信号,使充电头输出对应的电压来使用,这样一台便宜的数控稳压电源就有了,但查询了一下,发现挺复杂的,有那位大师比较懂相关的知识,整一个出来让坛友参考下呀!
  1. function requestVoltage(desiredVoltage) {
  2.     // 1. 初始化USB PD通信
  3.     initializeUSBPD()
  4.     // 2. 构建一个请求电压的消息(这通常是一个特定的数据结构,具体取决于PD协议版本和实现)
  5.     message = createVoltageRequestMessage(desiredVoltage)
  6.     // 3. 发送请求电压的消息给充电器
  7.     sendMessage(message)
  8.     // 4. 等待充电器的响应
  9.     response = waitForResponse()
  10.     // 5. 处理充电器的响应,例如检查是否成功设置了请求的电压
  11.     if (response.status == "success") {
  12.         print("Voltage request successful!")
  13.     } else {
  14.         print("Voltage request failed: ", response.error)
  15.     }
  16. }
复制代码



回复

使用道具 举报

ID:1121801 发表于 2025-1-13 09:47 | 显示全部楼层
PD3.1协议的AVS功能实现无极调压,但如果用单片机想实现,那还得单片机对后端负载的负载电压与电流进行采样然后输出数据到协议芯片,才能实现真正的可调。。。。。。要不然后端负载是会影响输出的
回复

使用道具 举报

ID:879348 发表于 2025-1-13 13:28 | 显示全部楼层
没有研究过pd协议,应该比较复杂,QC3.0倒是比较简单,但是只能0.几V步进,最大电压也才12V
回复

使用道具 举报

ID:277550 发表于 2025-1-13 14:17 | 显示全部楼层

如果用FUSB302芯片,arduino 有这样的库,写起来很简单,可以模仿
回复

使用道具 举报

ID:970121 发表于 2025-3-2 16:36 | 显示全部楼层
devcang 发表于 2025-1-13 14:17
如果用FUSB302芯片,arduino 有这样的库,写起来很简单,可以模仿

回复

使用道具 举报

ID:112138 发表于 2025-3-6 09:33 | 显示全部楼层
CH224K了解一下。我就做了一个桌面小电源,单片机控制CH224K,加上1602液晶,电压切换电压显示电流显示全有了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表