I²C-Überspannungsschutz ausgefallen

Ich habe einen Pogo- Anschluss mit +8,4 V/GND/SDA/SCL. Ich möchte meinen Mikrocontroller vor Überspannung schützen (+8,4 V könnten möglicherweise SDA/SCL berühren). Ich habe diese Schaltung ausprobiert:

Geben Sie hier die Bildbeschreibung ein

Aber die Sache ist die: Am I²C-Pin liegen mit dieser Schaltung nur 2,4 V an, ohne 3,3 V. Die Schaltung funktioniert hervorragend, aber 2,4 V für einen hohen Pegel liegen außerhalb der Spezifikation des von mir verwendeten esp32-pico-d4 (mindestens 2,475 V). Wie kann ich das Design/die Komponenten ändern, um fast 3,3 V am GPIO-Pin (wenn er hoch ist) und eine präzise Spannungsklemmung zu haben?

Ich habe mir viele Fragen zum Überspannungsschutz auf Stack Exchange angesehen, aber keine Lösung für mein Problem gefunden.

Achten Sie auf die Schaltzeit (und Kapazität) der Diode. "Sollte nicht" für I2C zu wichtig sein (es ist relativ langsam), aber im Allgemeinen erwähnenswert.

Antworten (6)

Wie kann ich das Design/die Komponenten ändern, um fast 3,3 V am GPIO-Pin (wenn er hoch ist) und eine präzise Spannungsklemmung zu haben?

Zenerdioden sind nicht so perfekt, wie Sie vielleicht denken. Selbst unterhalb der Zenerspannung leiten sie noch etwas Strom und lassen aufgrund des Pull-up-Widerstands (4,7 kΩ) nicht die vollen 3,3 Volt an Ihrem I2C-Pin erscheinen. Sie könnten besser abschneiden, wenn Sie anstelle einer Zenerdiode eine Schottky-Diode vom I2C-Pin zu Ihrer lokalen 3,3-Volt-Schiene verwenden, dh über Ihren 4k7-Widerstand: -

Geben Sie hier die Bildbeschreibung ein

Dadurch wird die I2C-Spannung auf etwa 3,6 Volt oder vielleicht 3,7 Volt begrenzt, indem überschüssiger Strom, der durch den 330-Ω-Widerstand in die Stromschiene eingespeist wird, zurückgeführt wird. Dies hängt von der Fähigkeit der meisten Chips ab, einer etwas höheren Spannung an ihren IO-Pins als ihren Versorgungsschienen-Pins standzuhalten. Es ist gängige Praxis, funktioniert aber nur, wenn Ihr I2C-Schnittstellenchip diese "überschüssige" Fähigkeit hat.

Vielen Dank für Ihre Antwort. Ich werde diese Schaltung ausprobieren, sobald ich Schottky-Dioden erhalte. Ich vermutete, dass meine Zenerdiode etwas Strom ableitete, war mir aber nicht sicher. Ich habe überall gelesen, dass sie nicht ideal sind, aber ich wollte eine einfache Schaltung testen, um zu spüren, wie einfach Überspannungsschutz funktioniert und welche Grenzen er hat. Über die Fähigkeit meines Boards (Tinypico mit esp32), einer etwas höheren Spannung auf I2C standzuhalten, werde ich das überprüfen. Vielen Dank für das Diagramm!
@AyubowanPro, bitte nehmen Sie an der 2-minütigen Tour teil , um die Motivation hinter den Menschen zu verstehen, die kostenlose Hilfe leisten.
Das Anbringen einer Zenerdiode zwischen +3,3 V und GND würde zusätzlichen Schutz bieten. Andernfalls hängt dies von etwas anderem in der Schaltung ab, um den 15-mA-Klemmstrom zu senken.
@jpa Ich bin froh, dass Sie das erwähnt haben, und wenn das OP mehr Informationen über die Bedrohung und ihr internes Stromversorgungssystem gegeben hat, werde ich mich bemühen, diesen Punkt näher zu klären.
Ist es bei Ihrem Schaltungsdesign besser, den Schottky und den 4,7k-Widerstand an einen 3,3-V-LDO (ich habe einen auf der von mir entworfenen Leiterplatte) oder an den internen 3,3-V-Regler meiner Platine (Tinypico) anzuschließen?
@AyubowanPro, um zu antworten, dass ich etwas über die Bedrohung wissen muss (die von Ihnen erwähnten +8,4 Volt) und wie lange sie möglicherweise vorhanden ist, dh ob es sich um ein Überspannungsereignis handelt oder um etwas, das möglicherweise vier Sekunden, Minuten oder Stunden vorhanden sein wird. Dann muss ich wissen, wie viel Kapazität Sie auf der 3,3-Volt-Schiene gegen Masse haben und welche Art von Reglern Sie optional in Betracht ziehen. Außerdem frage ich mich, warum Sie ausschließlich einen LDO-Regler dafür verwenden würden - es klingt nicht nach einer machbaren Idee.
Auf dem Stecker kann der +8,4-V-Pin für Sekunden (<5 s) mit dem SDA/SCL-Pin in Kontakt kommen. Es ist kein transienter Strom/ESD. Leider habe ich derzeit kein Tool, um die Kapazität zu messen. Entschuldigung, ich bin verwirrt, weil ich versuche, SDA/SCL-Leitungen auf zwei verschiedenen Schaltkreisen zu schützen. Also, an dem einen, an dem ich gerade arbeite, ist es kein LDO, sondern ein komplettes Modul (Step-Down) von Pololu (D24V10F3).
Alle Informationen werden benötigt.

