mikrocontroller.net

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


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Magnus M. (magnetus) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht 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
Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Clemens L. (c_l)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

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

Wäre der für mein Problem adaptierbar?

Autor: Arduino Fanboy D. (ufuf)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kaj (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es was bedrahtetes sein darf: 2N7000

Autor: Thomas T. (runout)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht 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

Autor: Willem B. (mr_willem)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Rufus Τ. F. (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schlitzauge (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.