Für ein Projekt, das einem größeren Personenkreis zugänglich ist, wird ein ESP32 verwendet, um mp3s abzuspielen (Lautsprecher oder Kopfhörer). Das Ganze primär für Kinder - es werden RFID-Karten zur Steuerung verwendet. Versorgt wird per USB und/oder per Akku (LiPo oder LiFePO4) - ein entsprechender Laderegler ist inkludiert. Das funktioniert auch alles soweit, jedoch habe ich bisher für LiPo und LiFePO4 unterschiedliche Platinen verwendet (aufgrund der unterschiedlichen Spannungen von USB, LiPo und LiFePO4) und möchte das nun mittels Boost/Buck-Converter (BBC) zu einer Platine vereinheitlichen.
Für's Erste bin ich beim TP63000 (https://www.ti.com/lit/ds/symlink/tps63000.pdf) gelandet, da dieser mit grob 1A gut passt und bei JLCPCB auch gut verfügbar ist (es geht wie gesagt um einen größeren Personenkreis, von daher möchte ich das nicht immer von Hand löten). Die Akkus besitzen ein BMS, so dass sie nicht tiefentladen werden, aber ich würde es dennoch gerne nicht drauf ankommen lassen und daher eine Akkuspannungsüberwachungung mittels SGM803 (https://cdn-reichelt.de/documents/datenblatt/A200/SGM803.pdf) auf 3.08 V integrieren. LiFePO4 könnte ich tiefer entladen, aber letztlich ist es ein Kompromiss, der für beide Akkus passen soll. Der SGM803 arbeitet als open collector.
Wo ich mir allerdings so ein bisschen unsicher bin, das sind die Pins Enable (EN) und PS/SYNC am BBC.
Standardmäßig soll der BBC aktiviert sein (EN high), aber der SGM803 soll ihn natürlich deaktivieren können. Spontan hätte ich gesagt, dass ich dem EN einen PullUp (R1) mit 300k spendiere und weiterhin zum SGM803 einen PullDown mit 10k (R2). Da komme ich (wenn der SGM803 schaltet) bei 0,16 V raus an EN und lande damit unter den 0,4 V aus dem Datasheet.
Frage 1: Sollte ich R1 noch viel größer machen? Welchen Spielraum hat man da denn so?
Frage 2: Brauche ich R2 eigentlich? Oder kann aus EN eh kein Strom rausfließen und der Strom wird somit ausschließlich durch R1 bestimmt?
PS/SYNC muss für aktivierten Power-Safe-Modus (den ich gerne hätte) auf LOW gezogen werden. Frage 3: Hänge ich den direkt an GND oder macht man sowas besser mit einem PullDown?
Insgesamt kommt es in meiner Schaltung jetzt nicht auf's allerletzte uA an, aber grundsätzlich geht's mir schon auch bisschen darum, dass durch solch triviale Dinge nicht unnötig Energie verbraten wird und der Akku dann doch weiter entladen wird.
dass ich dem EN einen PullUp (R1) mit 300k spendiere
Sollte ich R1 noch viel größer machen? Welchen Spielraum hat man da denn
so?
Dann solltest du dich aber nicht wundern, wenn die Schaltung Spannungseinbrüche hat, wnen nebendran mal einer den Knisterpulli auszieht. Mein EMV-Spezi sagt immmer: Wirde4rstände größer als 10k sind aus EMV-sicht nicht vorhanden. Sprich: mit einem 300k-Pullup ist der Eingang quasi offen und empfänglich für alle Umwelteinflüsse.
Und der Witz dabei ist: nachdem das Enable mal kurz inaktiv war, folgt erst mal eine Startsequenz (siehe Bilder 18 und 19).
Jetzt kommt natürlich der Trick: wenn du einen niederohmige(re)n Pullup nimmst, fließt gerade im ausgeschalteten Zustang unnötig Strom. Blöd auch...
Aber die Lösung naht unverhofft: nimm den SGM809. Der hat einen Push-Pull-Ausgang und braucht deshalb keinen Pulldown.
Für's Erste bin ich beim TP63000 gelandet
Oha, so ein kleines MHz-Biest. Pass beim Layout gut auf, sonst machst du es nochmal. Das Kapitel 10 hilft dir dabei. So einfach die Masse quer drüber fluten ist da z.B. ungünstig.
Oder kann aus EN eh kein Strom rausfließen und der Strom wird somit
ausschließlich durch R1 bestimmt?
Was steht denn im Datenblatt 2 Zeilen unter diesen 0,4V? Es fließen da bis zu 0,1µA. Mit 10k zwischen den Push-Pull-Ausgang vom SGM809 und dem Enable-Eingang des TPS63000 bist du weit im grünen Bereich und auch der EMV-Spezi ist zufrieden.
PS/SYNC muss für aktivierten Power-Safe-Modus (den ich gerne hätte) auf
LOW gezogen werden. Frage 3: Hänge ich den direkt an GND oder macht man
sowas besser mit einem PullDown?
Ich schleiße da einen Pulldown an. Denn wenn sich während der Inbetriebnahme der Prototype zeigt, dass man mit dem Pin was anderes machen oder ihn dynamisch an steuern möchte, dann kann ich den Pulldown entfernen und habe den Pin zur freien Verfügung. Wenn sich dann nach der Inbetriebnahme herausstellt, dass der Pulldown nicht benötigt wird, kann ich den Widerstand einfach im Kupfer brücken.
BTW: die Frage ist völlig undigital und auch nichts mit µC an sich zu tun, deshalb habe ich den Thread aus "Digitaltechnik" nach "Analogtechnik" verschoben.
vielen Dank für deine umfangreiche und sehr hilfreiche Antwort!
Stimmt, der 809 wäre natürlich die Lösung - habe ich irgendwie nicht dran gedacht.
Aber grundsätzlich muss ich wegen PullUp nochmal nachhaken: Wie gehst du damit um, wenn du zB einen Mosfet hast und aber noch die Einschränkung, dass es halbwegs sparsam sein soll? Ich dachte es sei völlig üblich und "normal", da sowas wie 100k einzusetzen.
Und im Kontext des TPS6300: Es gibt von TI ein Evaluation-Board (https://www.ti.com/lit/ug/slvu156/slvu156.pdf), welches, und so komme ich überhaupt erst auf die Idee, einen viel größeren Wert zu nehmen, sogar 1M (fakultativ) verwendet.
Oha, so ein kleines MHz-Biest. Pass beim Layout gut auf, sonst machst du
es nochmal. Das Kapitel 10 hilft dir dabei. So einfach die Masse quer
drüber fluten ist da z.B. ungünstig.
Ich habe das Layout (4 Layer) tatsächlich schon gemacht und mich dann nachträglich dazu entschieden, dass so ein SG passend wäre - wie das halt so ist. Ich habe mich auf jeden Fall an die Layout-Vorgaben von TI gehalten (oder meine zumindest es zu tun). Es laufen auf den drei Layern drunter auch keine Bahnen - lediglich auf Layer 4 habe ich, wie empfohlen, die Ansteuerung von VINA und die FBL gelegt. Ich habe auch wie empfohlen mit Kupferflächen für Vin, Vout und die Spule gearbeitet. Und es kommt auch kein GND von oben zwischen den Anschlüssen der Spule rein.
Aber darf ich dich nochmal fragen, wie genau du "quer drüberfluten" meinst? In den Designvorgaben geht die GND-Plane doch einmal von links nach rechts rüber (natürlich in der Höhe geordnet)? Ich habe jetzt schon mehrfach gehört/gelesen (zuletzt meine ich in einem Lehrvideo von Altium), dass man besser keine Split-GNDs machen soll. Insofern nutze ich Layer 2 komplett als GND, aber die GND-Plane von Layer 1 fließt vorne halt quasi rein und hinten wieder raus.
BTW: die Frage ist völlig undigital und auch nichts mit µC an sich zu
tun, deshalb habe ich den Thread aus "Digitaltechnik" nach
"Analogtechnik" verschoben.
Ich hatte drüber nachgedacht - dann habe ich mich wohl für's Falsche entschieden. Sorry.
völlig üblich und "normal", da sowas wie 100k einzusetzen.
Wie gesagt: in Industrieumgebung wäre mir das für einen Enable-Eingang zu hochohmig... ;-)
Und im Kontext des TPS6300: Es gibt von TI ein Evaluation-Board
(https://www.ti.com/lit/ug/slvu156/slvu156.pdf), welches, und so komme
ich überhaupt erst auf die Idee, einen viel größeren Wert zu nehmen
Das Board ist dann eben primär auf "Funktion" und "Stromsparen" ausgelegt und nicht vorrangig auf "Betriebssicher". Wenn du mal den üblichen Burst-Test auf das EVAL-Board loslässt, dann siehst du, dass so ein sehr hochohmiger Eingang dann Probleme bereitet. Wenn du damit leben kannst oder das Stromsparen wichtiger ist, dann spricht nichts gegen hochohmige Pullups.
sogar 1M (fakultativ)
Da reicht dann aber garantiert der Knisterpulli oder ein paar Gummischuhe auf Teppichboden zum Abschalten.
Wie gehst du damit um, wenn du zB einen Mosfet hast und aber noch die
Einschränkung, dass es halbwegs sparsam sein soll?
Wenn es sparsam sein soll, dann muss es langsam sein. Und dann reicht evtl. schon die Gatekapazität eines größeren Mosfets, dass er nicht bei jedem Burstimpuls umschaltet. Oder ich kann vom Eingang nach GND noch einen 10nF-Kondensator schalten, der die Energie des Bursts aufnimmt (zu empfehlen z.B. bei Reset-Pins an µC).
wie genau du "quer drüberfluten" meinst?
Sieh dir das Beispiellayout und die Feedback-Masse am Pin 9 "Control / logic ground" an. Die ist da sowohl im Datenblatt wie cuh beim EVAL-Board ganz explizit und liebevoll auf den letzten mm aus dem Laststromkreis
herausgenommen. So ein Pigtail macht das Layout-CAD nicht automatisch.
Ich habe das Layout (4 Layer) tatsächlich schon gemacht
Das ist der Fall. Dieser Strom ist der unvermeidliche Leckstrom des Eingangs. Dessen Stromrichtung ist nicht definiert, deshalb kann er "hinein" (wenn der Pin nach high gezogen wird) und/oder "heraus" (bei low) fließen.
Jut, habe mal drei Bilder angehängt. Einerseits den Teil des Schaltplans und andererseits Layer 1 mit GND-Plane zzgl. alle Layer (ohne GND-Plane).
Layer 1: mixed Signal
Layer 2: GND
Layer 3: Power (sind verschiedene, daher keine Plane)
Layer 4: mixed Signal
In der FBL ist der untere Widerstand aufgesplittet, da mir das bei JLC einen extended Part erspart. Durch den zusätzlichen Widerstand habe ich nun aus Platzgründen ein Via zwischen U8 (Pin 9) und R32 gemacht. Ist das böse? :-)
Bauteile sind 0402, lediglich Kondensatoren >= 10uF und der optionale FB sind 0603.
Auf dem Schaltplan steht faälschlicherweise noch SGM803 - das habe ich inzwischen korrigiert.
Sieht soweit plausibel aus. Statt der Reihenschaltung der 1M + 150k+27k könntest du dann ggfs. auch 910k in Reihe zu 160k nehmen. Da wäre die rechnerische Abweichung nicht wesentlich höher als die eigentliche Bauteiltoleranz. Oder andersrum: selbst wenn du die "ideale" Komnbination aus 910k+162k nähmst, hättest du trotzdem noch einen Fehler von +-1% auf den Bauteilwerten.
Aber das kannst du dann ja immer noch an den Prototypen klären. Die Pis passen vom Abstand, sodass du den "unteren" FB-Widerstand einfach "quer drüber" setzen kannst.
Das Schaltplanmakro ist ein wenig überraschend. Da klebt die Spule, die eigentlich das zentrale Bauteil des Schaltreglers ist und vom Stromfluss her zwischen Vin und Vout gehört, irgendwie so völlig unbeteiligt nebendran.
Der JP7 würde ich um 90° nach links drehen und den mittleren Anschluss ohne Labels (und zugehörigem Suchspiel) direkt verbinden.
Die Eingangskondensatoren des Schaltregler sind die Werte, die der selbst zur Funktion braucht. Es kann sein, dass deine Anwendung noch mehr Stützkapazität braucht. Die musst du dann nach den Anforderungen deiner Schaltung selber berücksichtigen.
aus Platzgründen ein Via zwischen U8 (Pin 9) und R32 gemacht.
Das Schaltplanmakro ist ein wenig überraschend. Da klebt die Spule, die
eigentlich das zentrale Bauteil des Schaltreglers ist und vom Stromfluss
her zwischen Vin und Vout gehört, irgendwie so völlig unbeteiligt
nebendran.
Hmm, vielleicht gibt's in KiCad dafür ein "prominenteres" Symbol. Ich habe einfach nur nach L_small gesucht :-)
Nee, in der Luft hängt nix. Das Via hat ja GND-Verbindung auf alle anderen Layer. Mir ging es nur darum, dass auf dem Ev.-Board oben der TPS war und darunter der untere FB-Widerstand quer. Der TPS war dann mit einer Leiterbahn zum Widerstand verbunden und erst unterhalb vom Widerstand war ein Via. Bei mir sitzt das Via zwischen R32 und TPS. Aber vielleicht ist das auch völlig wurscht. An der Stelle habe ich eine kleine Sperrfläche eingezeichnet, damit KiCad da kein GND-Inselchen hinbastelt.
Hmm, vielleicht gibt's in KiCad dafür ein "prominenteres" Symbol. Ich
habe einfach nur nach L_small gesucht :-)
Ich meinte nicht die Spule an sich, sondern deren Position am Regler.
Nicht umsonst sieht das bei TI so wie angehängt aus: oben ist die Leistungsebene, in der Mitte die Signale, unten die Masse.
Das Via hat ja GND-Verbindung auf alle anderen Layer.
Genau diese Verbindung darfst du nicht machen, sondern der FB-Spannungsteiler wird wie im Beispiellayout exakt und ausschließlich an die Signalmasse angeschlossen. Und diese Signalmasse wird dann mit der 1 schmalen Leiterbahn an der allgemeinen Leistungsmasse angeschlossen. Du siehst am grün markierten Bereich, dass
diese Leiterbahn ganz kurz ist und
nur 1 einzige Verbindung zur Leistungsmasse ist, und
diese extra verjüngte(!) Verbindung sogar noch explizit und liebevoll nicht in die Kupferfläche, sondern direkt an die Vias geht, die direkt zum Massepad in der Bauteilmitte führt.
Man sieht, dass in diesem Bild noch einiges an KnowHow und Informationen steckt, die zuvor auch im Text erwähnt wurden: "Use a common ground node for power ground and a different one for control ground to minimize the effects of ground noise."
Es ist einfach so, dass es bei solchen Reglern für das Optimum tatsächlich auf einzelne mm ankommt. Und mit weniger als dem Optimum sollte man sich nicht zufrieden geben, wenn man dadurch sogar noch ein Via (und den Platz dafür) sparen kann... ;-)
Genau diese Verbindung darfst du nicht machen, sondern der
FB-Spannungsteiler wird wie im Beispiellayout exakt und
ausschließlich an die Signalmasse angeschlossen. Und diese Signalmasse
wird dann mit der 1 schmalen Leiterbahn an der allgemeinen
Leistungsmasse angeschlossen.
Hmm, ok. Da war ich mir jetzt unsicher. Auf dem Evalboard ist das Via auch drauf, aber halt wie gesagt nicht zwischen TPS und Widerstand, sondern unterhalb des Widerstandes. Aber jut, hab's raus genommen.
Auf dem Evalboard ist das Via auch drauf, aber halt wie gesagt nicht
zwischen TPS und Widerstand, sondern unterhalb des Widerstandes.
Schau dir das nochmal ganz genau an: dieses Via geht auf eine eigene Signalmasseinsel zu den Jumpern für die Konfigurationspins. Dieses Via und auch dei beiden GND-Pins an den Jumpern haben explizit keine direkte Verbindung zur Leistungsmasse.
Allerdings hätte ich beim Evalboard das Kupfer auch nicht extra dicht um die FB-Widerstände herum geflutet. Da ist das Layoutbeispiel im Datenblatt besser.
So, kurzes Feedback:
Platine kam heute an und ich habe die noch fehlenden Teile dann dazugelötet. Hab's jetzt mit dem Oszi noch nicht angeschaut, aber funktionieren tut alles. Habe die Feedback-Loop so gelassen, wie ich weiter oben gezeigt habe - da kommen nun 3,348 V hinten raus. Passt.
Es gibt vor allem auch keine Störungen im Audioteil der Platine. Da gibt es einerseits zwei MAX98357a (ClassD-Amp mit integriertem I2S-DAC) für Lautsprecher und einen MS6324 (I2S-DAC) mit TDA1308 (OP-Amp) für Kopfhörer. Nice.