Hallo, nachfolgend mein erstes Board mit einem ESP32-S2. Ich würde mich über Feedback freuen. Das Board soll eine bzw. mehrere LED-Matrixanzeigen ansteuern und per WiFi gesteuert werden. Später kommen dann noch Sensoren dazu, aber ich fang mal mit was einfacherem an. - USB Port zum Laden (Datenleitungen werden nicht benötigt) - LiPo Charger mit Ladeanzeige. Es kann während des Betriebs geladen werden. - On/Off Push Button mit Latch und Software-Shutdown - Schaltregler - ESP32-S2 Wrover Board - UART/JTAG Port (zweireihig - man könnte auch nur die UART-Seite bestücken) - 5x7 LED Matrix (erstmal nur eine, später dann mehrere) mit Ansteuerung durch Schieberegister und zweipoliger Schaltung (wird zum Messen benötigt, daher benötige ich die Kontrolle beider Pole; ein MAX16xxx ist daher nicht geeignet). Die anodenseitige Ansteuerung hab ich so halbdiskret mit integrierten P-Channel-MOSFET Schaltern realisiert, die durch ein Schieberegister angesteuert werden. Ich konnte leider kein source-seitiges Schieberegister mit Leistungsausgängen finden. Ich hab auch ein paar Fragen: - Ich werde Wifi verwenden und da zieht der ESP32-S2 so richtig Strom. Die LED-Matrix zieht im Maximalfall 125mA pro Segment. Es wird zumindest zwei Segmente geben, d.h. im Worst Case habe ich kurzfristig 750mA Spitzen, was der Schaltregler theoretisch noch schafft, aber die Frage ist halt, wie stabil dann die Spannung ist und ob ich in Gefahr laufe, den ESP32-S2 in einen instabilen Zustand zu bringen bzw. ob die LEDs dann ungleich leuchten. Notfalls könnte ich einen zweiten Regler für die LED-Anzeigen vorschalten und Konstantstromquellen an die Anoden, aber den Aufwand wollte ich eigentlich vermeiden. Vom Akku her bin ich mit 1100mA auf der sicheren Seite. - Für das Schalten der Anoden verwende ich den NTJD1155LT1G. Das ist im Prinzip ein P-Channel MOSFET mit Vorschaltung. Die Frage ist, ob sich der Aufwand lohnt oder ob ein normaler Logic Level MOSFET nicht reichen würde. Teuer ist das Ding nicht, aber es nimmt Platz am PCB weg. - auf manchen Boards wird für die UART-Leitungen RX/TX eine Transistorschaltung verwendet, auf anderen wiederum nicht. Ich hab leider nicht herausgefunden, wozu ds gut sein soll (Flusssteuerung ?). Geht es auch ohne, d.h. kann ich die beiden Leitungen einfach direkt vom Stecker heranführen ? - der externe Quarz wird bei manchen Boards verwendet, bei anderen nicht. Gehe ich richtig in der Annahme, dass er bei Zeitmessungen bzw. RTC die Genauigkeit erhöht ? Hat er noch irgendwelche Vorteile ?
:
Bearbeitet durch User
Franz W. schrieb: > - Ich werde Wifi verwenden und da zieht der ESP32-S2 so richtig Strom. > Die LED-Matrix zieht im Maximalfall 125mA pro Segment. Es wird zumindest > zwei Segmente geben, d.h. im Worst Case habe ich kurzfristig 750mA > Spitzen, was der Schaltregler theoretisch noch schafft, aber die Frage > ist halt, wie stabil dann die Spannung ist und ob ich in Gefahr laufe, > den ESP32-S2 in einen instabilen Zustand zu bringen bzw. ob die LEDs > dann ungleich leuchten. Notfalls könnte ich einen zweiten Regler für die > LED-Anzeigen vorschalten und Konstantstromquellen an die Anoden, aber > den Aufwand wollte ich eigentlich vermeiden. Vom Akku her bin ich mit > 1100mA auf der sicheren Seite. Der Regler selbst ist vermutlich nicht das Problem, eher der Innenwiderstand des Akkus. Franz W. schrieb: > Für das Schalten der Anoden verwende ich den NTJD1155LT1G. Das ist im > Prinzip ein P-Channel MOSFET mit Vorschaltung. Im Grunde kannst du hier jeden Kleinsignal P Kanal MOSFET nehmen, solange der RDSON tief genug ist, um den FET durch den fliessenden Drain-Source Strom nicht zu stark zu erwärmen. Franz W. schrieb: > - auf manchen Boards wird für die UART-Leitungen RX/TX eine > Transistorschaltung verwendet, auf anderen wiederum nicht. Ich hab > leider nicht herausgefunden, wozu ds gut sein soll (Flusssteuerung ?). > Geht es auch ohne, d.h. kann ich die beiden Leitungen einfach direkt vom > Stecker heranführen ? Meinst du die Transistoren fürs Programmieren zwischen RESET und BOOT0? Dient dazu deinen ESP Automatisch in den Downlaod-Modus zu schalten, wenn du dein Programm rauf lädst. Franz W. schrieb: > - der externe Quarz wird bei manchen Boards verwendet, bei anderen > nicht. Gehe ich richtig in der Annahme, dass er bei Zeitmessungen bzw. > RTC die Genauigkeit erhöht ? Hat er noch irgendwelche Vorteile ? Der Quarz an IO15 und IO16 wird nur für die interne RTC verwendet, da das WROVER Modul bereits einen 40MHz Quartz für den betrieb On-Board hat. Willst du die RTC verwenden? Die ESP Module haben meines Wissens nach den Versorgungspin dafür nicht raus geführt, sodass die RTC nicht mit einer Batterie gepuffert werden kann, und somit in vielen fällen nicht wirklich sinnvoll eingesetzt werden kann. Stefan ⛄ F. schrieb: > Erkläre mal Q6 Sieht nach Verpolschutz aus, wobei mir das für USB nicht so wirklich sinnvoll erscheint. Ausserdem gehört der Transistor dann direkt an den Anschluss. @Franz W. Mann sieht dass du dir Gedanken über die Schaltung gemacht hast.
:
Bearbeitet durch User
Franz W. schrieb: > nachfolgend mein erstes Board Du solltest die Schaltungen erst mal stückweise ausprobieren, z.B. auf einem Steckbrett. Da funktioniert doch gar nichts. Der LiIon Akku an J2 wird über D1 und Q6 ganz ohne Laderegler voll überladen bis er platzt. Deine 5x7 Anzeige hat die Vorwiderstände genau in den falschen Zuleitungen, 6C598 schaltet ja nur 50mA, die 1155 mehr. https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1 Und dass du einen Megahertz-Schaltregler TPS61201 erfolgreich aufbauen kannst, halte ich für zweifelhaft. Ob die 3.3V fur die LEDs ausreichen, weiss man mangels Typenbezeichnung nicht. Und ob du einen MAX16054 kaufen kannst... Franz W. schrieb: > Die Frage ist, ob sich der Aufwand lohnt oder ob ein normaler Logic > Level MOSFET nicht reichen würde. Na ja, du brauchst P-MOSFETs die bei 2.8V UGS sicher durchschalten wie IRF7401, ist die aber wohl zu gross, oder NTJS3151P, schwer erhältlich , also einen Kompromiss suchen. Franz W. schrieb: > der externe Quarz wird bei manchen Boards verwendet, bei anderen nicht. > Gehe ich richtig in der Annahme, dass er bei Zeitmessungen bzw. RTC die > Genauigkeit erhöht ? Er ist für die RTC, richtig. Ohne RTC unnötig.
Stefan ⛄ F. schrieb: > Erkläre mal Q6 Bzgl. Q6 ist die Idee die folgende: Der P-Channel MOSFET wird als High Side Switch verwendet, der zwischen Batteriebetrieb und direkter Versorgung per USB umschaltet, wobei in letzterem Fall der Akku geladen werden kann. Ist der USB Stecker unbelegt, liegt an VBUS kein Potential an und das Gate wird über R16 auf Masse gezogen. Dadurch schaltet Q6 durch und versorgt den Spannungsregler über die Batterie (die hoffentlich aufgeladen ist). Ist der USB Stecker eingesteckt, liegt an VBUS Potential an und führt zum Sperren von Q6, d.h. die Batterie wird vom Laderegler getrennt, dieser aber über die Schottkydiode D1 mit Spannung versorgt. Ein Laden des Akkus ist gleichzeitig möglich. D1 verhindert, dass im Akkubetrieb Spannung ans Gate von Q6 zurückwirkt und ihn wieder sperrt. Eigentlich müsste das funktionieren, oder hab ich da falsch gedacht ?
Über D1 und die interne Inversdiode von Q6 existiert ein Strompfad, der bei USB-Betrieb mit zur Akkuladung beiträgt. Dadurch kann der Akku überladen und die Funktion des Ladereglers IC3 beeinträchtigt werden.
Franz W. schrieb: > p2021.png Das Bild erst als JPEG zu speichern und dann sinnfrei in PNG zu wandeln, macht die Sache nicht besser. Den JPEG-Match kriegst du nicht wieder raus. Tipp: Mach dich mal schlau über Bildformate und deren tieferen Sinn.
MaWin schrieb: > Da funktioniert doch gar nichts. > > Der LiIon Akku an J2 wird über D1 und Q6 ganz ohne Laderegler voll > überladen bis er platzt. Verstehe ich nicht. Warum soll der Akku über D1 und Q6 überladen werden ? > Deine 5x7 Anzeige hat die Vorwiderstände genau in den falschen > Zuleitungen, 6C598 schaltet ja nur 50mA, die 1155 mehr. Verstehe ich ebenfalls nicht. Die Vorwiderstände müssen doch vor jede LED. Die Matrix hat gemeinsame Kathoden. Die Kathoden werden vom TLC6C598PWR bedient. Wo Du recht hast, ist der Fehler mit dem maximalen Strom pro Ausgang. Der ist mit 50mA begrenzt und das geht sich nicht aus, wenn alle Anoden einer Zeile an sind - könnte man aber software-seitig lösen. Danke für den Hinweis - da muss ich wohl auch wieder auf eine MOSFET-Lösung setzen. Oder kennst Du ein Schieberegister, das mehr kann ? > https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1 > > Und dass du einen Megahertz-Schaltregler TPS61201 erfolgreich aufbauen > kannst, halte ich für zweifelhaft. Inwieweit ? Im Datenblatt befindet sich sogar ein Layout-Vorschlag, den ich 1:1 übernehmen könnte. Welche Probleme könnte ich sonst damit bekommen ?
Forist schrieb: > Franz W. schrieb: >> p2021.png > > Das Bild erst als JPEG zu speichern und dann sinnfrei in PNG zu wandeln, > macht die Sache nicht besser. Den JPEG-Match kriegst du nicht wieder > raus. > Tipp: Mach dich mal schlau über Bildformate und deren tieferen Sinn. Bei mir wird der Schaltplan detailliert angezeigt. Er ist aber so groß, dass die Foren-SW ihn offensichtlich unterskaliert. Das Original sieht man, in dem man die Grafik mit dem Vergrößerungssymbol rechts unten maximiert.
Franz H. schrieb: > Über D1 und die interne Inversdiode von Q6 existiert ein Strompfad, der > bei USB-Betrieb mit zur Akkuladung beiträgt. Dadurch kann der Akku > überladen und die Funktion des Ladereglers IC3 beeinträchtigt werden. Verstehe, das ist tatsächlich ein Fehler. Ich könnte eine weitere Schottkydiode an Source oder Drain hängen ?
Eine weitere Schottky-Diode beseitigt das Problem, aber mit dem Nachteil, dass die Batterieausgangsspannung dadurch verringert wird. Eine bessere Lösung sind zwei antiseriell geschaltete MOSFETs. Die Ansteuerung der beiden Gates erfordert allerdings eine zusätzliche Logikschaltung oder ein IC, wie es in den LiPo-Ladern mit Batterieschutz benutzt wird, z.B. DW01 (siehe Anhang).
Franz H. schrieb: > Eine weitere Schottky-Diode beseitigt das Problem, aber mit dem > Nachteil, dass die Batterieausgangsspannung dadurch verringert wird. > Eine bessere Lösung sind zwei antiseriell geschaltete MOSFETs. Die > Ansteuerung der beiden Gates erfordert allerdings eine zusätzliche > Logikschaltung oder ein IC, wie es in den LiPo-Ladern mit Batterieschutz > benutzt wird, z.B. DW01 (siehe Anhang). Danke für den Tipp. Den DW01 kenne ich von manchen Akkupacks, wo er fest verbaut ist. Insgesamt erscheint mir das aber doppelt gemoppelt, da ja schon der MCP73831 diverse Schutzfunktionen wahrnimmt. Wenn ich dann zwei Regelkreise in Serie schalte, könnte es sein, dass die sich gegenseitig z.B. bei der Ladekurve in die Quere kommen, oder ? Die Schottky-Diode verursacht zwar einen Spannungsabfall, aber nachdem dahinter eh ein Schaltregler ist, sollte die Funktion nach wie vor gegeben sein - es sinkt halt der Wirkungsgrad etwas. Was ich mich aber frage ist, ob es nicht eine integrierte Lösung für das Laden und den Spannungswandler gibt. Das ist ja eine ziemlich häufig genutzte Kombination. Ich hab noch einen anderen Fehler gefunden: Der Messpin BAT_V hat die Batterie viel zu niederohrig gegen Masse geschalten. Ich hab das jetzt mit einem MOSFET isoliert, der nur für die Messung kurz durchschaltet. Insgesamt sieht der vordere Teil der Schaltung nun so aus, wie im Anhang ersichtlich.
Franz H. schrieb: > Eine bessere Lösung Eine bessere Lösung wäre es, due Schaltung IMMER aus dem Akku zu betreiben und 5V nur zum Laden des Akkus zu verwenden. Dann darf die Schaltung kurzzeitig (WLAN) sogar mehr Strom ziehen, als die 5V liefern, der Akku puffert. Sie funktioniert halt bloss bei defektem Akku nicht mehr.
> Insgesamt sieht der vordere Teil der Schaltung nun so aus, > wie im Anhang ersichtlich. Q6 scheint mir überflüssig zu sein, nachdem du die Umschaltung den beiden Dioden D1 und D3 überlässt. Beim Umschalten wird ein sprunghafter Spannungswechsel stattfinden. Ich weiß von den ESP Chips, dass sie auf solche Sprünge ganz empfindlich reagieren - andere IC's vielleicht auch. Die schriebst, dass dahinter ein Spannungsregler kommt, der würde die Sprünge wohl hoffentlich ausbügeln. Aber wie groß ist dessen Eingangskapazität? Ist dir bewusst, dass die USB Spezifikation maximal 10µF erlaubt? Die Eingangs-Kapazität des Spannungsreglers würde sich du den bereits vorhandenen Kapazitäten noch addieren, sobald D1 leitet. Ich würde jede Baugruppe zusätzlich du dieser Diskussion auf einem Steckbrett testen, bevor du die Platine herstellen lässt.
Man kann auch einfach Drain und Source an Q6 drehen. VBUS muss dann aber immer über der Batteriespannung plus Durchlasspannung von D1 liegen, damit der Akku nicht verwendet wird.
Stefan ⛄ F. schrieb: >> Insgesamt sieht der vordere Teil der Schaltung nun so aus, >> wie im Anhang ersichtlich. > > Q6 scheint mir überflüssig zu sein, nachdem du die Umschaltung den > beiden Dioden D1 und D3 überlässt. Aber wenn ich den MOSFET weglasse, dann wird die Batterie auch während des Ladezyklzus durch den Schaltregler belastet. Kommt der dann nicht durcheinander beim Regeln ?
Franz W. schrieb: > Aber wenn ich den MOSFET weglasse, dann wird die Batterie auch während > des Ladezyklzus durch den Schaltregler belastet. Nein, denn die Diode leitet beim Laden nicht. Beim Laden leitet die andere Diode. Es leitet immer die Diode mit der höheren Eingangsspannung. Das ganze Funktioniert nur, wenn die Spannung an VUSB hoch genug ist. Andreas wies bereits darauf hin. Das USB aber auch 4,5V erlaubt, ist diese Bedingung nicht immer sicher erfüllt. Damit es wirklich immer zuverlässig und verlustarm funktioniert, brauchst du einen Umschalter mit zwei Kontakten (oder Transistoren) die entsprechend angesteuert werden.
Danke für euer Feedback - es hilft mir sehr. Ich habe die Umschaltung jetzt anders realisiert und verwende zwei LM66100 als ORing. Die beiden idealen Dioden sind so geschalten, dass der USB-Port Priorität gegenüber der Batterie hat (D1). Nur wenn keine Spannung per USB kommt, schaltet D2 die Batterie durch. Damit sollte gewährleistet sein, dass immer nur eine Spannungsquelle aktiv ist.
Franz W. schrieb: > Das Original sieht man, in dem man die Grafik mit dem Vergrößerungssymbol > rechts unten maximiert. Genau das, was man dann zu sehen bekommt, meinte ich.
Andreas W. schrieb: > Man kann auch einfach Drain und Source an Q6 drehen. Richtig, die Schaltung mit P-Fet und einer Diode funktioniert so ohne Probleme.
Ich bin nun noch auf der Suche nach einem ULDO, mit dem sich folgendes betreiben lässt: * ESP32-S2 (kurzzeitig max. 500mA, 3,3V) * LEDs + Treiber (kurzzeitig max. 300mA, 3,3V) * der Durchschnittsstromverbrauch ist natürlich weit geringer * als Versorgung dient ein LiPo Akku 3,7V, 1100mAh * positiv wäre, wenn der Regler einen Unterspannungsschutz hätte, um den Akku nicht leer zu saugen bzw. um das Gerät herunterzufahren. Das kann ich aber notfalls auch per ADC und Software lösen. Schön wäre es, wenn er noch händisch lötbar wäre, aber das ist kein Muss. Ruhestrom ist kein großes Thema, da ich das Gerät bei Nichtbenutzung sowieso ausschalte. Ich habe versucht, bei Digikey zu filtern, komme aber (wie bei der MOSFET-Suche) kaum zu einem brauchbaren Ergebnis. Über einen Tipp zu gebräuchlichen Reglern wäre ich sehr dankbar. Der Akku wird auf max. 4,2V geladen und sinkt dann schnell auf ca. 3,7V ab, die er während des Betriebs lange halten sollte. Sobald die Spannung dann bei ca. 80% der Entladung sinkt, sollte irgendwann der Unterspannungsschutz greifen und - das wäre ein Plus - dies an die MCU signalisieren, damit ich noch sauber runterfahren kann.
Nimm zwei LF33. Einen für den ESP, und einen zweiten für alles andere. Wenn es sparsamer sein soll, nimm den HT7833. Den Unterspannungsschutz wirst du vermutlich anders lösen. Ich kenne keinen LDO, der das mit drin hat. (was nicht heißen soll, dass es keinen gibt. Dieser Zusatz muss sein, damit der Arduino Fanboy sich nicht wieder aufregt).
Stefan ⛄ F. schrieb: > Nimm zwei LF33. Einen für den ESP, und einen zweiten für alles andere. Danke für die Antwort, aber der hat ja eine Drop Out Voltage von 0.4-0.7V. Das ist mir ein bisschen zu riskant. Gut ist aber, dass er einen Enable-Pin hat. Ich hab noch den Tipp mit dem AP2112-3.3 bekommen.
:
Bearbeitet durch User
Einen geeigneten Spannungsregler zu finden ist leider nicht ganz einfach, was mich angesichts meiner überschaubaren Anforderungen irgendwie wundert. Warum ist noch keiner auf die Idee gekommen, einen LiPo-tauglichen LDO-Regler für 3.3V mit UVLO zu verkaufen ? Bei den Schaltreglern gefällt mir der TPS6120 recht gut, aber der kann bei niedrigeren Akkuspannungen nur mehr 300mA liefern, was weniger als die Hälfte meines Bedarfs ist. Einen separaten UVLO-Chip mit dem EN-Eingang zu verbinden ist auch nicht so einfach, da der ja schon mit meinem On/Off-Latch belegt ist. Oder soll ich dann ein AND-Gatter verwenden und beide Ergebnisse kombinieren...
Besser ist es einen Laderegler mit integrierten Power Path zu verwenden. Der übernimmt die Akkuladung und die Umschaltung zwischen Versorgung von USB oder Akku. Von Microchip gibts da den MCP73871. Als Source und Sink Driver würde ich die Kombination MIC5891 und MIC5841 einsetzen, dann sparst du dir die ganzen externen MOSFET´s. Wenn du dann mal um mehrere Anzeigen erweitern willst, kannst du diese Bausteine auch in Daisy Chain Konfiguration betreiben um Leitungen und SPI Ports zu sparen.
Franz W. schrieb: > Warum ist noch keiner auf die Idee gekommen, einen > LiPo-tauglichen LDO-Regler für 3.3V mit UVLO zu verkaufen ? Weil die Spannung für Lithium Akkus dafür zu gering ist. Du brauchst 3,3V + mindestens 0,3V für den Spannungsregler. Das sind schon 3,6V. Die Hersteller der Geräte möchten den Akku aber vollständig ausnutzen, denn die Käufer achten auf die maximale Laufzeit. Wir Bastler machen so etwas, aber die Chiphersteller haben es nicht nötig. Die bauen ihre Chips für Batteriebetriebene Geräte eher so, dass sie gar keinen Spannungsregler brauchen.
H. B. schrieb: > Besser ist es einen Laderegler mit integrierten Power Path zu verwenden. > Der übernimmt die Akkuladung und die Umschaltung zwischen Versorgung von > USB oder Akku. > Von Microchip gibts da den MCP73871. > > Als Source und Sink Driver würde ich die Kombination MIC5891 und MIC5841 > einsetzen, dann sparst du dir die ganzen externen MOSFET´s. > > Wenn du dann mal um mehrere Anzeigen erweitern willst, kannst du diese > Bausteine auch in Daisy Chain Konfiguration betreiben um Leitungen und > SPI Ports zu sparen. Danke für Deinen Input, H.B. Ich bin mittlerweile tatsächlich auf einen integrierten Power Path/Laderegler umgeschwenkt und hatte bisher den BQ24232HA im Auge, der recht ähnlich zum von Dir vorgeschlagenen MCP73871 ist. Die MOSFET-Treiber möchte ich auch gegen was integriertes ersetzen. Weißt Du, ob die MIX5841/5891 auch mit 3.3V zurecht kommen bzw. schon voll durchschalten ? Im Datenblatt finde ich das nicht - es wird aber immer nur 5V als kleinste Vdd angegeben.
Die MIC5841 und 5891 arbeiten nur mit 5V Logik. Kannst ja für die paar Leitungen vom Controller 3,3V/5V Levelshifter einbauen.
Sowohl der MCP73871, als auch der BQ24232HA können am Eingang entweder über einen AC/DC-Adapter, als auch per USB betrieben werden. In letzterem Fall muss man durch Ansteuerung zweier Pins von außen den Ladestrom entweder auf 100mA oder auf 500mA begrenzen. Das Problem ist hier natürlich wieder, dass das ganze USB-Negotiation-Gerödel relativ kompliziert ist und man umgekehrt nicht sicher sagen kann, ob der angeschlossene USB-Port einfach so 500mA liefern kann. In der Praxis scheint das im Jahr 2020 aber jedem egal zu sein und es werden einfach 500mA gesaugt. Von abgerauchten USB-Ports habe ich auch schon lange nichts mehr gehört. Beide Chips haben auch eine Art dynamische Strombegrenzung durch Spannungsüberwachung der USB-Busspannung implementiert. Das Datenblatt zum BQ24232HA ist hier explizit: > When charging from a USB port, the input dynamic power management > circuit reduces the input current limit if the input voltage falls > below a threshold, preventing the USB port from crashing. Beim MCP73871 heißt es hingegen: > If the voltage on the IN pin drops to a preset value determined by > the threshold established at the VPCC (voltage proportional charge > control) input due to a limited amount of input current or input > source impedance, the battery charging current is reduced. If > possible, further demand from the system is supported by the battery. Das könnte man jetzt ähnlich interpretieren - ich bin mir aber nicht sicher. Hat jemand von euch Erfahrung, was bei diesen Chips passiert, wenn man sie mit 500mA USB-Ladestrom konfiguriert und man einen USB-Port erwischt, der nur 100mA kann ?
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.