Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Gemeinsamer Betrieb von Adafruit PWM und SHT21 Sensor am I2C Bus

riffraff
2017-01-08
2017-01-12
  • riffraff - 2017-01-08

    Hallo,

    nachdem ich das Adafruit Modul mit 2 Servos eingebunden habe, habe ich jetzt als zweites Device am I2C Bus einen SHT21 Temperatur/Feuchtigkeitssensor angehängt und über die "I2C_SHT21.library" aus "CODESYS V3 » CODESYS V3 Raspberry Pi share your devices & libraries & applications" eingebunden.

    So weit so gut, lässt sich alles fehlerfrei in den Raspi einspielen.
    Allerdings bekomme ich vom Funktionsbaustein des Sensor keine Temperatur- oder Feuchtigkeitswerte geliefert und auch die "Valid" Statussignale liefern FALSE.

    Ich vermute, dass es an der I2C Adressierung liegt (?)

    Beim Einbinden des Adafruit Moduls habe ich mich um den Punkt der Adressierung gar nicht gekümmert.
    In der Adafruit-Beschreibung steht zwar "The I2C base address for each board is 0x40", aber auch ohne explizite Eingabe der Adresse funktioniert der Zugriff auf das Board bzw. auf die beiden angeschlossenen Servos problemlos. Ich habe das so interpretiert, dass bei Adresse "0" die I2C Slaves automatisch erkannt werden (???)
    Wenn ich mir online "Aktueller Wert - I2C adress" anschaue, steht da "0".

    Jetzt bin ich beim Einbinden des SHT21 Sensors ebenso vorgegangen und habe den Punkt Adressierung nicht beachtet. Auch hier steht jetzt bei "Aktueller Wert - I2C adress" die "0" (obwohl der Baustein online "64" anzeigt...) und ich bekomme keine Fehlermeldung beim Übersetzen oder Einspielen. Nur bringt der Baustein eben keine Werte...

    Wer kann mir sagen, was ich da falsch mache ?

    Gruß

    IMG: Unbenannt.JPG

     
  • eschwellinger

    eschwellinger - 2017-01-08

    Hi,

    ich würde die Adressen prüfen über(ssh, putty einloggen auf dem PI):

    sudo apt-get install i2c-tools

    sudo i2cdetect -y 1

    sudo i2cdetect -y 1
    dann zeigt es die Adressen der I2C Geräte am Bus an:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    

    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: 70 -- -- -- -- -- -- --

    Grüße
    Edwin

     
  • riffraff - 2017-01-08

    hmm, zeigt nur die "40" an.
    Dann haben beide devices vermutlich die "40".
    Mich wundert nur, dass Codesys online für beide devices "0" als aktuellen Wert anzeigt...

    Wie sieht denn bei Codesys das I2C-Adresshandling generell aus?

    Gruß
    Werner

     
  • riffraff - 2017-01-09

    das Adressproblem sollte jetzt behoben sein:

    Habe dem Adafruit Modul jetzt über eine Lötbrücke die Adresse 65 verpasst.
    "sudo i2cdetect -y 1" zeigt jetzt ein device mit 0x40 (SHT21) und eines mit 0x41 (Adafruit) an.
    Habe im Codesys die "i2cAdress" Parameter der devices entsprechend angepasst.

    Mir fehlt jetzt allerdings der Einstieg, die "I2C_SHT21.library" von Erikk umzusetzen (?)
    Er schreibt "It has an internal statemachine inside the _iState..."

    Ist da mein FUP-Ansatz gem. screenshot überhaupt machbar oder muss ich da auch mit einer Schrittkette arbeiten(???)

    Gruß Werner

    IMG: Unbenannt.JPG

     
  • eschwellinger

    eschwellinger - 2017-01-09

    Hi,
    Denke du musst keine neue Instanz anlegen sondern die Instanz die vom System angelegt wird
    Verwenden.
    Also dein Baustein so bennen wie er im Geraetebaum heisst.

    Gruesse
    Edwin

     
  • riffraff - 2017-01-09

    nein, immer noch keine Werte...
    Kann der Sensor lediglich durch diesen Baustein angesprochen werden?

    Gruß
    Werner

    IMG: Unbenannt.JPG

     
  • riffraff - 2017-01-12

    ich komm einfach keinen schritt weiter
    hat niemand eine idee?

     

Log in to post a comment.