USB-C Sink Rev. 2
Introduction
Architecture: @Kenny Na
EE Designer: Unassigned
Many of the integrated PCBs at WARG use an XT30/60/90 for unified power. This is the appropriate connector to be used on a PCB during real, aerial flight of our drones.
However, our custom PCBs spend a lot of their early time on the ground, being both electrically tested and validated with firmware. To avoid using the LiPo batteries meant for flight while doing these tests, the USB-C Sink can be used.
A USB-PD compatible power source can connect to the Sink, and the board will arbitrate the desired amount of voltage and minimum current needed, outputting to an XT30.
This project is organized to be beginner-friendly.
Ideation
Previous requirements as per USB-C Sink Rev. 1:
The TPS25730 is not able to arbitrate 5V, as found in testing with Rev. 1 (USB-C Sink Rev. 1).
It is only able to set a minimum “Maximum Voltage” of 9V with ADCIN2 set to 0 or 1.
Check the Discord discussion thread and datasheet page 36 for more on this configuration.
It’s very popular to run 5.1kR resistors to the CCx pins and automatically get 5V without a PMIC.
Current capability ranges from 500mA to 3A, which depends on the configuration of the source.
While maintaining the existing higher voltage options, create a board variant that will DNP/bypass the PMIC and place two 5.1kOhm resistors on CC lines.
Then, a short from Vin to Vout can be had using a 0 ohm resistor or solder jumper.
This would be the easiest and cheapest way to get 5V out of USB-C.
View and implement all other comments left in the Rev. 1 Altium 365 project.
Comment #28: Different TVS diodes are not needed on the VBUS line (no need for protection below 20V) - simplify to one model (TVS2200DVR) for BOM simplicity
#23: Change the TVS2200DVR footprint to have larger silkscreen so it prints clearly
#25: Try bringing the silkscreen to above 1.5mm text size to improve readability
#24: Change the XT30-F text to be smaller/better visually
#26: Add possibility for alternate footprint to 4-pin JST-GH for CAN peripherals.
Would be useful, as many devices with digital components use 5V.
Possibly: look into PD 3.1-compatible chips if they are out by then (48V/5A, 240W).
Look into TPS25750: Slightly more advanced chip with safe mode (and keeps dead battery mode)
Dead battery mode lets the PD controller power on without a “battery” (battery meaning a so-called “downstream source” that is able to power the controller before a mains source is connected).
Essentially, the unpowered chip needs to be able to “present” 5.1kR on the CCx lines to arbitrate and power itself on using 5V. Once boot-up is complete, the IC can request higher power.
Even if there is a capability mismatch between the source and PD arbitration request, the TPS25730 will still output the highest possible voltage (verify this claim, saw on TI E2E.)
This is what safe mode would prevent - a low voltage (5V) output from the x30 IC could undervolt and possibly damage the downstream device.
For a more in-depth/complicated project: Revisit RP2040 + cheap programmable PD arbitration IC option (more on this in USB-C Sink Rev. 1)
Rather than have an autorun USB-C PD to XT30 adapter with only one set voltage, it could be possible to dynamically configure the requested power using physical hardware.
This provides the best UX; a dynamic heads-up display with a tangible interface.
One board variant to rule them all - no need to find the one board with the voltage you need.
It is more expensive; a RP2040 + cheap PD IC is a similar price, but a display, display interface, and buttons/knobs may hike the price very quickly.
Requires relatively extensive firmware integration, as well as some mechanical design.
Could build a device akin to the one below, using something like a small OLED display over I2C and a stepped knob/button to configure voltage and current options.