Hallo ich habe hier verschieden Temp und auch Temp/Feuchte Sensoren wie DS18B20 und DHT Sensoren. Damit beide stabil laufen sollte man diese mit 5V betreiben. Da ich einen 3.3V ESP nutze den man auch auf der Datenleitung nur mit max 3.3V anfahren sollte, nutze dafür LevelShifter von 3.3V auf 5V. auf dem Schema von Texas Instruments sah ich das zumindest beim I2C Bus auf beiden Seiten ein Pullup empfohlen wird Ist das bei einem bi-direktionalen LevelShifter von 3.3V auf 5V auch so dass man auf der 3.3V Seite und auf der 5V Seite einen Pullup setzen sollte? edit: suche ich hier unter google so gibt mir die KI aus, dass man den PulLUp nur auf der 5V Seite benötigt. Stimmt das?
:
Bearbeitet durch User
Hallo Achim, ich würde einen IIC Levelshifter einsetzen z.B. TCA9517. Du brauchst auf beiden Seiten PullUp Widerstände. Auf der 5V Seite würde ich 4K7 nehmen und auf der 3V3 Seite 3K3. Einen Switch brauchst du meines Erachtens nicht, den brauchst du nur wenn du die Slave Adresse nicht ändern kannst. Gruß Andreas
Achim A. schrieb: > edit: suche ich hier unter google so gibt mir die KI aus, dass man den > PulLUp nur auf der 5V Seite benötigt. Stimmt das? Wie immer: Auf keinem Fall einer Dokumentation glauben schenken, die vom Hersteller kommt! Lieber einer Ahnungslosen Lügenmaschine trauen. Merke: Je größer die Lüge, desto glaubwürdiger sie ist.
Achim A. schrieb: > edit: suche ich hier unter google so gibt mir die KI aus, dass man den > PulLUp nur auf der 5V Seite benötigt. Stimmt das? Nö. Der Klassiker aus 2 MOSFETs, der auch in sehr ähnlicher Form in vielen integrierten Pegelwandlern stecket, braucht auf jeder Seite einen Pull-Up. Die integrierten haben sie teilweise schon eingebaut, Nomen est Omen!. Ergo. Zeig mal einen Schaltplan mit konkreten Beuteilen.
Die DS18B20 tun es ganz hervorragend auch mit 3,3V VCC. Das Texasdings ist ein Multiplexer und da es da auch die Möglichkeit gibt das keiner der Busse genutzt wird brauchts da an beiden Enden Pullups. Die normalen Levelshifter für I²C brauchen ebenfalls an beiden Seiten einen. Ob man SHT und DS18B mit einem I²C-Shifter betreiben kann weiß ich nicht nehme es aber an.
Achim A. schrieb: > Ist das bei einem bi-direktionalen LevelShifter von 3.3V auf 5V auch so > dass man auf der 3.3V Seite und auf der 5V Seite einen Pullup setzen > sollte? Das hat nichts mit "sollte" zu tun. Hast du dich schon einmal mit den Grundlagen vom I2C-Bus beschäftigt? Woher soll bei einem Bus-System mit rezessivem High-Pegel der High-Level kommen, wenn nicht durch einen Pull-Up (oder eine Stromquelle)? p.s. Was hat das "1-wire" im Titel mit dem I2C-Bus zu tun?
Rainer W. schrieb: > Woher soll bei einem Bus-System mit rezessivem High-Pegel der High-Level > kommen Da dürfte die Vermutung eines nicht-ganz-so-tiefen-Technikers sein, das der Levelshifter evtl. "durchsichtig" ist? Rainer W. schrieb: > Was hat das "1-wire" im Titel mit dem I2C-Bus zu tun? Sowohl der DS18B20 als auch die DHT-Sensoren nutzen ein einstrippiges Protokoll, und der verwendete Levelshifter ist nicht I²C-Protokollspezifisch, wird aber oft so bezeichnet weil er halt 2 Kanäle hat.
Andreas G. schrieb: > ich würde einen IIC Levelshifter einsetzen z.B. TCA9517. Du brauchst auf > beiden Seiten PullUp Widerstände. Auf der 5V Seite würde ich 4K7 nehmen > und auf der 3V3 Seite 3K3. Hallo, ich setze hier einen TXS0108 bi-dierktionalen LevelShifter ein, da ich ein paar Ports noch mehr haben wollte als die üblichen 4-Kanal Ok dann habe ich das so verstanden das man sowohl die 3.3V Seite als auch die 5V Seite auf der Datenleitung mit Pullupos stabilisieren sollte. Vielen Dank für die Info
Andreas G. schrieb: > ich würde einen IIC Levelshifter einsetzen z.B. TCA9517. Du brauchst auf > beiden Seiten PullUp Widerstände. Auf der 5V Seite würde ich 4K7 nehmen > und auf der 3V3 Seite 3K3. Hallo, ich setze hier einen TXS0108 bi-dierktionalen LevelShifter ein, da ich ein paar Ports noch mehr haben wollte als die üblichen 4-Kanal Ok dann habe ich das so verstanden das man sowohl die 3.3V Seite als auch die 5V Seite auf der Datenleitung mit Pullupos stabilisieren sollte. Vielen Dank für die Info Falk B. schrieb: > 2 MOSFETs, der auch in sehr ähnlicher Form in > vielen integrierten Pegelwandlern stecket ich vermute mal der von mir genutze TXS0108 ist so ein Mosfet-levelShifter
Jens M. schrieb: > Sowohl der DS18B20 als auch die DHT-Sensoren nutzen ein einstrippiges > Protokoll, ... Richtig, wobei nur der DS18B20 1-Wire® (Analog Devices, Maxim Integrated, Dallas) verwendet. Der DHT22 nutzt ein eigenes Protokoll. Beide Sensoren können sowohl mit 3,3V als auch mit 5V arbeiten, so dass eine Pegel-Shifterei doch eher überflüssig erscheint. Oder was sind das für "DHT-Sensoren"?
Achim A. schrieb: > Hallo, > ich setze hier einen TXS0108 bi-dierktionalen LevelShifter ein, da ich > ein paar Ports noch mehr haben wollte als die üblichen 4-Kanal Der ist vollintegriert. > Ok dann habe ich das so verstanden das man sowohl die 3.3V Seite als > auch die 5V Seite auf der Datenleitung mit Pullupos stabilisieren > sollte. Nein, die hat der IC schon eingebaut, ca. 4k. >> 2 MOSFETs, der auch in sehr ähnlicher Form in >> vielen integrierten Pegelwandlern stecket > > ich vermute mal der von mir genutze TXS0108 ist so ein > Mosfet-levelShifter Noch viel mehr, da steck viel Know How drin.
Die Pull-up Widerstände gehören so sehr zum I2C Bus, wie die Gummibänder zum Expander.
Jens M. schrieb: > Die DS18B20 tun es ganz hervorragend auch mit 3,3V VCC. > > Das Texasdings ist ein Multiplexer und da es da auch die Möglichkeit > gibt das keiner der Busse genutzt wird brauchts da an beiden Enden > Pullups. > > Die normalen Levelshifter für I²C brauchen ebenfalls an beiden Seiten > einen. Na Ja... die DS18B20 funktionieren aber auch mit 5V und was ich so im Netz gelesen habe, sollen die damit auch stabiler laufen. zumindest wenn man mehr als einen an einem Bus hat und die Kabellänge etwas länger ist ich glaube auch das ich von dem von mir hier eingesetzten TXS0108 abrücken werde... Ich hatte eigentlich vom LevelShifter erwartet das ich auf der einen Seite mit 3.3V reingehe und auf der anderen mit 5V raußkomme (je nach angelegten Spannungen) so wie eben bei den 08/15 4 Kanal Bi-direktionalen LevelShiftern wenn ich dann aber lese das man bei dem TXS0108 erstmal noch einen OE Pin entweder mit GND oder VCC brücken muss und dann evtl noch mit Pulldown ... was weiss ich nicht für gefühlte 100 Varianten einsetzen kann, zusätzlich dann endlich mal die Sparkfun-Seite lese wo man gleich im Text die Empfehlung bekommt gleich auf den 4-Kanal 08/15 Shifter zu wechseln...wenn man sich nicht sicher ist, ob man auch min 2mA Signal bekommt dass dieses Teil überhaupt funktioniert ... dann spart so ein Billigteil womöglich unnötige Zeit und Ärger und es funzt ganz einfach Der Hinweis Pullups bei den I2C IO-Expandern beidseitig zu setzen ist wertvoll. Danke So setze ich nun auf den 4-kanal- billig bi-direktionalen 3.3V und 5V Seite Pullups und auf dem IO-Portexpander der via I2C läuft, auch auf beiden Seiten Pullups (bzw. nur noch auf einer Seite da die i2C-seite die ja von dem Levelshifter kommt, eh schon Pullups bekam. Anbei ein kleiner Schaltplan Ps. beim IO-Expander habe ich kein Fritzing-Bauteil gefunden was die I2C und VCC als auch GND Pins drauf hätte und im Datenblatt nachzusehen war ich zu bequem da ich ja eh einen auf einer Platinbe habe ... ich denke aber das es im schaltplan schon deutlich wird.
Achim A. schrieb: > Na Ja... die DS18B20 funktionieren aber auch mit 5V und was ich so im > Netz gelesen habe, sollen die damit auch stabiler laufen. Kann ich nicht bestätigen. Hab einen DS18B20(-Klon?) und einen SHT21(-Klon?) an einem batteriebetriebenen Funk-Sensor, und der sendet seit mehreren Jahren minutlich die Temperaturen und Luftfeuchte, ohne jedes Problem. Der Sensor meldet aktuell 2.60 Volt Betriebsspannung, vermutlich schaffen die Batterien noch ein paar Jahre länger. Die Temperatur-Messwerte der beiden Sensoren sind nie mehr als ein paar 0.1°C auseinander (aktuell 19,75 vs 19,81°C), insofern gehe ich davon aus dass die niedrige Spannung weder die Zuverlässigkeit noch die Genauigkeit beeinträchtigt. Wichtig: Wenn man so billige China-Breakout-Boards kauft, nach welchen ohne 3.3V-Spannungsregler suchen. Zum einen hat der einen (im Vergleich zum Sensor selber) großen Ruhestromverbrauch, zum anderen erwärmt er die Platine.
:
Bearbeitet durch User
Εrnst B. schrieb: > Wichtig: Wenn man so billige China-Breakout-Boards kauft, nach welchen > ohne 3.3V-Spannungsregler suchen. Zum einen hat der einen (im Vergleich > zum Sensor selber) großen Ruhestromverbrauch, zum anderen erwärmt er die > Platine. das ist eine wichtige Info Die Erwärmung der Platinen ist ja bei den Sensoren oft ein unterschätztes Thema musste ich auch schon feststellen. Habe aber gerade noch was zu den LevelShifter gelesen. Ich habe hier einen Adafruit https://www.adafruit.com/product/757 und einen wie den Sparkfun https://www.berrybase.de/sparkfun-logic-level-konverter-bidirektional?gad_source=1&gad_campaignid=22696911352&gbraid=0AAAAADSQJK7_d7kKXRZn0wvcAw83nCtZt&gclid=Cj0KCQjw6bfHBhDNARIsAIGsqLgNs4mHj4nc9vqGIU8dT53s4DMJC95SUts3qvLX0Cm_60QSmntCxdAaApWBEALw_wcB bei beiden, dem Adafruit und beim sparkfun sollte man so wie ich es verstanden habe, KEINE Pull-ups mehr verwenden da er schon welche integriert hat. Wenn ich also einen I2C-Bus mit 5V betreibe wie bei mir der IO-Expander (ich habe hier ja einen 3.3V ESP der nur 3.3V auf den IO-Pins verträgt) so bräuchte ich laut Infos zumindest KEINE PullUp's. Habe jetzt beide auch mal nachgemessen Beide LevelShifter haben sowohl auf der Low UND auf der High-Seite 10K Pull-ups verbaut somit brauche ich da also keine PullUps mehr oder? Sonst könnte ich wohl nur Störungen einbauen wenn ich jetzt noch zusätzliche verbaue. ? zu den Sensoren: ich verwende hier 1x BVME680 (direkt an 3.3V) der ist nahe am ESP's ca 6 x DS18B20 an einem längeren Kabel 3x DHT22 Sensoren auch an teils bis zu 6 Meter Kabellänge Ich denke die ersten beiden der BME und die DS18B20 könnte ich noch an 3.3V betreiben Die DHT Sensoren, die müsste ich aber schon an 5V betreiben Zumindest was ich so im Netz gefunden habe an Infos Ein Nextion-Display was 5V braucht muss ich auch an den TX/RX anschliessen. Das müsste ich auch über den LevelShifter laufen lassen
Wenn du am langen Kabel Stabilitätsprobleme mit den Sensoren hast: 100nF jeweils nah an den Sensoren verbessern das oft.
Εrnst B. schrieb: > Wenn du am langen Kabel Stabilitätsprobleme mit den Sensoren hast: 100nF > jeweils nah an den Sensoren verbessern das oft. das hatte ich bis jetzt noch nicht probiert. Ich hätte da aber welche Zuhause (aus Keramik) den müsste ich dann parallel mit einem Bein auf die Datenleitung und mit dem anderen Beinchen auf GND legen. korrekt? edit: und wäre die Größe von 100nF bei einem 5V angetriebenen Sensor gleich wie bei einem 3.3V Sensor?
:
Bearbeitet durch User
Achim A. schrieb: > den müsste ich dann parallel mit einem Bein auf die Datenleitung und mit > dem anderen Beinchen auf GND legen. > korrekt? nein. GND und VCC, nicht an die Datenleitung!
Εrnst B. schrieb: > Achim A. schrieb: >> den müsste ich dann parallel mit einem Bein auf die Datenleitung und mit >> dem anderen Beinchen auf GND legen. >> korrekt? > > nein. GND und VCC nicht bei parasitärer Speisung da muß der arme Pin auch noch im Timing den Zusatzkondensator runterziehen, auf jeden Fall sollte man die beiden Fehlertemperaturen 85°C und 129°C (oder >125°C?) ignorieren und neu lesen, CRC8 ist eh Pflicht. Auch ist Mittelwertbildung empfohlen, denn wenn die Temperatur innerhalb von Sekunden auf über 70°C steigt brennt die Bude eh. Lange Drähte haben auch mehr Kabelkapazität also ruhig 3mA vorsehen damit die Flanken steil bleiben.
:
Bearbeitet durch User
Joachim B. schrieb: > nicht bei parasitärer Speisung da muß der arme Pin auch noch im Timing > den Zusatzkondensator runterziehen Da nennt man die Datenleitung aber hoffentlich nicht VCC. Im "Schaltplan" (in Anführungszeichen) von Achim oben war nicht ersichtlich, ob er tatsächlich die DS18B20 parasitär versorgen will, ich würd's nicht empfehlen wenn nicht unbedingt nötig. Und bei den DHT22 stellt sich die Frage eh nicht.
:
Bearbeitet durch User
Achim A. schrieb: > bei beiden, dem Adafruit und beim sparkfun sollte man so wie ich es > verstanden habe, KEINE Pull-ups mehr verwenden da er schon welche > integriert hat. Iss klar! Glaube Hoffnung trallala.
Ja, da sind Pullups drin, aber 10k. Viel zu wenig für sichere Funktion, aber es tut auf dem Steckbrett. Nein, es schadet nicht zusätzlich welche einzubauen, aber die sollten halt nah bei diesen sein und man muss die Parallelschaltung rausrechnen.
Achim A. schrieb: > den müsste ich dann parallel mit einem Bein auf die Datenleitung und mit > dem anderen Beinchen auf GND legen. so machst du die Datenverbindung unmöglich, hast du dir mal wenigstens das Datentelegramm, Timing und die Funktion angesehen? Das ist doch kein Ratespiel und kein malen nach Zahlen.
Jens M. schrieb: > Nein, es schadet nicht zusätzlich welche einzubauen, aber die sollten > halt nah bei diesen sein und man muss die Parallelschaltung rausrechnen. Gut zu wissen ich habe das jetzt so gemacht. Hab auf der Platine nahe dem LevelShifter zusätzliche Stiftleisten und eben die Verbindungen verbaut die dann für die Pullups sind. So kann ich diese entsprechend setzen oder eben weglassen.
Joachim B. schrieb: > nicht bei parasitärer Speisung da muß der arme Pin auch noch im Timing Nein, ich habe keine parasitärer Speisung. Ich habe für alle Sensoren sauber die Spannungsversorgung angeschlossen.
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.
