I2C zeigt mit MAX7311 wilde Adressen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich besitze diese Relaisplatine von cctools in der Version I2C mit MAX7311 und bestücktem I2C Buffer P82B96. Pullups für den I2C (Sx/Sy-Seite des P82B96 bzw. SDA/SCL des MAX7311) sind bereits auf dem Board aufgebracht.

    jecu.th.jpg

    Diese habe ich an den Raspi angeschlossen und bekomme folgende, wirre Ausgabe mittels i2cdetect -y 1:

    ljej.png

    Diese ändert sich bei jedem Aufruf willkürlich. Was habe ich versucht:

    • Anschluss von Rx, Ry, Vcc und GND des P82B96 über die auf der Relaisplatine bereitgestellten Anschlusspins rechts unten an den Buffer (5V) des ADC Pi Boards.
    • Anschluss von SDA, SCL, V+ und GND des MAX7311 über freie Lötaugen der Platine (eingelötetes Kabel wie auf dem Bild oben zu sehen) an den Buffer das ADC Pi Boards.
    • Anschluss von SDA, SCL, V+ und GND des MAX7311 direkt an den Raspi mit dem eingelöteten Kabel sowohl mit 3V also auch 5V.


    Das Ergebnis ist immer das Gleiche. Andere I2C-Erweiterungen wie das ADC Pi Board oder das Slice of PI/O konnte ich problemlos in Betrieb nehmen.

    Hat jemand irgend eine Idee, woran dies liegen könnte?

    supric


  • Ich würd auf zuviele/falsche PullUp-Widerstaände und/oder Massefehler tippen.

    Die Pullups auf der Relaisplatine haben jeweils 10k. Am Raspi konnte ich jeweils 1k7 messen. Die Pullups auf der Relaisplatine habe ich testweise mal abgeklemmt. Das Ergebnis ist unverändert.

    Interessant ist, dass wenn ich die Relaisplatine mit einer eigenen Stromversorgung versehe und nur SDA und SCL am Raspi anschließe, der I2C komplett blockiert wird, plötzlich alle Adressen leer:
    0jdu.png

    Schalte ich GND zusammen, ergibt sich wieder das Bild oben im ersten Beitrag.

    supric

  • Ich würde mal die PullUps R11 und R12 auf dem Relaisboard einseitig auslöten und dann nur GND, SCL und SDA direkt mit dem Pi verbinden und das Relaisboard mit einem extra Netzteil mit 5Volt versorgen. Wenn das nichts bessert kommt man ohne Oszi-Messungen nicht weiter.


  • Ich würde mal die PullUps R11 und R12 auf dem Relaisboard einseitig auslöten und dann nur GND, SCL und SDA direkt mit dem Pi verbinden und das Relaisboard mit einem extra Netzteil mit 5Volt versorgen. Wenn das nichts bessert kommt man ohne Oszi-Messungen nicht weiter.

    Ja, genau die beiden hatte ich abklemmt. Ergebnis war, dass der Bus leer zu sein schien. Es wurden überhaupt keine Teilnehmer mehr gefunden.

    Einen Oszi habe ich leider nicht...

    supric

  • Hallo supric,

    ich bin Umstiger vom CControl II auf Raspi.
    Daher habe ich bei meiner Haussteuerung mit den gleichen Poblemen wie du zu kämpfen.
    Ich bin noch in der Umstellungsphase mit Programm umschreiben und Hardware austesten.

    Mit dem gleichen Relaismodul ( MAX7311) hatte ich auch so mine Probleme, seit heute morgen klappt es.

    Laut meiner Tests haben die anderen Schreiber Recht, es muss n deinen Voridertänden liegen. Einfaches auslöten reicht natürlich nicht, dann hast du keine Verbindung mehr.
    Ich habe meine beiden Vorwiderstände ausgelötet, ebenso wie I2C-Puffer (einer der beiden kleinen IC's rechts neben den Widerständen.
    Damit du dann wieder eine Verbindung von den beiden I2C-Pins rechts unten bekommst, habe ich einfach die beiden mittleren Anschlüsse verbunden. Mit dieser Konstruktion läuft es jetzt bei mir einwandfrei.
    Einzig die Test bei längeren I2C-Leitungen habe ich noch nicht vorgenommen.

    Ich hoffe, ich konnte dir mit meinen Angaben helfen.

    Gruß,
    Heiko


    Hier ein Foto:

  • Hallo Heiko,

    schön, dass es noch andere Bastler gibt, die das Gleiche vorhaben wie ich :) Ich steige nicht direkt von der CC2 um, weil ich momentan die UVR1611 einsetze. Diese wollte ich mit der CC2-Regelung ersetzen, die seit Jahren bei mir rumliegt, bin dann aber doch auf den Raspi gekommen und wollte die vorhandene Hardware weiter nutzen. Die Software hatte ich für die CC2 schon geschrieben und musste sie auch auf den Raspi portieren. Bin da aber auch noch nicht ganz fertig.

    Welche Programmiersprache hast du eingesetzt?

    Ich werde auf jeden Fall deine Variante in den nächsten Tagen mal ausprobieren. Wenn es dann ginge, wäre mir trotzdem unklar, was die Ursache gewesen ist. Wenn ich den MAX7311 wie bei mir vor dem P82B96 abgreife, dann sollte es eigentlich egal sein, ob der P82B96 noch verlötet ist oder nicht. Die Pullup-Widerstände hatte ich ja bereits ausgelötet und die hast du doch auch einfach nur ausgelötet, oder?

    Auch dass ich die Relaisplatine bei einem schnellen Test mit der CC2 nicht angesprochen bekommen habe, stimmt mich etwas skeptisch. Hier habe ich es wie ursprünglich vorgesehen mit P82B96 auf der Relaisplatine und auf dem Reglerboard von CC-Tools angeschlossen.

    :s

    Ich melde mich wieder, wenn ich den Versuch hinter mir habe.

    supric

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!