Beim I2C-Bus werden doch die beiden Signalleitungen SCL/SDA mit einem PullUp-Widerstand "terminiert".
Jetzt nutze ich auf meinem Bus einige Breakoutboards (4 Stück) auf denen jeder so einen PullUp schon drauf hat.
Da ich das bis dato noch gar nicht richtig realisiert hatte, habe ich beim Master auch nochmal terminiert.
3 der Boards sind ziemlich nahe am Master (PCF8574T Port extender) positioniert (max 30cm) und haben jeweils einen 1k-Widerstand.
Eines davon sitzt ca. 20m entfernt (BH1750) und hat 4,7k Pullup
Am Master sind nochmal 1k Pullup.
Wenn ich richtig rechne, dann werden die Datenleitungen "nur" noch mit ~240 Ohm auf Vcc (5V) gezogen.
Ist das kritisch?
"Terminierung" ist das falsche Wort.
Wenn ich richtig rechne, dann werden die Datenleitungen "nur" noch mit ~240 Ohm auf Vcc (5V) gezogen.
Ist das kritisch?
Durchaus!
Hi
Der 'normale' Widerstand müsste 4K7Ω sein - wobei bei Deinen 20 Metern ist eh Probleme auf Dich zukommen sehe.
Die Teilnehmer müssen die Spannung binnen 300ns runterziehen können, weshalb auch die Kapazität des Bus begrenzt ist (also die Kapazität des sich ergebenden Kondensator).
https://www.nxp.com/docs/en/user-guide/UM10204.pdf
Seite 59 fängt gar erst bei 1kΩ an.
Wenn's funktioniert: gut - für den Hobby-Aufbau müssen wir uns nicht 100% an die Industrie-Vorgaben halten.
Wenn'S nicht funktioniert, sollten wir aber sehen, daß wir möglichst nahe an diese Vorgaben heran kommen, damit wir Das dann als Fehlerquelle ausschließen können.
MfG
PS: Verdammt - zu langsam
OK,
dann nehm ich mal die Pullups bei den PCF8574T raus.
Die Länge hat sich nach genauem Messen auf 13m "verkürzt".
Und ab da: Versuch macht kluch.
Ich denke atm auch an Alternativen, die Helligkeit zu messen. Evtl auch analog. Ein 4-20mA-Signal wäre m.E. das richtige für längere Leitungen.
Aber da hab ich noch nichts passendes gefunden.
hk007:
Die Länge hat sich nach genauem Messen auf 13m "verkürzt".
Du kannst aber bei der Länge auch I2C-Extender (P82B715) einsetzen.
Auch ich rate zu I2C Extender für die weiter entfernten Device.
Ich bezweifle daß die Module (PCF8574T Port expander) 1kOhm Widerstände drauf haben, da das ein Widerstandswert ist, der bereits alleine für einen I2C Bus zu klein sein kann. Hast Du nachgemessen oder hast Du die Farbkodierung der Widerstände gelesen?
Grüße Uwe
Da sind nur 102er SMD drauf. Meines Wissens 1k.
Allerdings hab ich noch keinen passenden Schaltplan gefunden
Wegen dem Expander muss ich mal gucken. Vllt. gibts da auch ein breakout. Nur SMD-IC kann ich nicht umgehen mit...
Ja, 102 wären 1kOhm.
103 wäre plausibel.
102 ist verdächtig/unglaubwürdig.
Messe doch mal nach.
(Multimeter, wirste ja haben)
Tipp:
Ebay: SOP to DIP Adapter
combie:
Messe doch mal nach.
(Multimeter, wirste ja haben)
Nö aber einen Durchgangspiepser aus der Automobilwerkstatt.
Spass beiseite.
Mach ich. Ich muss dazu nur ins andere Haus, wo die Steuerung verbaut ist.
102 = 10 * 10² = 1 kOhm stimmt aber. Siehe hier. Das würde auch besser zum Treiben längerer Leitungen passen als 10 kOhm
Gruß Tommy
102 = 10 * 10² = 1 kOhm stimmt aber.
Ich weiß...
Das verstößt aber dennoch gegen das Prinzip der geringsten Verwunderung.
Mit einem dieser Widerstände, an 5V, wäre der Bus schon hoch belastet.
2 dieser Expander, dann läufts aus dem Ruder.
Und 7 sind möglich... oder?
Den Schaltplan hab ich gefunden:
Da sind auch 1k gezeichnet...
Erstaunlich!
Nachgemessen am lebenden Objekt: 1K !!
Umso verwunderlicher ist dann dieses breakout:
Klick
Die kann man direkt hintereinander stecken. und jedesmal 1K parallel...
HotSystems:
Du kannst aber bei der Länge auch I2C-Extender (P82B715) einsetzen.
Dazu habe ich eine Frage.
Hast du diese Dinger schon mal getestet? Welche Leitungslänge ist damit sicher erreichbar?
Franz
uwefed:
Ich bezweifle daß die Module (PCF8574T Port expander) 1kOhm Widerstände drauf haben, .............
Bei der Firma Horter haben die wahlweise 330 Ohm als Empfänger oder 4,7 Kilo als Sender. Diese sind mit Jamper zu- oder abschaltbar.
Franz
Wundert mich immer mehr, dass es bei mir läuft.
In der aktuellen Ausbaustufe habe ich
3 x PCF8574 mit 1k Pullup
1 x ADS1115 mit 10k Pullup (hatte ich vorher ganz vergessen)
und noch meine 1k am Master. (Die werd ich gleich mal ändern)
Allerdings steuere ich z.Zt. nur einen der PCF8574 sporadisch an.
Und zwischen µC und I2C-Bus sitzt ein JY-MCU Levelshifter, da der Bus mit 5V läuft, und der µC nur 3,3V kann.
Evtl. bringt der schon eine Verbesserung, aber selbst der hat schon 10K Pullups an den Ein-/Ausgängen.
Manoman da muss ich wohl etwas ausmisten.
Ziel wären 4,7k??
Ich bezweifle daß die Module (PCF8574T Port expander) 1kOhm Widerstände drauf haben, .............
Die haben Wahlweise 330Ohm als Empfänger oder 4,7 Kilo als Sender. Diese sind mit Jamper zu- oder abschaltbar
Deinen letzten Post habe ich nicht ganz verstanden....
hk007:
@Franz54. Die haben Wahlweise 330Ohm als Empfänger oder 4,7 Kilo als Sender. Diese sind mit Jamper zu- oder abschaltbarDeinen letzten Post habe ich nicht ganz verstanden....
Das hier sind diese Portextender vom Horter:
Die sind immer Paarweise. Sender & Empfänger. Und man kann sie mit 330 Ohm abschießen, oder mit 4,7 KOhm.
Franz
Und man kann sie mit 330 Ohm abschießen, oder mit 4,7 KOhm.
Aber nicht "oder", oder gar "Wahlweise".
Sondern: Man muss das schon richtig machen.
Welche Leitungslänge ist damit sicher erreichbar?
Das hängt in erster Linie mit der Kapazität der Leitung zusammen.
Die 330 Ohm sollten für bis zu 3000pF gut sein.
Den Widerstand kann man bei Bedarf durchaus noch verringern.
Nachtrag:
Franz54:
http://www.horter.de/doku/i2c-extender-testplatine_db.pdf
Mit dem Plan stimmt was nicht!
Die 4K7 gehören an SDL und SCL
Die 330R an LDA und LCL