Forum: Mikrocontroller und Digitale Elektronik USB-C Board mit Passthrough Charging, Power Delivery und 5V Header


von Chris (troublemaker)


Lesenswert?

Hallo allerseits,

gleich vorweg:
Ich kann löten aber was Schaltkreise und ICs betrifft bin ich ziemlich 
blank.

Ich möchte gerne ein USB-C Board bauen habe aber keine Ahnung wie ich 
das anstellen soll und was ich alles dafür benötige.

Mein Ziel:
Das Board soll per USB-C mit Strom versorgt werden (Powerbank oder 
Netzteil) und soll einen Verbraucher per USB-C (mit PD) laden.
Auf dem Board soll ein 5V Header vorhanden sein.
Der 5V Header darf nur aktiv sein, wenn der Verbraucher am USB-C Port 
angeschaltet ist.
Der Verbraucher am USB-C Port, soll aber natürlich auch in 
ausgeschaltetem Zustand laden.

Würde sich jemand erbarmen und einem Noob wie mir helfen sowas zu bauen?
Wahrscheinlich keine große Sache für die Profis hier aber ich fühle mich 
wie der Ochs vorm Berg.

Vielen Dank schon mal :)

von Stefan F. (Gast)


Lesenswert?

USB-C Anschlüsse und die zugehörigen IC sind so mini klein, das würde 
ich dir als Anfänger nicht empfehlen. Oder hast du schon Erfahrung mit 
Platinendesign und dem Löten von BGA Chips?

Den Power Delivery Teil kannst du damit haben: 
https://www.amazon.com/Type-C-Trigger-Module-Supports-Output/dp/B08LDJBN8P

> Der 5V Header darf nur aktiv sein, wenn der Verbraucher
> am USB-C Port angeschaltet ist.

Verbinde den 5V Header halt mit dem selben Schalter, der auch den 
Verbraucher einschaltet. In dem Zusammenhang könnten dich die "Power 
Switches" von Pololu interessieren: 
https://www.pololu.com/category/121/pololu-power-switches

von Sam W. (sam_w)


Lesenswert?

Chris schrieb:
> Das Board soll per USB-C mit Strom versorgt werden (Powerbank oder
> Netzteil) und soll einen Verbraucher per USB-C (mit PD) laden.
> Auf dem Board soll ein 5V Header vorhanden sein.
> Der 5V Header darf nur aktiv sein, wenn der Verbraucher am USB-C Port
> angeschaltet ist.
> Der Verbraucher am USB-C Port, soll aber natürlich auch in
> ausgeschaltetem Zustand laden.

Die Beschreibung ist noch nicht ausreichend präzise.

