Forum: Mikrocontroller und Digitale Elektronik Bidirektionale Pegelwandlung für I2C 3V3<->5V


von Ralf (Gast)


Lesenswert?

Hi,

ich würde gerne für eine I2C Anwendung 3.3V von einem Raspberry Pi auf 
5V bidirektional wandeln, auf Transistorbasis.

BSS138 ist ein heißer Kandidat, der dazu verwendet oft verwendet wird.

Kennt ihr eventuell Alternativen zum BSS138, welche der heimische Conrad 
vielleicht vor Ort hat?

Maximale Geschwindigkeit auf dem Bus sind 1MHz.

Viele Grüße

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Ralf schrieb:
> Kennt ihr eventuell Alternativen zum BSS138, welche der heimische Conrad
> vielleicht vor Ort hat?

Erfahrungsgemäß hat "der heimische Conrad" mit viel Glück vielleicht ein 
paar 1N4148 oder 1N400x lagernd. Bei Halbleitern mit >= 3 Pins gleicht 
die Hoffnung auf örtlichen Lagerbestand der Hoffnung auf einen 
4er/5er/6er im Lotto.

: Bearbeitet durch User
von Ralf (Gast)


Lesenswert?

Also 1N4148 gibt's dort allemal :-)

Ich würd mich ja mit einem vergleichbaren N-Channel Mode Field Effect 
Transistor zufrieden geben.

Unabhängig davon, dass ich den BSS138 bestellen werde hätte ich hald 
gerne vorübergehend etwas vergleichbares, mit dem ich derweil arbeiten 
kann.

Viele Grüße

von Clemens L. (c_l)


Lesenswert?

Der BSS138 ist halt gängiger als seine Alternativen. Falls beim C 
irgendeine solche Alternative herumliegt, lässt sich nicht vorhersagen, 
welche.

Du brauchst einen Transistor, der bei 3,3 V gut durchschaltet, d.h., 
VGS(th) sollte nicht größer als ca. 1,5 V sein.

von Ralf (Gast)


Lesenswert?

Der läge beim C rum:
https://www.fairchildsemi.com/datasheets/BS/BS170.pdf

Wäre der für mein Problem adaptierbar?

von Einer K. (Gast)


Lesenswert?

Ralf schrieb:
> ich hald
> gerne vorübergehend etwas vergleichbares, mit dem ich derweil arbeiten
> kann.

In der Elektrobucht gibts reichlich Levelschifter für ca 3Euronen, mit 
je 4 solcher Transistoren.
Die reichen doch sicherlich als Übergangslösung.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Conrad kann auf der Webseite den Filialbestand doch anzeigen.
Also auf die Webseite gehen und mal nach den N Channel FETs sortieren.
Ansonsten kann man ja auch in die Filiale liefern lassen?

von Ralf (Gast)


Lesenswert?

Also der BS170 funktioniert wunderbar!

Kann ich - zumindest bis 1MHz getestet - als perfekten I2C Wandler 
empfehlen. Kommt dankbarerweise auch im bedrahteten TO92 und nicht im 
SOT23 Gehäuse

von Jim M. (turboj)


Lesenswert?

Ralf schrieb:
> Also der BS170 funktioniert wunderbar!

V_GS(th) Maximum: 3 Volt, damit eher ungeeignet - 1mA ist für typische 
I²C Pullups zu wenig.

Den müsste man vorher ausmessen - bei 2.1 (typisch) bis 0.8 V_GSth(min) 
würde das schon funktionieren. Man muss halt gleich 5 kaufen damit einer 
halbwegs sicher funktioniert - und hoffen das nicht die ganze Charge am 
oberen Rand des Datenblatts liegt.

von Kaj (Gast)


Lesenswert?

Wenn es was bedrahtetes sein darf: 2N7000

von Thomas T. (runout)


Angehängte Dateien:

Lesenswert?

Hallo Ralf,

der Watterott hat sowas fertig.
Habe das zwischen dem Raspi und einem Stepper-Controller verwendet.
War plug-and-play

Grüße Runout

von Willem B. (mr_willem)


Lesenswert?

Ich glaube der 2n7002 ist ziemlich vergleichbar und bei conrad 
verfügbar. Ich benutze den jetzt sogar lieber als meine BSS138 weil ich 
mir da mal viel von bei einer großen online Plattform besorgt habe.

Ne nicht transistorbasierte alternative wäre evtl. ein TXS0104. Der kann 
2 MBPs in open drain applikationen.

von Ralf (Gast)


Lesenswert?

Danke für die Tips.

@Jim: Mag sein, aber er lief ohne Fehler über Stunden auf 1MHz I2C.

@Thomas: Die Teile hab ich schon gesehen, die Pullups von 10K sind für 
1MHz aber falsch dimensioniert, die müsste man austauschen. Dann kann 
mans auch gleich direkt selber machen.

Fazit: Ich werd's mittelfristig gegen BSS138 austauschen, derweil 
erfüllt der BS170 seinen Zweck. Danke für die Tips!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

NXP stellt dafür den PCA9517 her. Warum man sich das dann mühsam diskret 
zusammenfrickeln muss, entzieht sich etwas meinem Verständnis.

http://www.nxp.com/documents/data_sheet/PCA9517.pdf

von Schlitzauge (Gast)


Lesenswert?

Ralf schrieb:
> ich würde gerne für eine I2C Anwendung 3.3V von einem Raspberry Pi auf
> 5V bidirektional wandeln, auf Transistorbasis.
Eine Suche im Internet findet jede Menge, auch mit bipolaren 
Transistoren.

Ich tue es mir nicht an, der TXS0108E ist fertige Arbeit. Vom Chinesen 
als fertiges Platinchen unter 70 cent: 
http://www.aliexpress.com/item/Free-shipping-3-3V-5V-TXS0108E-8-Channel-Logic-Level-Converter-Convert-TTL-Bi-directional-Mutual/32413364906.html

von Bastler (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> NXP stellt dafür den PCA9517 her. Warum man sich das dann mühsam diskret
> zusammenfrickeln muss, entzieht sich etwas meinem Verständnis.
>
> http://www.nxp.com/documents/data_sheet/PCA9517.pdf

Ist sicher die stabilste Variante. Der "Trick" mit dem Mosfet ist 
zumindest für 3.3 V Systeme voll funktionsfähig (Consumer)! Wird die 
Spannung noch kleiner, ist ein integrierter Pegelwandler natürlich 
sinnvoll.

Der IC ist natürlich teurer, aber dafür auch gleich ein Repeater, und 
vor allem unter allen Umständen (welche dann natürlich spezifiziert 
sind) funktionsfähig. Beim Mosfet ist Vth stark temperaturabhängig. 
Könnte bei Bastelprojekten welche nicht nur bei Raumtemperatur verwendet 
werden auf die Füße fallen.

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.