Zenerdioden unter etwa 5 V sind wirklich schrecklich und lassen einen erheblichen Strom unterhalb ihrer Zenerspannung durch.

Dieses Diagramm für eine typische kleine Zenerdiode ( BZX84 ) zeigt, wie weich die "Knie" -Spannung für die Niederspannungs-Zenerdioden im Vergleich zu höheren Spannungen ist. Das 6,8-V-Gerät hat ein ziemlich scharfes Einschalten, während die 3,3-V-Version kaum ein Knie hat.

(Beachten Sie, dass das Diagramm eine logarithmische Skala für die y-Achse verwendet, die die Niedrigstromeigenschaften erweitert).

Die 3,3-V-Diode in diesem Diagramm durchläuft etwa 100 uA bei 2,4 V

Zenerdioden über etwa 6 V arbeiten durch einen anderen Mechanismus, der als Lawineneffekt bezeichnet wird, und zeigen einen viel näher an einem idealen Betrieb. Ich persönlich verwende niemals Zenerdioden unter diesen 5-6 V.

Eine weitere unerwünschte Eigenschaft von Niederspannungs-Zenerdioden ist ihre sehr hohe Kapazität – das BZX84 3,3-V-Gerät hat eine Kapazität von 450 pF. Dieser hohe Pegel kann Schaltkreise wie den I2C-Schutz stark beeinträchtigen. Andere Ansätze, die eine Schottky-Diode für eine Versorgung verwenden, haben eine viel geringere Kapazität.

Geben Sie hier die Bildbeschreibung ein BZX84 Datenblatt

Vielen Dank für die Grafik. Ich wusste nicht, dass Zenerdioden mit niedriger Nennspannung zu viel Strom in die unerwünschte Richtung durchlassen. Sehr interessant ! Ich werde Ihren Rat verwenden, Zener nicht unter 5 V zu verwenden. Außerdem weiß ich, warum ich sehe, dass viele Leute sie bei 5 V und mehr verwenden und nicht so sehr bei 3,3 V, lol

Sie haben eine 3,3-V-Versorgung und eine 3,3-V-Zenerdiode mit einem Widerstand dazwischen.

Damit wäre die Spannung am Widerstand 0 V und es kann kein Strom fließen. Es kann also nicht so funktionieren, wie Sie es beabsichtigt haben, da die Teile nicht so funktionieren, wie Sie es sich vorstellen.

Es gibt ein Missverständnis von Zenerdioden als „magische Spannungsabfälle“. Tatsächlich sind sie ein lineares Teil mit einer Reihe von Eigenschaften, die in ihrem Datenblatt angegeben sind. Das tatsächliche Verhalten des Zeners muss ausgelegt werden, nicht der imaginäre Spannungsabfall.

Du brauchst also eine komplett andere Schaltung.

Du hast Recht. Ich bemühe mich, die Schaltung in meinem Kopf zu simulieren. Es ist schwierig für mich zu wissen, wie hoch die Spannung an jedem Draht ist und wo der Strom fließt. Ich war mir der nicht idealen Eigenschaften von Zenerdioden bewusst, aber ich habe immer noch Schwierigkeiten, sie in der Realität anzuwenden.

Wie wäre es mit einem bidirektionalen Level-Shifter mit gleichen Pegeln?

Dieses Setup wird für verschiedene Spannungen auf einem i2c-Bus verwendet, aber ich denke , es sollte auch für 3v3 bis 3v3 funktionieren (aber ich habe das nicht getestet). Der Mosfet sollte in der Lage sein, 8v4 auf der Steckerseite zu widerstehen und ansonsten dem Signal zu folgen.

https://assets.nexperia.com/documents/application-note/AN10441.pdf

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Sehr interessante Schaltung hier. Danke ! Wenn andere Mitglieder sagen, dass es funktioniert, werde ich es versuchen.

Hier ist ein (schrecklicher) Ansatz:

Geben Sie hier die Bildbeschreibung ein

Es ist im Wesentlichen eine ideale Diode, die vom Ausgang mit 3,3 V verbunden ist, und ein Eingangswiderstand, damit kein "unendlicher" Strom sinkt.

