Forum: Platinen Selbsthaltung mit ESP32-S3 & SIT1043 schaltet nicht ab


von Daniel (daniel12)



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).

von Kai B. (kaib) Benutzerseite


Lesenswert?

Beachte das Mode Transition Diagram aus dem Datenblatt.

Von TJA1043 und co ist es so dass das Wake Falg erst zurückgesetzt wird 
wenn die Transistion sauber über den Goto Sleep Mode und dann Standby 
durchgeführt wird.

Sprich erst STB Aus dann ggf den goto sleep Timeout abwarten und 
anschließend den EN Aus

von Daniel (daniel12)


Angehängte Dateien:

Lesenswert?

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.

von Teo D. (teoderix)


Lesenswert?

Den Mosfet falsch herum eingebaut!?

von Daniel (daniel12)


Lesenswert?

Vielen Dank für die schnelle Rückmeldung, Teo. Ich habe das nochmal 
geprüft und bin mir zu 100 % sicher, dass die Einbaurichtung korrekt 
ist.

von H. H. (hhinz)


Lesenswert?

Du verwendest einen 8V-MOSFET, um 12V zu schalten!

von Daniel (daniel12)


Lesenswert?

Hey danke für die Antwort, als Mosfet nutze ich den SI2305 P-Channel 20V 
Mosfet. Dieser sollte eigentlich die 12V schalten können?

https://www.lcsc.com/product-detail/C5248046.html

: Bearbeitet durch User
von H. H. (hhinz)


Lesenswert?

Daniel schrieb:
> Hey danke für die Antwort, als Mosfet nutze ich den SI2305
> P-Channel 20V
> Mosfet. Dieser sollte eigentlich die 12V schalten können?
>
> https://www.lcsc.com/product-detail/C5248046.html

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

Andere Hersteller verkaufen unter der Bezeichnung deutlich verschiedene 
MOSFETs.

von Kai B. (kaib) Benutzerseite


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.

von Andras H. (andras_h)


Lesenswert?

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".

von Daniel (daniel12)


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!

von Alexander (alecxs)


Lesenswert?

Du hast die beiden INH direkt miteinander verbunden. Mach da mal was 
dazwischen.

von Loco M. (loco)


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.

von Daniel (daniel12)


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.

von Alexander (alecxs)


Lesenswert?

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

von H. H. (hhinz)


Lesenswert?

Daniel schrieb:
> Laut Datenblatt ist der INH-Pin für einen Ausgangsstrom von unter 1 mA
> spezifiziert.

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

von Daniel (daniel12)


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?

von Alexander (alecxs)


Lesenswert?

Mindestens 33k - 47k um unter 1mA zu bleiben. Besser wäre je eine Diode 
pro INH.

von H. H. (hhinz)


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.

von Daniel (daniel12)


Angehängte Dateien:

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?

von H. H. (hhinz)


Lesenswert?

Süß, ein 33kOhm Varistor...

von Daniel (daniel12)


Angehängte Dateien:

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?

: Bearbeitet durch User
von Alexander (alecxs)


Lesenswert?

Wir haben die Ströme jetzt nicht nachgerechnet musst Du wissen ob der 
Transistor sauber schaltet. Vom Gefühl her passt es.

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.