Fragen:
- nutzt du ausschließlich 5V? (Dann macht Implementierung von PD keinen 
Sinn)
- Wird der 5V-Header auch aus Powerbank/Netzteil gespeist?
- Was bedeutet "ausgeschalteter Zustand"? Bezieht sich das auf deinen 
Verbraucher oder auf das Board (und was ist dann das "schaltende 
Element")?

Im Prinzip geht es doch um eine Schaltung, die erkennt, wenn ein USB-C 
Gerät angeschaltet ist und nicht "nur" im ausgeschalteten Zustand 
versorgt wird, oder?

Vorneweg: Je nachdem, wie sich das angeschlossene Gerät verhält, ist die 
Erkennung so mitunter gar nicht möglich.

Bitte nenne mal Gerät und typische Quelle(n) zur Versorgung.

: Bearbeitet durch User
von Chris (troublemaker)


Lesenswert?

Stefan F. schrieb:
> Oder hast du schon Erfahrung mit
> Platinendesign und dem Löten von BGA Chips?

BGA habe ich schon gelötet/getauscht. Kann ich natürlich auch machen 
lassen, das sehe ich dann, mir geht es um den Schaltkreis an sich.

Stefan F. schrieb:
> Verbinde den 5V Header halt mit dem selben Schalter, der auch den
> Verbraucher einschaltet.
Der Verbraucher kann alles Mögliche sein. Laptop, Smartphone, whatever, 
daher kann ich das nicht mit dem Schalter verbinden.

Sam W. schrieb:
> - nutzt du ausschließlich 5V? (Dann macht Implementierung von PD keinen
> Sinn)

Nein, nennen wir den Verbraucher "Laptop". Dieser soll über einen USB-C 
Port auf dem Board gespeist werden und hier mus PD vorhanden sein.

Sam W. schrieb:
> - Wird der 5V-Header auch aus Powerbank/Netzteil gespeist?

Ja.

Sam W. schrieb:
> - Was bedeutet "ausgeschalteter Zustand"? Bezieht sich das auf deinen
> Verbraucher oder auf das Board (und was ist dann das "schaltende
> Element")?

Ausgeschaltet, damit ist das Laptop gemeint, wird in diesem Fall wohl 
keine Datenübertragung sein (?). Ich bin nicht sicher wie das zu 
realisieren ist notfalls kann auch ein 2 Wege Schalter für den 5V Header 
verbaut werden aber wenn man vergißt den Header auszuschalten, zieht es 
die Powerbank ggf. leer oder verbraucht unnötig Energie und das wäre 
unschön.

Sam W. schrieb:
> Im Prinzip geht es doch um eine Schaltung, die erkennt, wenn ein USB-C
> Gerät angeschaltet ist und nicht "nur" im ausgeschalteten Zustand
> versorgt wird, oder?

Ja. Das Laptop soll immer geladen werden egal ob an oder aus, wenn aber 
da Laptop angeschaltet ist, dann soll auch der Stromkreis zum 5V Header 
aktiv sein.

Sam W. schrieb:
> Vorneweg: Je nachdem, wie sich das angeschlossene Gerät verhält, ist die
> Erkennung so mitunter gar nicht möglich.
>
> Bitte nenne mal Gerät und typische Quelle(n) zur Versorgung.

Quellen sind entweder eine USB-C Netzteil oder eine USB-C jeweils mit PD 
und die Verbraucher am USB-C sind Laptop/Smartphone.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Kann es sein, dass das so eine Art Master-Slave Schalter werden soll?

In dem Fall hat das alles mit USB-C relativ wenig zu tun, abgesehen 
davon dass es mit allen relevanten Spannungen klar kommen muss.

Für einen Master-Slave Schalter brauchst du eine Erkennung wie viel 
Strom fließt und dann ab einer gewissen Schwelle deine Slave/Header mit 
versorgen. Dafür gibt es "Current Sensor" IC, wo der Strom an einem Hall 
Sensor vorbei fließt.

von Chris (troublemaker)


Lesenswert?

Danke, dass du dir die Zeit nimmst.

Vielleicht lassen wir erstmal die Erkennung weg und nehmen einen 2 Wege 
Schalter für de 5V Header. Das sollte das Ganze vereinfachen und dich 
weniger Zeit und Nerven kosten :D

Welcher USB-C Controller Chip wäre hier der richtige?
Wie würde eine solcher Schaltplan aussehen?

von Sam W. (sam_w)


Lesenswert?

Chris schrieb:
> Ausgeschaltet, damit ist das Laptop gemeint, wird in diesem Fall wohl
> keine Datenübertragung sein (?). Ich bin nicht sicher wie das zu
> realisieren ist notfalls kann auch ein 2 Wege Schalter für den 5V Header
> verbaut werden aber wenn man vergißt den Header auszuschalten, zieht es
> die Powerbank ggf. leer oder verbraucht unnötig Energie und das wäre
> unschön.

Mein Laptop lädt per USB-C PD und das Netzteil ist mit 65W angegeben, 
5V, 9V, 15V und 20V sind mögliche Ausgangsspannungen.
Auch im ausgeschalteten Zustand handelt der Laptop eine hohe 
Ladeleistung aus, die Signalisierung ist also aktiv.

Chris schrieb:
> Welcher USB-C Controller Chip wäre hier der richtige?
> Wie würde eine solcher Schaltplan aussehen?

Ich verstehe nicht ganz, warum du hier einen Controller einsetzen 
willst.
Im Prinzip reicht ohne Erkennung ein Schaltwandler, der aus 5-20V eben 
die benötigten 5V macht.

Angenommen, du möchtest die Maximallösung:
- Eingang USB-C PD konform 100W
- Ausgang USB-C PD konform 100W

Dann ist folgendes nötig:
Eingang:
- Controller-IC, der mit dem Netzteil die maximale Leistung aushandelt.
Dazwischen:
- Schaltwandler von 5-20V auf 5-20V in PD-typischen Stufungen für volle 
Konformität
- Mikrocontroller, der diese Info verarbeitet, an den 
Ausgangs-Controller weitergibt und den Schaltwandler passend einstellt
Ausgang:
- Controller-IC für die Signalisierung, welche Fähigkeiten die Quelle 
nun hat

Löst aber auch nicht das Problem, dass ein angeschlossener Laptop seine 
Leistung per PD aushandelt, unabhängig davon, ob er gerade in Betrieb 
ist oder lädt.

Anderer Ansatz:
Prüfen, ob man nicht einen USB-fähigen Controller als "Device" mit dem 
USB-C Kabel verbinden kann. Wenn USB nur dann aktiv ist, wenn der Laptop 
an ist, kann man so die Erkennung realisieren.

Also im Prinzip kann man dafür ein USB-C Kabel nehmen, abmanteln und die 
beiden USB2.0-Leitungen suchen. Diese dann (auf der Laptop-Seite) an 
einen Arduino Pro Micro o.ä. führen, für die Versorgung einen 
(Schalt-)Regler von 5V-20V auf 5V einbauen und testen, ob es 
funktioniert.

von Alexander (alecxs)


Lesenswert?

Klingt spannend, finde es auch toll dass ihr hier zusammen was 
entwickelt, aber hast du mal geschaut ob es sowas nicht vielleicht schon 
fertig gibt? Oder etwas ähnliches das man modifizieren kann?
Ich sehe keine Zeichnung, ein Bild sagt mehr als tausend Worte!

von Stefan F. (Gast)


Lesenswert?

Alexander schrieb:
> hast du mal geschaut ob es sowas nicht vielleicht schon fertig gibt?

Zum Beispiel https://eckstein-shop.de/SparkFun-USB-Current-Sensor-EN

von Chris (troublemaker)


Lesenswert?

Sam W. schrieb:
> Ich verstehe nicht ganz, warum du hier einen Controller einsetzen
> willst.

Weil ich wahrscheinlich viel zu kompliziert denke :D

Aber mal ganz anders, kann ich nicht einfach 2 USB-C Female Konnektoren 
auf das Board packen, 1:1 durchschalten, mir die Spannung am VBUS (?) 
abgreifen und dann auf 5V runterregeln? Dann können die 2 USB-C Geräte 
so sprechen als ob sie direkt verbunden wären und ich müsste hier nichts 
machen. Oder ist das jetzt zu simpel gedacht? :D

von Stefan F. (Gast)


Lesenswert?

Chris schrieb:
> Oder ist das jetzt zu simpel gedacht?

Du wolltest doch, dass der 5V Ausgang nur dann Spannung hat, wenn dein 
USB Gerät Strom aufnimmt. Außerdem kann USB-C mehr als 5V haben.

von Chris (troublemaker)


Lesenswert?

Stefan F. schrieb:
> Du wolltest doch, dass der 5V Ausgang nur dann Spannung hat, wenn dein
> USB Gerät Strom aufnimmt.

Ja, aber ich habe ja gesagt, dass ein 2 Wege Schalter auch ok ist.
Ich gebe mich damit zu frieden, damit ich es möglichst schnell 
realisieren kann :)

Stefan F. schrieb:
> Außerdem kann USB-C mehr als 5V haben.

Korrekt, deshalb ja auf 5V runter regeln so wie ein Buck Converter das 
macht.
5V-20V auf 5V. Dann müsste ich nur schauen wie man sowas baut. Wäre VBUS 
dann der richtige PIN?

: Bearbeitet durch User
von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Chris schrieb:
> Ja, aber ich habe ja gesagt, dass ein 2 Wege Schalter auch ok ist.

Aber du hast geschrieben, dass ein externer Schalter nicht geht, weil du 
da unter anderem einen Laptop anschließen wolltest. Insbesondere sollten 
die Gerät in ausgeschaltetem Zustand aufladen können.

> Wäre VBUS dann der richtige PIN?

Schau dir das Bild an. VBUS hat 4 Pins.

Ich bin nicht sicher ob du da einfach signifikant Strom abgreifen 
darfst. Was ist, wenn der Laptop mit dem Netzteil nur 500mA aushandelt 
und die auch für sich braucht. Dann fehlt die Strom für deinen Header.

Das könnte helfen: 
https://www.cuidevices.com/blog/an-introduction-to-power-only-usb-type-c-connectors

von Chris (troublemaker)


Lesenswert?

Stefan F. schrieb:
> Aber du hast geschrieben, dass ein externer Schalter nicht geht, weil du
> da unter anderem einen Laptop anschließen wolltest. Insbesondere sollten
> die Gerät in ausgeschaltetem Zustand aufladen können.

Der Schalter ist nur für den Stromkreis des Headers. Der Laptop würde 
weiter normal geladen werden.

Stefan F. schrieb:
> Schau dir das Bild an. VBUS hat 4 Pins.

In meinem jugendlichen Leichtsinn würde ich sagen, dass es eigentlich 
nur 2 sind, da alles doppelt vorhanden ist um beide Orientierungen zu 
unterstützen. Auf einem Schaltplan wird die USB-C Komponenten mit nur 
einem VBUS angezeigt. Sind die möglicherweise intern verbunden?

https://www.usb.org/sites/default/files/USB%20Type-C%20Spec%20R2.0%20-%20August%202019.pdf

Seite 40

12. All VBUS pins shall be connected together in the USB Type-C plug.

Stefan F. schrieb:
> Ich bin nicht sicher ob du da einfach signifikant Strom abgreifen
> darfst. Was ist, wenn der Laptop mit dem Netzteil nur 500mA aushandelt
> und die auch für sich braucht. Dann fehlt die Strom für deinen Header.

Hmm, handeln die das wirklich so feingranular aus?

Antwort: Ja, machen sie. Habe gerade das PD Protokoll angeschaut. 
Allerdings wird ein Laptop doch deutlich mehr als 500mA benötigen um zu 
laden. Eher Richtung 2A oder mehr würde ich schätzen.

Nehmen wir an ich verbrauche am Header nur 100 - 150mA, dann denke ich, 
dass es im Rahmen ist. Ich würde es einfach mal probieren.
Allerdings sehe ich gerade, dass PD mittlerweile bis zu 48V unterstützt. 
Der Spannungswandler müsste also einen deutlich größeren Bereich 
abdecken als ursprünglich von mir gedacht.

Stefan F. schrieb:
> Das könnte helfen:
> 
https://www.cuidevices.com/blog/an-introduction-to-power-only-usb-type-c-connectors

Please note that since the data transfer pins have been removed, the USB 
3.0 power negotiation process does not occur, in which case the charging 
device will revert to the USB standard power transfer rate of 5 V and 1 
A. For all other applications, the connector will function like any 
other power jack and the charging will be governed by the 
adapter/charging circuit.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Chris schrieb:
> In meinem jugendlichen Leichtsinn würde ich sagen, dass es eigentlich
> nur 2 sind, da alles doppelt vorhanden ist um beide Orientierungen zu
> unterstützen. Auf einem Schaltplan wird die USB-C Komponenten mit nur
> einem VBUS angezeigt. Sind die möglicherweise intern verbunden?

Ja klar, die sind auf der Platine alle miteinander verbunden.

> Please note that since the data transfer pins have been removed ...

Mir ging es nur darum, die für Stromversorgung relevanten Pins zu 
identifizieren. Du musst natürlich alle durch schleifen.

Die 48V machen es kompliziert, fürchte ich.

von Chris (troublemaker)


Lesenswert?

Stefan F. schrieb:
> Mir ging es nur darum, die für Stromversorgung relevanten Pins zu
> identifizieren. Du musst natürlich alle durch schleifen.

Sorry, dann habe ich dich falsch verstanden :)
Mea culpa

