I2C keine Verbindung über Distanz

  • - ein verdrilltes, geschirmtes Kabel, mit größerem Querschnitt verwenden u. mal den Spannungsabfall unter Last am Sensormodul messen

    Auch hier überwiegt mehr Raten, und Mutmaßen, als ein wirkliche fachliche und sachliche Betrachtung.
    Ausgehend von dem von mir schon vorgeschlagenen CAT 5e bzw CAT 6 Kabel hat ein Einzelader einen Widerstandswert von 18 Ohm / 100 Meter, was bei einer Last - Sensor max. 5 mA einen Spannungsabfall von 14 mV @15 Meter bzw. 26 mV @28 Meter ergibt.
    Ich kann aktuell mit dieser Aussage "größerem Querschnitt" verwenden somit überhaupt nichts anfangen, weil diese geringen Kabelwiderstandsverluste kannst du ganz einfach unter den Tisch kehhren und dort liegen lassen. :thumbup::thumbup::thumbup:


  • K.A. was dein Problem ist. Wie es scheint, bist Du selbst nicht in der Lage, das Datenblatt des Sensors zu lesen und zu verstehen. Und einen Hinweis zum Einsatz des Sensors in diesem Grenzbereich, bzw. zu den GPIO's des RPi, hatte ich geschrieben.

    Und da es keine Details zur max. Entfernung des Sensors, zum verwendeten Kabel, mögl. Übergangswiderständen bzw. zu den örtl. Gegebenheiten gibt, kann man nur allgem. Tipps geben. Der verwendetet IC auf der o.g. Shop Seite ist im übrigen bi-direktional und wenn es nicht um all zu große Entfernungen vom RPi zum Sensor geht, wird vermutl. kein weiterer Repeater IC nötig sein. Falls man sich Sorgen um den Sensor im direkten 5V Betrieb (ohne 3,3V LDO) macht, könnte man die Spannung direkt am Sensor mit einer Si-Diode um 0,7V senken, und ggf. eine Spannungsstabilisierung mit einem Elko vorsehen. Eine Garantie auf 100% Erfolg kann ich leider nicht geben, aber wem der Vorschlag nicht gefällt, der probiert halt etwas anderes aus.

    Roland53Du kannst dich hier gerne wichtig machen, aber Du solltest die Dinge nicht aus ihrem Zusammenhang entstellt, wiedergeben.

  • @ Flair87

    Um welche max. Entfernung zw. RPi und Sensor, soll es denn überhaupt gehen und wie hast Du das Sensormodul bei deinem Test mit dem längeren Kabel angeschlossen? Wenn Du das Modul mit nur 3,3V statt mit 5V betrieben hast, kann dies schon der Fehler sein. Der interne Spannungsregler auf dem Sensorboard braucht eine Mindesteingangsspannung, welche über der Ausgangsspannung von 3,3V liegen muss.

  • FYI https://www.berrybase.de/sparkfun-qwiicbus-kit

    Quote

    Der SparkFun QwiicBus EndPoint ist der schnellste und einfachste Weg, um die Reichweite Ihres I2C-Kommunikationsbusses zu erweitern. Beide Boards verwenden den PCA9615 IC von NXP, der die zwei Standard-I2C-Signale in vier differentielle Signale umwandelt, zwei für SCL und zwei für SDA. Die differentiellen Signale werden über ein Ethernet-Kabel gesendet, das über die on-board RJ-45-Anschlüsse mit dem Breakout verbunden wird. Durch die differentielle Signalisierung können die I2C-Signale Entfernungen von bis zu 100ft. erreichen und dabei ihre Signalintegrität beibehalten

  • @ Flair87

    Um welche max. Entfernung zw. RPi und Sensor, soll es denn überhaupt gehen und wie hast Du das Sensormodul bei deinem Test mit dem längeren Kabel angeschlossen? Wenn Du das Modul mit nur 3,3V statt mit 5V betrieben hast, kann dies schon der Fehler sein. Der interne Spannungsregler auf dem Sensorboard braucht eine Mindesteingangsspannung, welche über der Ausgangsspannung von 3,3V liegen muss.

    Bei den großen Anlagen werde ich nicht mehr als 15 Meter benötigen um die Steuerung dann vernünftig zu platzieren.


    Ich habe die 5 Meter Reichweite wieder hinbekommen. Es kommt wirklich drauf an wie die Adern nebeneinander im Flachbandkabel liegen. Derzeit habe ich nichts anderes dazwischen geklemmt und arbeite mit 3,3 Volt und wie gesagt 6 adriges Telefonkabel.

    Ich habe ein Post in einen anderen Forum gelesen und dieser Hinweis war ausschlaggebend.

    SDA läuft jetzt im Flachbandkabel neben VCC und SCL neben GND.

    Das war auch der Unterschied als ich es gelötet habe, hier hatte ich die Adern anders belegt.

    Es klingt unglaublich aber das Teil läuft seit knapp 24 Std Fehlerfrei.

    Sicherlich ist das alles noch nicht optimal und ich denke mittlerweile über eine Versorgung über Cat oder ähnliches was hier vorgeschlagen nach.

    Trotzdem werde ich jetzt testen ab wieviel Meter dann Ende ist 😊

    Ich danke euch für die ganzen Ratschläge und ich bin um einiges schlauer geworden.

    Edited once, last by Flair87 (April 19, 2025 at 12:00 AM).

  • Na dann teste mal. Betreibe das Sensormodul an 5V und mit einem geschirmten Kabel, dann hast du einen Überblick was ohne Mehraufwand funktionieren könnte. 15m wirst du so nicht sicher überbrücken können. K.A. was du mit dem Bewegungssensor an einer Maschine auswerten willst, ich würde mal vermuten, dass es vielleicht eine bessere Lösung gibt. Letztendlich soll der Sensor ja sicher funktionieren und ein Bewegungssensor + das daran angeschlossene Kabel werden in Bewegung sein, was m.E. eher suboptimal für ein Bussystem ist und bestimmt nach kurzer Zeit Probleme macht.

  • Na dann teste mal. Betreibe das Sensormodul an 5V und mit einem geschirmten Kabel, dann hast du einen Überblick was ohne Mehraufwand funktionieren könnte. 15m wirst du so nicht sicher überbrücken können. K.A. was du mit dem Bewegungssensor an einer Maschine auswerten willst, ich würde mal vermuten, dass es vielleicht eine bessere Lösung gibt. Letztendlich soll der Sensor ja sicher funktionieren und ein Bewegungssensor + das daran angeschlossene Kabel werden in Bewegung sein, was m.E. eher suboptimal für ein Bussystem ist und bestimmt nach kurzer Zeit Probleme macht.

    Ja genau an den Sensor bin ich nicht gebunden, ich möchte lediglich feststellen ob eine Maschine Bewegungen ausführt oder nicht. Ich könnte dies auch über diverse 24 Volt Signal direkt aus der Maschine abfragen. Bei neueren Anlagen könnte der Garantieanspruch dann aber erlischen. Diese Diskussionen möchte ich vermeiden.

    Hast du vllt eine Idee wie ich das noch anders Überwachen könnte ?

    Mit der i2c Schnittstelle bin ich ja jetzt um einiges schlauer und ohne das Signal entweder entsprechen zu Konvertieren oder es über eine vernünftig dafür ausgelegte Verbindung auszulesen, werde ich nichts an den Anlagen testen.

    FYI https://www.berrybase.de/sparkfun-qwiicbus-kit

    Quote

    Der SparkFun QwiicBus EndPoint ist der schnellste und einfachste Weg, um die Reichweite Ihres I2C-Kommunikationsbusses zu erweitern. Beide Boards verwenden den PCA9615 IC von NXP, der die zwei Standard-I2C-Signale in vier differentielle Signale umwandelt, zwei für SCL und zwei für SDA. Die differentiellen Signale werden über ein Ethernet-Kabel gesendet, das über die on-board RJ-45-Anschlüsse mit dem Breakout verbunden wird. Durch die differentielle Signalisierung können die I2C-Signale Entfernungen von bis zu 100ft. erreichen und dabei ihre Signalintegrität beibehalten

    Sowas würde ich dann für eine sichere i2c Lösung und ohne viel Aufwand, wahrscheinlich mal testen. Danke für den Link, habe ich so im Netz nicht gefunden

  • Das einfachste und sicherste wäre, einfach mal Kontakt zu den Herstellern der Maschinen aufzunehmen und dein Anliegen schildern.
    Immerhin wollen diese ihre Maschinen verkaufen und wenn der Kunde ein leicht umsetzbares Anliegen hat, was spricht dagegen?

    Ohne die Anforderungen deine Möglichkeiten, die Maschinen und die Umgebungsbedingungen zu kennen, könnte man evtl. u.a. solche Dinge realisieren:

    - den Körperschall der Maschine via Mikrofonmodul mit einstellbaren Schwellwert und digitalen Ausgang auswerten
    - die Stromaufnahme der Maschine (ggf. nur eine Phase) über eine Strommesszange, Messmodul mit Feritringkern o.ä., kontaktlos messen
    - wenn sich eine Wärmequelle bewegt, könnten man einen PIR Sensor verwenden
    - ansonsten könnte man die Entfernung zw. deinem Sensor und dem RPi auch seriell via RS232, RS485 o.ä. überbrücken

  • Das einfachste und sicherste wäre, einfach mal Kontakt zu den Herstellern der Maschinen aufzunehmen und dein Anliegen schildern.
    Immerhin wollen diese ihre Maschinen verkaufen und wenn der Kunde ein leicht umsetzbares Anliegen hat, was spricht dagegen?

    Ohne die Anforderungen deine Möglichkeiten, die Maschinen und die Umgebungsbedingungen zu kennen, könnte man evtl. u.a. solche Dinge realisieren:

    - den Körperschall der Maschine via Mikrofonmodul mit einstellbaren Schwellwert und digitalen Ausgang auswerten
    - die Stromaufnahme der Maschine (ggf. nur eine Phase) über eine Strommesszange, Messmodul mit Feritringkern o.ä., kontaktlos messen
    - wenn sich eine Wärmequelle bewegt, könnten man einen PIR Sensor verwenden
    - ansonsten könnte man die Entfernung zw. deinem Sensor und dem RPi auch seriell via RS232, RS485 o.ä. überbrücken

    Natürlich kenne ich auch die offiziellen Wege über den Maschineherstellern. Aber du kannst dir denken was da kommt ?

    Die möchten alle liebend gerne eine Menge Geld verdienen und du glaubst nicht was ein Klick in der Service Ebene um ein paar Ports / Schnittstellen freizugeben dann am Ende kosten.

    Hinzu kommt, dass ich quer Beet vom Baujahr 1990 bis 2025 Anlagen von min. 5 verschiedenen Herstellern in Betracht ziehen muss. Du verstehst ? Die Kochen alle Ihre eigene Suppe und wollen dir Ihre Software anbieten. Wovon du dann 5 aufm Rechner hast oder am Ende doch mehrere tausend Euro für eine Software bezahlst, wovon du wenn nur die Hälfte an Funktionen brauchst, bzw. nicht an deine Bedürfnisse angepasst ist, als wenn sie am ende selbst rogrammiert ist.

    Wir sind eine kleine Firma und gerade in der heutigen Zeit muss man schauen wo und wie man sich vielleicht kostengünstig helfen kann.

    Euch allen noch Frohe Feiertage

    Edited once, last by Flair87 (April 21, 2025 at 9:49 AM).

  • Die einfachte Möglichkeit scheint mir ein Microcontroller in der Nähe des Sensors, welcher das i2c-Protokoll in eine serielle Verbindung oder andere "distanzfähige" Protokolle wandelt und dises übertragen wird? Der Controller kostet 5€

    Jeder macht was er will, keiner macht was er soll, aber alle machen mit :)

  • FYI https://www.berrybase.de/sparkfun-qwiicbus-kit

    Quote

    Der SparkFun QwiicBus EndPoint ist der schnellste und einfachste Weg, um die Reichweite Ihres I2C-Kommunikationsbusses zu erweitern. Beide Boards verwenden den PCA9615 IC von NXP, der die zwei Standard-I2C-Signale in vier differentielle Signale umwandelt, zwei für SCL und zwei für SDA. Die differentiellen Signale werden über ein Ethernet-Kabel gesendet, das über die on-board RJ-45-Anschlüsse mit dem Breakout verbunden wird. Durch die differentielle Signalisierung können die I2C-Signale Entfernungen von bis zu 100ft. erreichen und dabei ihre Signalintegrität beibehalten

    Sowas würde ich dann für eine sichere i2c Lösung und ohne viel Aufwand, wahrscheinlich mal testen. Danke für den Link, habe ich so im Netz nicht gefunden

    Zufallsfund vor ein paar Monaten als Ich generell bzgl. Qwiic / Gemma-CT / easyC (also steckbares I2C) rumgeschnoebert habe.

    Drei verschiedene Namen fuer das gleiche Stecksystem, von, in gleicher Reihenfolge wie oben: Sparkfun, Adafruit, Soldered (.com) (ex: e-Radionica).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!