Purchase worldwide Elecrow - Will be back in stock soon
Documentation:
Specification:
- Power
- Capable of USB PD3.0 PPS provides 3.3V-21V output in 20mV step
- Capable of USB PD2.0 Fixed Power of 5, 9, 12, 15, or 20 V at a maximum of 5A (100 W at 20 V)
- +20A capable P-MOS load switch tied to USB-C VBUS
- USB Type-C port (for power delivery and programming)
- USB-C current/voltage reading build-in on circuit
- ESD protection on D+/D-/CC1/CC2 pins
- V1.2: 200mA LDO AP2204K-3.3 Low dropout
- V1.0/V1.1:TPS62933 for efficient DC-DC converter for 3.3V @ 3A output
- Microcontroller
- RP2040 flexible clock running up to 133 MHz
- 264kB on-chip SRAM
- 16MB on-board QSPI flash
- LEDs
- Red - Power indicator
- Green - User controllable - GPIO 25
- Reset button
- Boot button
- Programming: Through USB-C, USB header, or SWD
Changing voltage on the fly
Key player
The key player that enables the PD ability is the AP33772 IC from Diodes Incorporated. This is a relatively new IC that has an integrated USB PD controller with PPS capability. Power selection and power rail status checks can be done over I2C. All of the PD negotiation, refresh, and timing are done by the AP33772 IC. The microcontroller after making its power request in Setup(), is free to perform another task. This also simplified the code in comparison to the good old FUS302B which requires the microcontroller to do the heavy lifting.
The typical circuit utilizes a back-to-back NMOS configuration to create a bidirectional power switch. The switch remains open until the PD power negotiation is complete. My design omitted the NMOS switch so that the RP2040 can be powered as soon as the USB-C is plugged in.
Auto-detection for E-Mark (5A) and non-E-Mark (3A) cables using the same power supply.
Circuit
As we are designing a built-in USB PD/PPS pico board, we need all of the basic parts that make it a Pico.
- RP2040 IC
- Crystal Oscillator 12MHz
- SPI flash
- Supporting capacitors and resistors
But since we are going to have USB-C and higher power input than just 5V, we need higher voltage rating components and specialized IC:
- USB-C PD controller: AP33772 IC
- USB-C Receptacle 16 pins (USB 2.0 speed) 5A VBUS rated
- ESD diode for CC1, CC2,D- and D+
- DC-DC converter for 3.3V power rail
- P channel MOSFET as a load switch
The RP2040 has 2x I2C hardware blocks I2C0 and I2C1. The USB-C PD controller will be connected to the I2C0 block at GPIO0 and GPIO1. Check the pinout for more details.
Testing Outcome
@CentyLab well done! This project looks great and is certainly something that is of interest to a lot of people. I have been dreaming of/working towards the same goal of a compact usb-c powered variable power supply since the 240W announcement was made. My approach eventually deviated from PPS all together for one simple reason. Many usb-c power supplies do not implement it and I wanted a solution that could be helpful to as many people as possible. USB standards are complicated enough and it seems counterintuitive to select your phone charger or power bank based on the trigger you will use it with. Especially since most people who want to use a trigger board already own their usb-c supplies. I eventually settled on a buck converter approach in order to make a single design more compatible with more power supplies. I am currently preparing the design of the buck converter stage for a world with 48V supplies while I wait for more capable usb-c sink controller ICs to finally hit the market. In case you're interested: https://oshwlab.com/tuege/main-pcb (not complete quite yet). I can see however how people with PPS supplies would tend towards a simpler trigger design such as this one so once again, well done and thanks for sharing your design!