这个项目来自http://www.technoblogy.com/,链接地址Power Deliverer
这个板子可以从USB-C电源适配器上获得固定的电压,板上的OLED显示屏能够显示适配器支持的电压,并可以通过按键进行选择。
这个板子给予STUSB4500和ATtiny1604微控制器,显示屏为128*32的OLED
介绍
早期的USB规范定义VBUS为固定的5V电压,USB-C做了扩展,被称之为Power Delivery,简称PD。它允许设备端同USB-C适配器进行沟通,获取需要的固定电压值,典型值为5V、9V、12V、15V或20V,最大电流能够达到5A。这样使用一个USB-C电源适配器就可以替代掉多种不同的设备端的充电器。
在这里我们也可以利用PD的这个属性提供实验室用的可调电压,非常简单。
工作原理
当我们把这个板子连接到具有PD功能的USB-C充电器上,它会显示一个菜单,列出该充电器能够提供的电压值以及电流能力,最大可以到20V/5A。选中其中的一个,按Select按键,即可选中该电压,并在OLED上显示出该电压能够支持的最大电流值。
选中的输出电压和电流
绿灯LED亮起,显示有电压输出
如果你选用的充电器不支持PD功能,OLED上会显示“NO PD”的信息
USB-C 电源适配器
下面列出了一些典型PD充电器支持的电压和电流
Max. Power | Model | Voltages |
18W * | A1695 | 9V 2A, 5V 3A. |
20W | A2244 | 9V 2.22A, 5V 3A. |
29W * | A1540 | 14.5V 2A, 5V 2.4A. |
30W | A2164 | 20V 1.5A, 15V 2A, 9V 3A, 5V 3A. |
35W dual † | A2579 | 20V 1.75A, 15V 2.33A, 9V 3A, 5V 3A. |
35W dual | A2676 | 20V 1.75A, 15V 2.33A, 9V 3A, 5V 3A. |
61W * | A1718 | 20.3V 3A, 9V 3A, 5V 2.4A. |
61W | A1947 | 20.3V 3A, 15V 3A, 9V 3A, 5V 3A. |
67W | A2518 | 20.3V 3.3A, 15V 5A, 9V 3A, 5.2V 3A. |
87W * | A1719 | 20.2V 4.3A, 9V 3A, 5.2V 4.2A. |
96W | A2166 | 20.5V 4.7A, 15V 3A, 9V 3A, 5.2V 3A. |
140W | A2452 | 28V 5A, 20.5V 5A, 15V 5A, 9V 3A, 5.2V 3A. |
电路
电路原理图
STUSB4500和ATtiny1604之间是通过I2C接口进行连接,显示器采用低成本的128*32单色OLED显示屏,基于SSD1306显示控制器,使用5x5字体,能够显示5行信息,每行能够显示21个字符。
由于USB输入的电压高到20V,因此选用了线性稳压器MCP1804-33提供3.3V的稳定电压给板子上的电路,它能够支持高达28V的输入电压,最终板子的功耗仅为10mA电流,芯片上耗散的功率为0.16W。
电源的输出由一个P-MOSFET来控制,需要能够处理20V/5A的PDO,选用了ST Microelectronics 的STL6P3LLH6, 它的指标是30V, 6A,典型阻抗为24mΩ,也可以选用Vishay的SI7619DN,指标为30V, 24A, and 34mΩ. 开通的阻抗指标非常重要,因为它决定了最大负载的情况下的功率损耗
在USB-C的输入端和电压输出端使用了4颗ESDA25P35 TVS二极管进行保护,它的击穿电压为25V,可以应对的电流达到35A,封装0603.
板上的电阻和电容都选用0805封装,因为VBUS可以高到20V,相应的器件需要能够处理到20V电压。
程序部分可以参见原文中的介绍:Power Deliverer