Selbsthaltung mit ESP32-S3 & SIT1043 schaltet nicht ab

OP #8021673
Lesenswert?

Hallo zusammen,

ich arbeite an meinem ersten PCB-Design, einem CAN-Bus-Router-Board mit einem ESP32-S3 und 12V-Eingangsspannung. Das Board verfügt über eine Selbsthalte-Stromversorgung (Self-Latch-Schaltung), die sich nach 2 Minuten CAN-Bus-Inaktivität eigentlich selbst ausschalten soll. Das Problem ist, dass der MOSFET einfach nicht abschaltet.

Wie die Schaltung funktioniert: Das Board hat zwei SIT1043QT CAN-Transceiver. Deren INH-Pins (Pin 7, Open-Drain-Ausgang) sind miteinander verbunden und über einen 10kΩ-Widerstand an die Basis eines S8050 NPN-Transistors angeschlossen. An der Basis hängt außerdem ein 4,7kΩ Pull-down-Widerstand gegen GND. Der Kollektor des S8050 geht über einen 10kΩ-Widerstand an das Gate eines SI2305 P-MOSFETs. Das Gate hat zudem einen 10kΩ Pull-up nach 12V. Die Source des SI2305 ist mit 12V verbunden, und der Drain speist einen TSR 1-2450E Spannungsregler (12V auf 5V), der den ESP32 versorgt.

Das gewünschte Verhalten: Wenn CAN-Aktivität vorliegt, befinden sich die SIT1043 im Normal-Modus, INH ist HIGH, der NPN leitet, zieht das MOSFET-Gate auf LOW und der MOSFET schaltet durch. Wenn der ESP32 2 Minuten Inaktivität erkennt, versetzt er die SIT1043 in den Sleep-Modus (EN=HIGH, STBN=LOW). INH sollte dann hochohmig (High-Z) werden, der 4,7kΩ Pull-down zieht die Basis auf GND, der NPN sperrt, der 10kΩ Pull-up zieht das Gate auf 12V und der MOSFET schaltet ab.

Das Problem: Die INH-Pins beider SIT1043 bleiben bei ca. 10V, unabhängig vom Betriebsmodus (Normal = 10,780V, Sleep = 10,112V). Ich habe überprüft, ob die EN- und STBN-Pins an den SIT1043 die korrekten Spannungspegel haben. VCC liegt bei 5V, VBAT bei 12V. Wenn ich das INH-Netz manuell mit einem Kabel auf GND ziehe, schaltet sich die gesamte Schaltung korrekt ab.

Außerdem habe ich den Widerstand der INH-Pins bei stromlosem Board gemessen: 14,6kΩ zwischen INH und GND, was exakt den externen Widerständen entspricht (10kΩ + 4,7kΩ in Reihe).

Persönliche Seite #8021717
Lesenswert?

Daniel schrieb:

Danke für deine schnelle Antwort Kai, ich habe mein Code angepasst!

Leider schaltet der Mosfet noch immer nicht im Sleep Modus, am INH Pin messe ich weiterhin Normal = 10,780V und Sleep = 10,112V.

Mach nach der Warte Zeit, in was eigentlich ms? ggf mal nachmessen, auch den EN mit aus. Beim Original von NXP war das zwar theoretisch so das er da sein IHN in High Impedance setzten sollte aber das glaube ich erst wenn dann auch die VCC5 und so weg sind.

OP #8021730
Lesenswert?

H. H. schrieb:

Das Original von Vishay/Siliconix verträgt nur 8V.

Andere Hersteller verkaufen unter der Bezeichnung deutlich verschiedene MOSFETs.

Vielen Dank für die Aufklärung zu den MOSFETs, das wusste ich noch nicht. Mein Problem scheint hier allerdings eine andere Ursache zu haben.

Andras H. schrieb:

Bei den Schaltplänen finde ich persönlich dass positive Spannungen immer irgendwie oben sein sollten. GND eher unten. Außer es gibt negative Spannungen. Dann GND "mitte", und negative dann "unten".

Danke für den Tipp! Da ich noch Azubi bin, bin ich für solche Ratschläge immer dankbar. Ich werde bei meinen zukünftigen Schaltplänen auf jeden Fall darauf achten.

Ich hoffe, wir kommen dem Fehler trotzdem noch auf die Schliche. Ich bin für jede weitere Hilfe dankbar!

#8021757
Lesenswert?

Daniel schrieb:

Das Problem: Die INH-Pins beider SIT1043 bleiben bei ca. 10V, unabhängig vom Betriebsmodus (Normal = 10,780V, Sleep = 10,112V). Ich habe überprüft, ob die EN- und STBN-Pins an den SIT1043 die korrekten Spannungspegel haben. VCC liegt bei 5V, VBAT bei 12V. Wenn ich das INH-Netz manuell mit einem Kabel auf GND ziehe, schaltet sich die gesamte Schaltung korrekt ab.

Außerdem habe ich den Widerstand der INH-Pins bei stromlosem Board gemessen: 14,6kΩ zwischen INH und GND, was exakt den externen Widerständen entspricht (10kΩ + 4,7kΩ in Reihe).

Die 10V können ja nicht von den SIT1043 kommen, die mit 5V versorgt werden. Nehmen wir an, die INH Pins sind hochohmig, dann wären die 10V auch an der 'Basis' des S8050 vorhanden. Und das kann aber nicht sein, wenn dein Aufbau mit dem Schaltplan übereinstimmen würde. Meine Schlussfolgerung, fehlerhafte Verdrahtung rund um den S8050, oder irgendwo eine Lötbrücke zu den 12V.

OP #8021777
Lesenswert?

