Hallo Zusammen, ich bin im Moment beim Entwurf meiner Schaltung, wo unter anderem I²C benutzt wird. Die Schaltung bekommt 4 Pins für den Eingang: - +24V Power Supply - GND - I²C CLK - I²C Data Die I²C Pins sollen je nach Einsatz ggf. auch noch für analoge Eingangssignale missbraucht werden, so dass diese parallel auch noch auf einen A/D-Wandler geschaltet werden. Ich möchte die Schaltung jetzt so weit wie Möglich vor Überspannung und Verpolung schützen. Für Power Supply soll dafür eine einfache Diodenschaltung herhalten. Nur die I²C Schnittstelle bereitet mir hier noch Kopfzerbrechen: - Zum einen werden mehrere Schaltungen vernetzt, auf jeder Schaltung soll die Schutzbeschaltung kommen. - Meines Wissens würde eine einfache Zenerdiodenschaltung nicht funktionieren, da mit Pull-Up-Widerstand vom I²C-Bus und Vorwiderstand der Zenerdiode ein Spannungsteiler entsteht, so dass ich entweder die von der Norm gesetzten Pegel für den I²C Standard nicht erreiche, oder aber die Leistung für den Vorwiderstand zu groß wird. Hat daher einer eine Idee, wie ich hier eine vernünftige Schutzbeschlatung aufbauen kann? Liebe Grüße Christian Nachtrag: Die I²C-Pins sollen auch bis 24V vertragen können (der MCU verträgt aber nur max 5,3V)
Christian K. schrieb: > - Meines Wissens würde eine einfache Zenerdiodenschaltung nicht > funktionieren, da mit Pull-Up-Widerstand vom I²C-Bus und Vorwiderstand > der Zenerdiode ein Spannungsteiler entsteht, so dass ich entweder die > von der Norm gesetzten Pegel für den I²C Standard nicht erreiche, oder > aber die Leistung für den Vorwiderstand zu groß wird. Die Z-Dioden dürften doch viel hochohmiger sein als die paar kOhm Pull-Ups. Ich kann da jetzt kein Problem erkennen.
Aus meiner Sicht ist das Problem, dass die Z-Diode einen gewissen Widerstand benötigt, um gewisse Ströme abbauen zu können und diese mir nicht abraucht. Und genau dieser Vorwiderstand ist das Problem. Ich hab mal einen Schaltplan angehängt, damit man das Problem vllt. sieht und den Spannungsteiler erkennt ... vllt. gibt es auch noch eine andere Variante mit der Zenerdiode. Liebe Grüße Christian
Es funktioniert so es nicht, da wenn IC1 die Leitung auf Low zieht aus Sicht von IC2 ein Spannunsteiler ergibt: Vcc --- 4,7kOhm (Pullup) ----- ----- 18kOhm (Wiederstand vor IC1) ---- Masse | | IC2 Damit währe bei 5V Betriebsspannung eine Spannung von 3.9 V gegen Masse zu messenm, was normal ein Hight für IC2 währe und damit die Information falsch übertragen wurde. Aber: > Nachtrag: Die I²C-Pins sollen auch bis 24V vertragen können (der MCU > verträgt aber nur max 5,3V) Soll er die 24V als I²C-Betribsspannung oder als Spannung für den ADC verkraften?
Das ist genau das Problem, warum ich hier keine Z-Diode einsetzen kann. Es geht mir eigentlich nur darum, dass die I²C-Schnittstelle überlebt wenn mir ein Depp da 24V Volt drauf gibt. Den A/D-Wandler kann man ja noch über Spannungsteiler absichern, der soll schließlich nur lesen und nicht den I²C-Bus bedienen.
>Es geht mir eigentlich nur darum, dass die I²C-Schnittstelle überlebt >wenn mir ein Depp da 24V Volt drauf gibt. Dann setz doch einfach ne Diode in Flussrichtung vom µC Pin gegen VCC-µC. >Das ist genau das Problem, warum ich hier keine Z-Diode einsetzen kann. Was Maximilian wohl meint ist das es schon so mit den 18k nicht funktioniert. Wo kommen eigentlich die 18k Ohm her? Warum nicht viel viel Niederohmiger? Dieser Widerstand müsste schon wesentlich kleiner als die Pull-Ups sein damit der I²C noch halbwegs funktioniert.
Jörg S. schrieb: >>Es geht mir eigentlich nur darum, dass die I²C-Schnittstelle überlebt >>wenn mir ein Depp da 24V Volt drauf gibt. > Dann setz doch einfach ne Diode in Flussrichtung vom µC Pin gegen > VCC-µC. > Auch eine Diode dürfte einen Vorwiderstand zur Strombegrenzung benötigen, sonst fallen hier auf einmal rund 19 Volt als Kurzschlussstrom ab und mir raucht die Diode ab ... Vorwiderstand bringt aber das gleiche Problem mit, wie die Z-Diode ... >>Das ist genau das Problem, warum ich hier keine Z-Diode einsetzen kann. > Was Maximilian wohl meint ist das es schon so mit den 18k nicht > funktioniert. > Wo kommen eigentlich die 18k Ohm her? Warum nicht viel viel > Niederohmiger? Dieser Widerstand müsste schon wesentlich kleiner als die > Pull-Ups sein damit der I²C noch halbwegs funktioniert. 18k Ohm ist die oben beschriebene Strombegrenzung. Wenn der Widerstand sehr viel kleiner sein müsste (ich meine, definiert ist Low bis 0,3V, d.h. bei 5V I²C müsste der Strombegrenzende Widerstand hier bei ca. 300 Ohm liegen) und hier dann 24V anliegen, muss der Widerstand mal eben rund 1,2 Watt (19V * 0,063A) verbraten ... für ein kleines SMD-Bauteil etwas viel ...
Christian K. schrieb: > Jörg S. schrieb: >>>Es geht mir eigentlich nur darum, dass die I²C-Schnittstelle überlebt >>>wenn mir ein Depp da 24V Volt drauf gibt. >> Dann setz doch einfach ne Diode in Flussrichtung vom µC Pin gegen >> VCC-µC. > Auch eine Diode dürfte einen Vorwiderstand zur Strombegrenzung > benötigen, ... Natürlich. > 18k Ohm ist die oben beschriebene Strombegrenzung. Wenn der Widerstand > sehr viel kleiner sein müsste (ich meine, definiert ist Low bis 0,3V, > d.h. bei 5V I²C müsste der Strombegrenzende Widerstand hier bei ca. 300 > Ohm liegen) und hier dann 24V anliegen, muss der Widerstand mal eben > rund 1,2 Watt (19V * 0,063A) verbraten ... für ein kleines SMD-Bauteil > etwas viel ... Zumindest würde ich es so Dimensionieren das der Widerstand bei 24V an seiner Leistungsgrenze ist. SMD 1206 = 0,25W -> @19V = 1,4k Ohm. Wäre schon mal um einige Faktoren kleiner. Ich vermute aber mal das man mit so ein paar passiv Teilen nicht wirklich was erreichen kann. Möglicherweise muss was aktives mit MOSFET, IC o.ä. her. Im Anhang mal ein Schnellschuss ohne Funktionsgarantie :)
I2C ist nicht für außerhalb des Gerätes gedacht, daher gibt es auch keine Schutz-ICs dafür. Für die Verbindung von Geräten nimm besser die UART über CAN-Transceiver, die halten +/-36V aus (PCA82C251). Zusätzlich funktionieren sie noch bei GND-Differenzspannungen bis zu +/-5V. Durch den dominanten Pegel ist auch keine Richtungsumschaltung wie bei RS-485 nötig. Also eine sehr robuste und einfache Lösung. Peter
Warum so kompliziert +5V------+-----------+------------- | | - - ^ Z ^ 1N4007 - - | | GND | | Eingang--- PR -------+-------- CPU | - ^ 1n4007 - | GND Z = Zdiode 5.6V / 1.3W PR = Polyfuse mit 100mA von z.B. Littelfuse Die Polyfuse ist normalerweise niederohmig. Wird jetzt eine erhoehte Spannung auf den Eingang gegeben fliesst ein Strom ueber eine der beiden 1N4007 . Dadurch erwaermt sich die Polyfuse und ihr Widerstand erhoeht sich. Dadurch wird der Strom auf ungefaehrliche Werte begrenzt. Die Z-Diode dient dazu ein Anstieg der 5V zu begrenzen. Gruss Helmi
Zwischen den zusätzlichen Schutz und den µC sollte noch ein Widerstand (ca. 1 K). Nur so kann der Schutz 2 Stufig wirken: Die externe Schaltung begrenzt die Überspannung auf etwa 0,7 V, der Widerstand mit den internen Schutzdioden von den 0,7 V auf verträgliche 0,3 V.
Helmut Lenzen schrieb: > Die Polyfuse ist normalerweise niederohmig. Wird jetzt eine erhoehte > Spannung auf den Eingang gegeben fliesst ein Strom ueber eine der beiden > 1N4007 . Bist du sicher, dass eine bekannt gemächliche 1N4007 Diode (30µs) leitet bevor der angeschlossene Chip die Grätsche gemacht hat? Ausserdem sollte man berücksichtigen, dass die Kapazität zweier solcher Dioden zusammen bei 30pF liegt, der üblichen Daumenregel zufolge 30cm Kabel entsprechend. Wenn ein paar solcher Nodes zusammen kommen kann das signifikant werden.
Ulrich schrieb: > Zwischen den zusätzlichen Schutz und den µC sollte noch ein Widerstand > (ca. 1 K). Beim bidirektionalen I2C Bus ist das keine wirklich gute Idee.
Gibt iwo ne Beschreibung, wie man I2C über Optokoppler führt. Vielleicht gibt das einen Denkanstoß. Mit passiver Schutzschaltung wird das nix, aber Du kannst die Treiber nach aussen verlagern und diskret mit Transistoren aufbauen. Dann kannst Du das entsprechend spannungsfest ausführen.
Sven schrieb: > Gibt iwo ne Beschreibung, wie man I2C über Optokoppler führt. Vielleicht > gibt das einen Denkanstoß. Ja, bei NXP gab es mal so ein App-Note. Ich glaube auch im ADuM1251 Datenblatt ist was drin.
Die 1N4007 ist beim Auschalten gemächlich, aber nicht bein Einschalten. Wie Schnell sich die Schaltung nach überspannung erhohlt sollte nebensächlich sein. Wegen des Spannungsabfalls kann tatsächlich eine Diode parallel zum Widerstand sinnvoll sein. Ganz ohne extra Trennung hefen aber die Extra Dioden nicht viel, denn die Spannung kann dann trotzdem zu hoch werden.
Hi Leute, der thread ist zwar nicht mehr aktuell aber vllt antwortet ja trotzdem einer. ich habe mir letztens durch falsches anstecken eines steckers den i2c eines relativ teuren moduls zerschossen. Da ich nun dabei bin eine kleine platine zu entwerfen möchte ich gleich eine passende schutzbeschaltung für den i2c vorsehen. (natürlich gibt es inzwischen auch einen verpolungssicheren stecker :)) ich habe nun eine idee und wollte mal fragen ob sie sich so realisieren lassen könnte (siehe bild). Die beiden dioden sind supressordioden, die ab 4,1V leitend werden. Mein (zugegeben unschöner) Plan ist nun, dass bei einer überspannung die diode leitend wird und der strom über die diode und den 33ohm widerstand abfließt. dieser soll nicht viel leistung vertragen und nach kurzer zeit abrauchen. alternativ könnte man auch die oben genannte polyfuse nutzen. zu dieser muss ich mich jedoch erstmal belesen da ich sie noch nie verwendet habe. was haltet ihr von der idee? spricht rein technisch (außer vllt der feuergefahr) etwas dagegen? gruß quant
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.