So I’ve been interested for some time about making a project with USB-PD and getting a better understanding of the begotiation protocol, but haven’t found anything quite interesting enough to build with it. I then recently discovered the USB-C for charging thread on this forum and saw @kevingraehl 's ( USB-C for charging ) “box-o-power” and that got me going.
So from there I started to float the concept in my head and been looking at different component choices and sourcing with what to possibly build it with.
Here’s a block diagram of the currently planned approach.
As this is my first project with the USB-C connector and more importantly the USB-PD protocol I’m planning to go with an available negotiator IC for the consumer (sink) PD role.
I’ve also included inside the dashed line a possibility of having a general voltage input (e.g. 12V from a car) and being able to also use that to boost for the board or some other voltage source (e.g. old laptop PSU). And the possibility of just using the charger for the USB-PD negotiation and getting that voltage passed-through as is.
There would be a display with a couple of buttons to able to configure the wanted settings and to be able to monitor the input and output voltages and currents. You would be able to configure the wanted currents and voltages from the USB-PD connected source device in case you’re using a lower power brick for example or if you want to directly feed that voltage to a device through the pass-through connector. Max power monitoring and regulating would also be available, so you don’t sink too much power from the source device or feed too much power to the load side.
The real work horse on the board would be the LTC3788 2-phase boost charger, so it should be able to handle some real power as well. So if you have more powerful voltage sources you would be able to take advantage of that.
I’ve been reading the official PD documentation and been scavenging the internet for more info and have a pretty good idea what’s going on in the protocol, but I’ll rather go with an easier approach for the first project and then analyze the bus more closely to understand it.
There are STM-microcontrollers (G0-series), which have a USB-PD communication peripheral (UCPD), but as I’m still not familiar enough with the protocol, I’m going with the ready solution.
There are compromises though with these negotiator ICs, which is that they are usually only for a specific power role: sink OR source, not for dual power role, which would be something more desirable for a powerbank use or maybe being able to charge your laptop from your board and being able to charge your board with your laptop’s charger???