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).
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
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.
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.
Du verwendest einen 8V-MOSFET, um 12V zu schalten!
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
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.
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.
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".
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!
Du hast die beiden INH direkt miteinander verbunden. Mach da mal was dazwischen.
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.
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.
Die Querströme/Rückspeisung unter den INH Pins sind nicht begrenzt.
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.
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?
Mindestens 33k - 47k um unter 1mA zu bleiben. Besser wäre je eine Diode pro INH.
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.
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?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.