> Die 48V machen es kompliziert, fürchte ich.

Ich habe den hier entdeckt 
https://de.farnell.com/stmicroelectronics/l7983pu50r/dc-dc-wandler-sync-buck-2-2mhz/dp/3680070

Der müsste eigentlich passen, oder?

von Stefan F. (Gast)


Lesenswert?

Chris schrieb:
> Der müsste eigentlich passen, oder?

Das ist nur ein Chip. Die Eckdaten passen offenbar. Ich wusste gar 
nicht, dass es schon welche mit so hoher Taktfrequenz gibt. Da ist das 
Layout bestimmt anspruchsvoll. Wenn du dir das zutraust, dann nimm ihn.

von Chris (troublemaker)


Lesenswert?

Stefan F. schrieb:
> Das ist nur ein Chip.

Das ist mir klar ;)

Hier gibt es einen fertigen Konverter aus dem Alibaba Land
https://de.aliexpress.com/item/33014281362.html

Allerdings wollte ich eigentlich ein eigenes kleines PCB (mit Hilfe beim 
Entwurf des Schaltplans) bauen.

von Chris (troublemaker)


Angehängte Dateien:

Lesenswert?

Ich werde leider aus dem Datenblatt nicht ganz schlau und habe jetzt mal 
amateurhaft was gezeichnet.
Die restlichen USB Pins werden dann noch 1:1 verbunden und alle GNDs 
zusammen.

Bitte nicht gleich hauen :)

Komplett daneben oder zumindest irgendein Ansatz?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.