Hauptprobleme bei diesem Ansatz:

  1. Es erfordert ein angepasstes Paar von Transistoren für den Stromspiegel. (Sie können Doppelpakete mit 2 angepassten Transistoren erhalten.)
  2. Es erfordert ein paar Komponenten.
  3. Obwohl dies bei niedrigen Frequenzen funktioniert, ist das Einschwingverhalten schrecklich. Sie können dies abmildern, indem Sie parallel zum FET eine (Schottky-) Diodenklemme hinzufügen. Dadurch werden jedoch keine Transienten entfernt , sondern nur ihre Länge verringert.
  4. Da der FET einen endlichen Widerstand hat, steigt der Ausgang bei hohen Spannungen nur langsam an. Sie können dies abmildern, indem Sie den Widerstand erhöhen, aber:
  5. Ihre Ausgangsimpedanz ist schrecklich (in diesem Beispiel 3,3 k). Dies wird hauptsächlich bei höheren Frequenzen ein Problem. Sie können dies abmildern, indem Sie den Widerstand verringern, aber siehe 3 und 5.
  6. Bei hohen Spannungen fangen Sie an, eine beträchtliche Menge an Leistung über den Widerstand abzuleiten. Sie können dies abmildern, indem Sie den Widerstand erhöhen, aber siehe 4.
  7. Sie haben eine ziemliche Belastung am Ausgang, was die Signale weiter verlangsamt / verzerrt.

(Sie können natürlich im Wesentlichen genau dasselbe mit einem Operationsverstärker machen, obwohl Sie auf die Bandbreite achten müssen.)

(Sie können auch etwas Ähnliches mit einer idealen Diode machen, obwohl Sie auch hier auf die Bandbreite achten müssen.)

...das alles gesagt, verwenden Sie einfach einen Isolator. Es ist einfacher. (Es sei denn, Sie tun dies in großen Mengen, in diesem Fall ist es nicht die billigste Option.)

Vielen Dank für Ihren Entwurf. Ich werde versuchen, es mit seinen Einschränkungen zu verstehen.

2,4 V für einen High-Pegel sind meiner Meinung nach viel zu wenig

Warum zählt hier deine Meinung? Die einzige "Meinung", die zählt, ist das Datenblatt für das Gerät, mit dem Sie eine Verbindung herstellen. Nichts anderes ist wichtig.

Als schnelle Referenz habe ich das Datenblatt für den TI OMAP-L138-Mikrocontroller geholt, mit dem ich gerade arbeite. Bei einer 3,3-V-Versorgung beträgt das logische High an den Eingängen mindestens 2,0 V und das logische Low maximal 0,8 V. Ihr Eingang mit 2,4 V für logisch hoch wäre absolut zuverlässig.

Allerdings liefert Ihre Schaltung möglicherweise nicht zuverlässig 2,4 V, da Zener keine brillant lineare Komponente sind. Sie müssten sich ihre Kurven mit Toleranzen und über verschiedene Temperaturen hinweg ansehen, um sicher zu sein, ob 2,4 V der beste oder der schlechteste Fall sind.

Ich würde auch hinzufügen, dass Ihre Schutzschaltung auch den Eingang abdecken sollte, der unter 0 V geht. Sie denken vielleicht, dass dies nicht passieren kann, aber wenn Sie sich in einer industriellen Umgebung befinden, ist dies keine sichere Annahme.

Die Meinungen und Erfahrungen der Menschen spielen bei den meisten Entscheidungen eine wesentliche Rolle, ob absichtlich oder nicht. Das ist natürlich. Alle Ihre vier Absätze zitieren Ihre Meinung oder Interpretation.
Im esp32-pico-d4 sind die High-Level-Anforderungen: VDD + 0,3 V max und 0,75 * VDD min. In meinem Fall ist VDD gleich 3,3 V. Der hohe Pegel muss also mindestens 2,475 V betragen, sodass 2,4 V außerhalb der Spezifikation liegen.
@ TonyM Keine Ihrer Aussagen ist korrekt, fürchte ich. Die für hohe/niedrige Logikpegeleingänge erforderlichen Spannungspegel unterliegen keiner Meinung oder Interpretation. Ich gab ein Beispiel, zu dem ich Zugang hatte; Wie gesagt, das OP muss das Datenblatt für sein Gerät überprüfen. Die Erfahrung kann helfen, zusätzliche Toleranzen hinzuzufügen, die möglicherweise nicht auf dem Datenblatt erscheinen (z. B. EMV), aber dies ist auch keine "Meinung".
@AyubowanPro Fair genug. Sie könnten Ihre Frage verbessern, indem Sie sagen, was Ihre tatsächlichen Schwellenwerte sind, da dies eine Spezifikation ist, keine "Meinung". :)
Entschuldigung, passt nicht zu den Wörtern. (pg1) reine Meinung (pg2) verwendete TI OMAP-L138, weil ich dachte, es würde passen, aber nicht (pg3) "Schaltung gibt möglicherweise nicht" (pg4) spekulative Meinung. Leider lesen sich Ihre Kommentare so, als würden Sie nicht nachgeben, aber der erste (pg1) bereitet den Rest auf einen Sturz vor. Ohne das und das Erraten von (pg2) hätten Sie eine vernünftige Antwort. Wie auch immer, nichts passiert, ich überlasse es dir.