Many gadgets and tools nowadays run from 5 V and incorporate an USB port for that purpose. When developing those devices powering them from a bench power supply is usual very handy as current can be easy monitored and limited. For that purpose I wanted to create a small adapter which plugs into my bench power supplies and offers an USB type A plug.
The power and current a device may draw from an USB port is limited and follows complex rules depending on the state of USB enumeration. Many devices ignore those rules and just draw 100 mA or 500 mA independently of USB enumerate state. This works for most power providing devices and almost all USB chargers/power supplies. If more current is needed the power supply needs to signal extra capability to the device. As most USB chargers are rather dump a simple solution, or to be exact many simple solutions were invented. The device that wants to draw current checks the status of the D+ and D- signal lines immediately after attach. The official USB solution to this problem is the dedicated charging port (DCP) which supplies at least 1.5 A of current and signals this capability by placing a resistance not exceeding 200 Ω across the D+ and D− signals. Before this official solution was introduced vendors had their own solutions. Apple's solution is also quite widespread and indicates the available current by voltages on the D+ and D- signals. A device may pull up to 500 mA if D+ = D- = 2.0 V, up to 1 A if D+ = 2.0 V and D- = 2.8 V and up to 2 A if D- = 2.8 V and D+ = 2.0 V. As testing such devices with the adapter should also be possible I wanted to include a way of setting the connections and voltages of the D+ and D- signals.
Most bench power supplies follow a convention to put the binding posts which a spacing of 3/4 " ≈ 1.9 cm, but their does not seem to be a common agreement wether to put + to the left and - to right or vice versa. For that reason the adapter should support both ways or to be specific it should be able to built for both orientations.
With the above requirements in mind I came up with a schematic in KiCad. The actual adapter consists of two PCBs: The USB adapter itself and a "front-cover" PCB. The schematics and layouts for both boards can be found at GitHub. The USB adapter has the following features:
- Assembly for both orientations of binding posts
- D+ and D- signals can be left open, connected to each other, set individually to 2.0 V, 2.8 V or variable voltage set-able by a multiturn trimming potentiometer
- Voltage on D+ and D- signals can be easily accessed on the front-cover PCB to check which a multimeter
The built up of the adapter is very simple. Only nine 0603 resistors have to populated and a few through hole components. Depending on the orientations of the bindings posts on the bench power supply either P1 or P6 has to be populated and the correct side of the front-cover PCB mounted towards the user. Double check that the front-cover PCB is mounted correctly by checking that the 'VAR' descriptions for the potentiometer points towards the trimming screw. Also note that the USB jack should be populated last, after installing the the front cover PCB! For the non-standard parts the following parts are required:
|Switches||Apem||SLB1570||Mouser Digikey||I accidentally ordered the rectangular version SLB1570R. This works fine when pending the pins over. I haven't tried the SLB1570 itself, but they should fit according to the datasheet.|
|Potentiometers||BI Technologies / TT Electronics||89PR100KLF||Mouser Digikey||Other potentiometers e.g. from Bourns should also fit. If the setting of a variable voltage is not needed these can be left unfitted to save costs.|
|Banana plugs||Pomona Electronics||72918||Mouser Digikey||My banana plugs came with one M3 nut. For assembly two M3 nuts and a lock washer are needed per banana plug.|
|USB plug||Molex||105057-0001||Mouser Digikey|
The cut outs for the USB plug in Rev. 1 of the front-cover PCBs is a lightly bit tight and USB cables will be hard to plug/unplug. I solved this by filing ≈ 1 mm of PCB off.
This adapter has been featured on EEVblog's mailbag: