Pro Mini(s) 5V über LLC am I2C Bus einer Pi0w, Schaltbild

Begonnen von TomLee, 16 April 2022, 13:04:38

Vorheriges Thema - Nächstes Thema

TomLee

Hallo,

es ist leider so   8), mit den Informationen die ich mir aus dem Netz ziehe bin ich offenbar nicht in der Lage die Schaltung korrekt aufzubauen so das i2cdetect irgendwas auf dem Bus entdeckt.

Gibts hier jemanden der mir einen genauen Schaltplan zeigen kann ?
Brauch ich Pullups, wenn ja wie groß genau, gelesen hab ich schon von 1,8K, 4,7K und 10K, mit 10K hab ichs schon probiert, aber nur zur Seite der Pi oder müssen die Pullups auf beiden Seiten sein und bei mehreren an jedem Pro Mini am Bus ?

Hoffnungsvoll

Thomas

frober

Pullups sollten bei einem LLC auf beide Seiten, je einmal. Der Wert sollte hier nicht so kritisch sein. Zum Test sollte es auch ohne gehen.
Welchen LLC hast du, ist dieser Bidirektional?

Vielleicht zeigst du Mal wie es angeschlossen ist.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

TomLee

Sry, hatte mich wieder mal kurzentschlossen was zu arbeiten nach der Frage und zum Feierabend gabs noch vorgezogene Ostern mit großer Überraschung die mich auch noch etwas beschäftigte. Dann waren alle Tabs im Browser weg an denen ich mich orientierte bezüglich I2C,weil mein Laptop spinnt und aufgeschrieben hab ich natürlich nix.

An der Schaltung hier fast ganz unten unter Hookup Diagram – Using Logic Converter hab ich mich orientiert, die 5 Volt auf der Seite des Arduino hab ich mit 5V der Pi verbunden.

Vom Pegelwandler ist ein Bild im Anhang.

Mit sudo i2cdetect -y 1 wird mir das ausgegeben:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77


(Jetzt beim schreiben fällt mir auf das ich im Sketch ein #define I2CS_START_ADDRESS 8 stehen hab, aber auch einen DEV_INDEX für jeden Pro Mini vergebe #define DEV_INDEX <ZAHL> und dabei aber bei 0 beginne, probier ich jetzt mal aus was passiert wenn ich bei 8 beginne.)

frober

Naja, die Adressen sollten schon stimmen  ;)

Zusätzliche Pullups brauchst du keine, die sind schon auf dem LLC.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

TomLee

#4
Ich hab das ganze jetzt zum laufen bekommen mit Pro Minis 3,3V ohne LLC.
Da gings auch die ganze Zeit nicht, bis ich jetzt drauf gekommen bin das:

1. ... die Adressen mal angezeigt werden mit i2cdetect und mal nicht, man kann kann aber immer darauf zugreifen (Die Adressen vergeb ich selbst).
2. ... im Sketch ein Watchdog Timer aktiv gewesen ist, das klappt aber nicht ohne weiteren Eingriff beim Pro Mini

Also ist jetzt meine Vermutung, das es mit den Pro Minis 5V das gleiche Spiel ist, bin aber noch nicht dazu gekommen das auszuprobieren, weil das gleich einen "größeren" Umbau "erforderlich" ;D gemacht hat nachdem ich feststellte dass das mit den Pro Minis 3V nun klappt und das mit den Pro Minis 5V kombiniert werden soll.

Da wären wir auch schon bei der nächsten Frage, kann ich den PM3V Bus parallel zu den Leitungen SDA/SCL die an den LLC führen anschliessen oder nur in Reihe oder gar nicht und sollte besser den anderen I2C Bus nehmen ?


frober

Zitat von: TomLee am 17 April 2022, 20:00:28
Da wären wir auch schon bei der nächsten Frage, kann ich den PM3V Bus parallel zu den Leitungen SDA/SCL die an den LLC führen anschliessen oder nur in Reihe oder gar nicht und sollte besser den anderen I2C Bus nehmen ?

Das musst du probieren. Mit einem guten Kabel, verdrillt und untereinander abgeschirmt ( z.B. CAT7), sollte das gehen. Bei einem schlecht verdrilltem Telefonkabel kommt es auf die Störungsempfindlichkeit des jeweiligen Protokolls an.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

TomLee

Ich habs wie vermutet hinbekommen, parallel zu den Leitungen SDA/SCL die an den LLC führen hab ich den PM3V-Bus verbunden, ohne Pullups.

Jetzt macht aber der letzte Pro Mini des 3,3V Bus Probleme, zuvor ohne LLC lief der Bus problemlos (keine Änderung am Sketch), also hab ich an dem letzten Pro Mini Pullups (2K) gesetzt, ohne Verbesserung.

Mit i2cdetect werden aber alle Adressen erkannt, die 18 ist die letzte Adresse im 3,3V Bus:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- 12 13 14 15 16 17 18 19 1a 1b 1c -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --



frober

Wie weit ist die Entfernung, vielleicht bekommt der Letzte keine 3,3V mehr.
Bzw. bricht die Spannung bei Belastung zusammen.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

TomLee

Das sind nur kurze Leitungsstrecken das spielt sich alles auf einer Platine einer Größe von 9cm x12 cm ab. Das meiste ist bisher auch schon gelötet oder Steckverbinder, nur die Verbindungen zum LLC sind noch Jumperkabel, bezweifle das es an der Leitungslänge liegen könnte.

TomLee

Ich hab was im Kopf das I2C ursprünglich für kurze Strecken auf Leiterplatinen gedacht ist und meine das Strecken bis zu 1m (oder gar mehrere) kein Problem sein können, was hast du denn gedacht um welche Strecken es geht, interessiert mich jetzt, wie lange könnte man so einen Bus machen ?

Papa Romeo

Zitat von: TomLee am 18 April 2022, 23:17:45
Ich hab was im Kopf das I2C ursprünglich für kurze Strecken auf Leiterplatinen gedacht ist und meine das Strecken bis zu 1m (oder gar mehrere) kein Problem sein können, was hast du denn gedacht um welche Strecken es geht, interessiert mich jetzt, wie lange könnte man so einen Bus machen ?

...ist schon einiges mehr möglich ... Google mal nach P82B96 ... bzw. schau mal hier https://www.horter.de/i2c/i2c-buffer/buffer_1.html

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

frober

Bei soviel Pro Minis, bin ich von10-20m, quer durchs Haus, ausgegangen.

Zusammen auf einer Platine ist das unkritisch.
Es könnte am Layout der Platine liegen (Störeinflüsse) und zufällig nur den Letzten betreffend.
Ich denke für Datenleitungen sollte man immer die kürzesten Wege im Layout nehmen.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Papa Romeo

Zitat von: frober am 19 April 2022, 14:47:20
Ich denke für Datenleitungen sollte man immer die kürzesten Wege im Layout nehmen.

... die Pullups aufteilen und so nah wie möglich an den Pin´s anbringen.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

LuckyDay

warum überhaupt am PI extere PullUps? am 3,3v I2c

Zitatbeim Raspi solltest Du keine Pullup Widerstände am I2C-Bus verwenden ... die sind bereits intern verbaut ...

Papa Romeo

Zitat von: fhem-hm-knecht am 19 April 2022, 22:17:50
warum überhaupt am PI extere PullUps? am 3,3v I2c

... wegen den Leitungswiderständen bei längeren Datenleitungen, wenn man hier eventuell an die Grenze der HIGH/LOW Erkennung kommt
Ich dachte hier auch nicht an den Raspi, sondern eher an die Gegenseite.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary