Hallo zusammen, für die Verwendung meines ESP8266 in Kombination mit diversen 5V-Bauteilen, darunter vor allem Verwendung über I2C (aber evtl. auch z.B. 5V-Relais schalten), benötige ich einen Level Shifter. Dazu konnte ich hier allerhand bereits finden, sogar auch konkrete Empfehlungen für die MOSFETs der Schaltung. Nur leider gibt es die konkret genannten (z.B. BSS88 und 83) nicht praktikabel zu kaufen (oder z.B. BSS83 wird mir nur als p-channel angeboten). An anderer Stelle wurde pauschal die Gruppe 74HCxxx genannt, und dennoch stehe ich im Online-Shop auf dem Schlauch, obwohl ich eigentlich alle relevanten Daten haben müsste. Deshalb trage ich erst nochmal kurz die empfohlene Schaltung und gefundene Infos zusammen: Diese Schaltung: https://www.mikrocontroller.net/attachment/246465/I2C-Level-Shifter_NXP_AN10441.png Auch hier ausführlicher : AppNote97055 https://cdn-shop.adafruit.com/datasheets/an97055.pdf dort steht: Type :N-channel enhancement mode MOS-FET. Gate threshold voltage : VGS(th)min. 0.1Vmax. 2V On resistance :RDS(on) max. 100 Ohm @ ID= 3mA, VGS= 2.5V Input capacitance :Cissmax. 100 pF @ VDS= 1V, VGS = 0V Switching times :ton toffmax. 50 ns. Allowed drain current :ID 10 mA or higher. und als Beispiele: TYPE VGS(th) RDS(on) Ciss Package BSN10 min. 0.4V max. 1.8V 25 Ohm 15 pFTO-92 BSN20 min. 0.4V max. 1.8V 25 Ohm 15 pFSOT23 BSS83 min. 0.1V max. 2.0V 70 Ohm 1.5 pF) SOT143 BSS88 min. 0.4V max. 1.2V 15 Ohm 50 pF TO-92 Wenn ich aber diese Werte (also VGS(th), RDS(on), ID, ...) in der Suchmaske eines Onlineshops eingebe, bekomme ich reichlich angezeigt, weiß aber trotzdem nicht, worauf ich achten muss. Manche sind z.B. bis 40 V ausgelegt, andere viel höher oder niedriger. Natürlich muss die Bauform geeignet zum Verlöten in Lochplatine sein. Und eigentlich hoffe ich ja, dass das Stück 10 Ct kostet und nicht 3 Euro. Beispiel für so eine Suchmaske im Onlineshop: https://www.mouser.de/Semiconductors/Discrete-Semiconductors/Transistors/MOSFET/_/N-ax1sf?P=1z0z63xZ1z0y3zr&Rl=ax1sfZgjdhp2Z1y9673jZ1yw78fxSGT (In dem Link ist bereits ein Suchfilter angewendet. Ggf. muss an "Alle zurücksetzen" anklicken, um den Filter aufzuheben.) Wer kann mir hier kurz helfen, oder sind die wirklich so teuer? Schöne Grüße
Zum Schalten von Relais kannst den einzelne Transistoren (z.B. BC337-40) oder den ULN2803 verwenden. Die kommen mit 3,3V gut aus. Bausteine die mit 5V versorgt werden funktionieren in der Regel tadellos an einem I²C Bus, der 3,3V hat. Wenn du unbedingt so einen MOSFET Levelshifter bauen willst, kannst du dafür jeden Kleinleistungs Transistor nehmen, der eine gate-Threshold Voltage von deutlich weniger als 3V hat. Auf die weiteren Feinheiten der technischen Daten kommt es nicht an. Aber diese Methode ist auch nicht ohne Probleme. Zum Beispiel verschlechtert sie den Low-Pegel von annähernd 0 Volt auf ca. 0,7 Volt. Ich würde mir das nur antun, wenn es unbedingt sein muss. Verwende lieber einen PCA9306, den liefert saubere Signalpegel. Du bekommst ihn bei Reichelt und Conrad.
BeakerBunsenbrenner schrieb: > Beispiel für so eine Suchmaske im Onlineshop: > https://www.mouser.de/Semiconductors/Discrete-Semiconductors/Transistors/MOSFET/_/N-ax1sf?P=1z0z63xZ1z0y3zr&Rl=ax1sfZgjdhp2Z1y9673jZ1yw78fxSGT Für I2C oder ein kleines Relais brauchst du sicher keinen 200A-Boliden und wenn der FET über DS bis 4V verträgt, sollte das auch ausreichen. Bei anderen Händlern siehst du auch oft den Lagerbestand (z.B. Digikey), was einen Hinweis auf die Beliebtheit gibt.
Hallo Stefanus F. und danke für die Antwort, diese PCA9306 oder ähnliches habe ich ja durchaus in Betracht gezogen, aber die Schaltung im Link ist ja an und für sich identisch, oder nicht? (Natürlich ist das gekaufte Teil nicht einfach zusammengebraten, sondern vernünftig gefertigt, davon abgesehen). Kosten ja aber jedesmal 3-6 Euro (je nach Versand, zehnerpack bei solchen Preisen ist nicht so meines nur auf Verdacht). Wenn es selbstgebraten günstiger ist, vom Platz her wohl ohnehin, wenn ich eh eine Platine zusammenbrate, wäre das schon schön. Aktuell brauche ich I2C eigentlich nur für Displays. Da müsste ja unidirektional reichen. Vorerst könnte ich also wirklich verzichten, wenn ich Dich richtig verstehe.
Hallo auch Wolfgang und Danke! Also könnte ich z.B. (relativ spontan gegriffen) den hier https://www.mouser.de/ProductDetail/Microchip-Technology/2N7000-G?qs=sGAEpiMZZMshyDBzk1%2fWiygxfhfETTT5uuxcYWuVdmw%3d nehmen?
BeakerBunsenbrenner schrieb: > diese PCA9306 oder ähnliches habe ich ja durchaus in Betracht gezogen, > aber die Schaltung im Link ist ja an und für sich identisch, oder nicht? Nein ist sie nicht. In dem IC befindet sich eine kluge Logikschaltung, die saubere Signalpegel und höhere Frequenzen ermöglicht. Ich habe so einen Pegelwandler schon einmal verwenden wollen, und zwar an einem Lego Mindstorms NXT Computer (da steckt ein ARM Controller mit 3,3V drin). Das ist wegen der unsauberen Low Pegel voll in die Hose gegangen.
Ok. Da habe ich mich dann wohl vorher zu oberflächlich informiert und zu grob draufgeschaut. Aber wie gesagt, fürs Display und Relais sind die Levelshifter auch nicht zwingend, sondern wohl eher bei Kommunikation z.B.?
BeakerBunsenbrenner schrieb: > Ok. Da habe ich mich dann wohl vorher zu oberflächlich informiert > und zu > grob draufgeschaut. Aber wie gesagt, fürs Display und Relais sind die > Levelshifter auch nicht zwingend, sondern wohl eher bei Kommunikation > z.B.? Schau ins Datenblatt der I²C Chips, dort steht klar drin, welchen pegel die als "High" erfordern. Und behalt e im Hinterkopf, dass die meisten mit 3,3V versorgten IC's problemlos ein paar hundert mV mehr vertragen. Dass heisst, du könntest die Pull-Up Widerstände des I²C Bus auf 3,7V hängen.
Warum nicht fertige Module nehmen bzw. die MOSFETs davon? z.B. https://www.ebay.com/itm/311523844016
BeakerBunsenbrenner schrieb: > https://www.mouser.de/ProductDetail/Microchip-Technology/2N7000-G?qs=sGAEpiMZZMshyDBzk1%2fWiygxfhfETTT5uuxcYWuVdmw%3d Im ungünstigsten Fall macht der bereits bei 3.0V V_GS ganz dicht. Da wird es mit 3.3V Ansteuerung arg knapp. Der BSS138 kostet bei R. gerade mal 4ct. Ob der auch für deine Relais reicht müsstest du mal prüfen.
@Wolfgang: In irgendeinem Thread hat den meine ich auch jemand für diesen Zweck empfohlen. Hatte ich bisher aber auch nicht gefunden. Den nehme ich dann mal. Ist so schön günstig ;)) @ _Gast: Die Module wurden ja schon angesprochen. Allerdings ist der von Dir verlinkte Artikel auch fast wirklich ausgesprochen preiswert. Bisher fand ich die nur erheblich teurer. @Stefanus: Das wird dann erstmal so gemacht. Aber das hier nochmal zusammen zu tragen wird sicher nicht für andere Leute wie mich geschadet haben. Ich denke aber, ich bestelle und bastel mir das trotzdem mal und schau mal, wie gut das funktioniert. Damit habe ich ja jetzt eigentlich alle Infos. ALSO DANKE AN ALLE! und schöne Grüße!
BeakerBunsenbrenner schrieb: > Aktuell brauche ich I2C eigentlich nur für Displays. Da müsste ja > unidirektional reichen. Nein, I2C braucht prinzipbedingt bidirektionale Treiber. PCA9517 ist ein brauchbarer Kandidat dafür.
Hallo, als Levelshifter kann ich den TXB010x empfehlen. Simple Beschaltung und robust. Mit open-train wäre TXS010x. Falls du mit 3,3V Mosfets ansteuern möchtest, schau dich hier um. Die sind alle für 2,5V spezifiziert, damit besser als benötigt. https://www.vishay.com/mosfets/25-rated-on-res/ Beitrag "Re: Logic Level Mosfet und 7A Strom bei sehr geringem R_ds ?"
Veit D. schrieb: > als Levelshifter kann ich den TXB010x empfehlen. > Simple Beschaltung und robust. Sooh viel Aufwand sind zwei FETs, wie von NXP/Philips in der AN10441 (Level shifting techniques in I2C-bus design) nun auch nicht. http://www.nxp.com/documents/application_note/AN10441.pdf
Veit D. schrieb: > Mit open-train wäre TXS010x. Mit öffentlicher Eisenbahn :-) In Bastelprojekten setze ich den TXS0108E ein, den gibt es auf Platinchen billig beim Chinesen. Ebenfalls vom Chinamann hatte ich ein paar FET-Boards, die Transistoren haben als Marking "J1". Ein Datenblatt von Taitron hat dieses Marking für den BS138. Bei Siemens und Fairchild heißt der BS138 "SS", Diodes nennt ihn "K38". Schaue ich in die Applikationsschrift AN97055 von Philips, stehen dort Eckdaten der FETs, die der BSS138 erfüllen dürfte. Wolfgang schrieb: > wie von NXP/Philips in der AN10441 Ist das eine verpfuschte Neuauflage der AN97055?
Manfred schrieb: > Wolfgang schrieb: >> wie von NXP/Philips in der AN10441 > > Ist das eine verpfuschte Neuauflage der AN97055? Ja, äh, nein, nur ans twitter-Zeitalter angepasst. Der moderne User fühlt sich von zuviel Information leicht überfordert :(
Bauform B. schrieb: >> Ist das eine verpfuschte Neuauflage der AN97055? > Ja, äh, nein, nur ans twitter-Zeitalter angepasst. Diese Formulierung gefällt mir, werde ich mir merken :-)
Wolfgang schrieb: > Sooh viel Aufwand sind zwei FETs ... nun auch nicht. Darum geht es nicht. Es geht um die doppelte Belastung der Treibenden Seite* und schlechte Low Pegel. *) Was bei 2x10kΩ noch nicht auffällt, aber die sind ohnehin zu hoch gewählt. Normalerweise würde man mit maximal 4,7kΩ auf der 5V Seite und maximal 3,3kΩ auf der 3,3V Seite arbeiten. Diese zwei-Transistor Schaltung ist ein mieser Kompromiss für Pfennigfuchser. Dazu kommt noch, dass man in den allermeistens Fällen gar keine Levelshifter braucht, sondern den Bus mit 3,3V (oder notfalls 3,7V) betreiben kann.
Stefanus F. schrieb: > MOSFET Levelshifter ... > verschlechtert den Low-Pegel von annähernd 0 Volt auf ca. 0,7 Volt. Wie kommst du darauf? Hast du das gemessen? Wenn am Drain 0 V ist, dann erzeugt die Body-Diode erst mal 0,7 V am Source, wodurch der MOSFET anschaltet, und am Source dann auch ungefähr 0 V ist. > Verwende lieber einen PCA9306, den liefert saubere Signalpegel. Der PCA9306 benutzt auch nur MOSFETs. Details siehe http://www.ti.com/lit/pdf/slva675.
Clemens L. schrieb: > Wie kommst du darauf? Hast du das gemessen? Kleiner Hinweis: Der von Dir gerade gezeigte Schaltplan entspricht nicht dem Levelshifter (mit nur einem Transistor pro Signal), den wir hier diskutieren. Ich habe weiter oben beschrieben, dass ich in Kombination mit Lego Mindstorms NXT auf ein akutes Problem gestossen bin. Und ja, ich habe mir die Signale auf dem Oszilloskop angeschaut. Der NXT kommuniziert übrigens mit extra lahmen 9600 Hz an SCL.
Stefanus F. schrieb: > Diese zwei-Transistor Schaltung ist ein mieser Kompromiss für > Pfennigfuchser. ... hängt davon ab, was man machen möchte. Bis 100 kHz hat es bisher gut funktioniert, darüber war es kritisch.
Stefanus F. schrieb: > Kleiner Hinweis: Der von Dir gerade gezeigte Schaltplan entspricht nicht > dem Levelshifter (mit nur einem Transistor pro Signal), den wir hier > diskutieren. Es ist der Schaltplan des PCA9306. Der separate MOSFET für die Gate-Spannung erlaubt es, beim Heruntershiften von B zu A den Pullup an A wegzulassen, ändert aber nichts an der grundsätzlichen Funktionsweise. Wie oben beschrieben, gibt es keinen Grund, warum ein 1-MOSFET-Shifter 0,7 V ausgeben sollte. > Ich habe weiter oben beschrieben, dass ich in Kombination mit Lego > Mindstorms NXT auf ein akutes Problem gestossen bin. Wenn der 1-MOSFET-Shifter dieses Problem hätte, dann hätte es der PCA9306 auch. Ich kann nur vermuten, dass dein Shifter versucht hat, einen 2N7000 mit 3,3 V zu schalten, oder einen anderen Fehler hatte.
Clemens L. schrieb: > Ich kann nur vermuten, dass dein Shifter versucht hat, einen 2N7000 mit > 3,3 V zu schalten, oder einen anderen Fehler hatte. Es war dieses Produkt: https://www.elv.de/3-achsen-beschleunigungssensor-3d-bs-komplettbausatz.html?refid=SEM_30003?Gads_Shopping&gclid=EAIaIQobChMI05GX2M7C4AIVB853Ch1xyQLLEAQYASABEgLAd_D_BwE Leider fehlt dort die Angabe, welche Transistoren ELV verwendet hat. Die Pull-Ups musste ich auch erhöhen, weil der Lego Computer recht hohe Serien-Widerstände in den beiden Leitungen hat. Vielleicht spielten die bei meinem Problem mit dem LOW Pegel auch eine Rolle, da bin ich nicht sicher.
Stefanus F. schrieb: > Leider fehlt dort die Angabe, welche Transistoren ELV verwendet hat. Du könntest in den Schaltplan gucken. Da steht etwas von IRLML2402 https://www.mikrocontroller.net/attachment/306648/3D-BS_KM_G_100316.pdf
Stefanus F. schrieb: > Die Pull-Ups musste ich auch erhöhen, weil der Lego Computer recht hohe > Serien-Widerstände in den beiden Leitungen hat. Damit baut man einen Spannungsteiler. (0,7 V erhält man mit ca. 1 kΩ.)
Hallo nochmal zusammen, wollte zwar gestern eigentlich schon bestellen, hatte es aber wegen Wochenende nicht eilig und auf jetzt gleich verschoben - weshalb ich gerade hier nachschaue. Und hier hat sich ja noch richtig was getan! Alle Achtung! Dann baue ich mir jetzt so einen Phillips-Level-Shifter mal aus Prinzip und berichte hier, wie gut oder schlecht es für mich als interessierten Laien und Anfänger geklappt hat. Ich suche mir jetzt aus den gesammelten Infos die für mich plausibelste Variante raus und bestelle gleich mal (allerdings nicht in China, dauert mir zu lange). Gut finde ich auch, dass hier die verschiedene aka-Namen für den BSS138 genannt wurden. Um das herauszufinden, hätte ich mindestens tagelang suchen und zusammenreimen müssen, selbst wenn es irgendwo ein Standardwerk gibt, das ich nicht kenne, wo alle Aliase drinstehen. Nochmals vielen Dank für so viele gute Rückmeldungen!!!
Witzig, oder auch nicht. Auf jedenfall verrückt. Jetzt suchte ich den BSS138 als THT-Version zu kaufen, fand ja nur SMDs und finde plötzlich unter dem Suchbegriff "BSS138 DIP" quasi "eine alte englische Version dieses Threads". Google hat mir vorher nichts in der Richtung geliefert. Schaut mal hier, ich hänge das mal an: https://forum.arduino.cc/index.php?topic=124826.0 Ist ja fast schon ein Deja-Vu ;) Da es den BSS138 und seine Klone nur als SMD gibt, auch die anderen netterweise verlinkten alle SMDs sind, würde ich jetzt zu 2N7000 tendieren, wobei Clemens L. hier ja darauf hinwies, dass in Kombination mit dem Probleme sein könnten?! Ich bestelle mir genau jetzt trotzdem ein paar und bei der Gelegenheit auch ein paar Transistoren, wie Stefanus meinte für Relais etc.
BeakerBunsenbrenner schrieb: > ... würde ich jetzt zu 2N7000 tendieren, wobei Clemens L. hier ja darauf > hinwies, dass in Kombination mit dem Probleme sein könnten?! Bei weniger als 5 V am Gate gibt es keine Garantie mehr, dass er voll durchschaltet. In der Praxis wird es für kleine Ströme aber meist funktionieren. TO-92-MOSFETs mit kleiner Gatespannung gibt es, z.B. ZVNL120A, TN0702.
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.