Nach dem Tausch beider SIT1043QT funktioniert die Selbsthaltung einwandfrei. Der Fehler lag definitiv an defekten INH-Ausgängen der alten ICs (die reguläre CAN-Kommunikation war interessanterweise noch intakt).

Meine Frage zur Fehlervermeidung für die nächste Revision: Kann mein aktuelles Schaltungsdesign die INH-Ausgänge durch Überlastung zerstört haben? Laut Datenblatt ist der INH-Pin für einen Ausgangsstrom von unter 1 mA spezifiziert.

OP #8021794
Lesenswert?

H. H. schrieb:

Dann vergrößere doch die Widerstände an der Basis entsprechend.

Das ist ein guter Punkt und entspricht auch meinem aktuellen Plan. Ich werde den 10kΩ-Basiswiderstand auf 33kΩ vergrößern. Damit begrenze ich den Strom bei 12V sicher auf ca. 0,36 mA und lande somit deutlich unter dem im Datenblatt empfohlenen Maximalstrom von 1 mA.

Alexander schrieb:

Die Querströme/Rückspeisung unter den INH Pins sind nicht begrenzt.

Das befürchte ich auch: Wenn ein Transceiver 12V ausgibt, während der andere noch im Sleep-Modus ist, kommt es zur Rückspeisung. Ist das eine ernstzunehmende Gefahr für den hochohmigen Pin des ICs? Würde als Schutz schon ein 1kΩ-Widerstand zwischen den beiden INH-Pins ausreichen?

Gast #8021807
Lesenswert?

Daniel schrieb:

H. H. schrieb:

Dann vergrößere doch die Widerstände an der Basis entsprechend.

Das ist ein guter Punkt und entspricht auch meinem aktuellen Plan. Ich werde den 10kΩ-Basiswiderstand auf 33kΩ vergrößern.

Da hats noch einen Widerstand, der ist mit 4k7 viel zu klein gewählt.

OP #8021811
Lesenswert?

Andras H. schrieb:

Bei den Schaltplänen finde ich persönlich dass positive Spannungen immer irgendwie oben sein sollten. GND eher unten. Außer es gibt negative Spannungen. Dann GND "mitte", und negative dann "unten".

Ich gelobe Besserung! Ich hoffe, du siehst es mir nach, dass der aktuelle Schaltplan immer noch nicht ganz den Best Practices entspricht, ich bin noch am Üben. :-)

Hier ist mein aktueller Stand:

  • Entkopplung: Ich habe die empfohlenen Dioden an den INH-Pins eingebaut, um Querströme und Rückspeisungen zuverlässig zu verhindern.

  • Strombegrenzung (INH): Den gemeinsamen Vorwiderstand habe ich von 10kΩ auf 33kΩ vergrößert. Wenn ein INH-Pin aktiv ist (12V), fließen abzüglich der Spannungsabfälle an Diode und Basis-Emitter-Strecke nur noch ca. 0,33 mA. Damit liege ich sehr sicher und weit unter dem spezifizierten Limit von 1 mA.

  • Pull-down (Basis): Den zu kleinen 4,7kΩ-Widerstand habe ich gegen 51kΩ getauscht. Das reicht völlig aus, um die Basis im Sleep-Modus sauber auf 0V zu ziehen, stört aber den Spannungsteiler im Normal-Modus nicht mehr.

So sollte es doch jetzt eigentlich funktionieren?

Angehängte Dateien:
OP #8021816
Lesenswert?

H. H. schrieb:

Süß, ein 33kOhm Varistor...

Das kommt davon, wenn man als Anfänger im CAD-Programm einfach das erstbeste Bauteil anklickt, das grob wie ein Widerstand aussieht. ;)

Ich tausche diesen gegen ein Festwiderstand aus, die 33k Ohm sollten allerdings ausreichend sein?

Angehängte Dateien:
: Bearbeitet durch User
OP #8021830
Lesenswert?

Das habe ich als gute Übung gleich mal gemacht! Hier ist meine Rechnung:

  1. Strom am INH-Pin: Von den 12V fallen ja ca. 0,3V an der Schottky-Diode und ca. 0,7V an der Basis-Emitter-Strecke ab. Es bleiben also noch 11V, die am 33kΩ Vorwiderstand abfallen. Nach I=U/R fließen da also ca. 0,33 mA. Damit bin ich extrem sicher unter dem 1 mA Limit aus dem Datenblatt!

  2. Basisstrom: Der 51kΩ Pull-down-Widerstand zieht bei den 0,7V Basisspannung nur winzige 0,014 mA ab. Es bleiben also knapp 0,31 mA effektiver Basisstrom für den Transistor übrig.

  3. Kollektorstrom & Mosfet-Gate: Wenn der S8050 durchschaltet, zieht er den Strom durch den Spannungsteiler (die beiden 10kΩ Widerstände). Der Kollektor muss also 0,6 mA schalten (12V/20kΩ). Am Knotenpunkt für das Gate lande ich dann bei exakt 6V, was den P-Mosfet sicher schaltet, ohne die -8V Grenze zu reißen.

  4. Schaltet der Transistor sauber? Um die 0,6 mA am Kollektor zu schalten, bräuchte der Transistor bei 0,31 mA Basisstrom ja eine Verstärkung von nicht mal 2. Da der S8050 deutlich mehr hat, müsste er eigentlich voll in die Sättigung gehen und durchschalten.

Ich möchte mich auf jeden Fall nochmal riesig bei euch allen bedanken! Ihr hattet echt viel Geduld mit mir und ich habe bei meinem ersten Layout durch eure Ratschläge extrem viel gelernt (vor allem über MOSFET-Grenzen und Varistoren ;) ).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren