Posts by Bergmensch

    Hallo VeryPrivat!

    Danke für den Tipp!

    Habe über das Lesebit auch schon gegrübelt....

    Leider verlangt i2cget nach dem Parameter für die Slave-Adresse (0x48) noch einen Wert und wenn man den weglässt, gibt es eine Fehlermeldung!

    Kennst du zufällig eine weitere Möglichkeit, um über die Shell mit dem i²C-Bus zu kommunizieren?

    Gruß,

    Bergmensch

    Ich habe etwas recherchiert und denke es müsste passen (Code und Schaltung). Ich kenne Deine KTY Beschaltung nicht und würde daher vorerst gerne diese als "Fehlerquelle" ausschließen.

    Kannst Du ein paar Werte einlesen mit GND und mit 3,3V an A0 und die Werte hier posten?

    Kannst Du mal A1-A3 auf GND legen, damit deren Pegel definiert ist?

    Hallo VeryPrivat!

    Habe nun alles so gemacht, wie von dir vorgeschlagen: A1-A3 auf GND und A0 nacheinander auf GND und +3,3V.

    Config-Register des ADS1115 beschrieben mit:

    Code
    i2cset -y 1 0x48 0x01 0x8342 w

    Dann jeweils 10 Werte vom Conversion-Register in eine Datei schreiben lassen (Anhänge).

    Immer noch Zufallswerte!

    Zumindest den Continuous-Modus scheint der ADS1115 übernommen zu haben.


    Gruß,

    Bergmensch

    Falls es hilft, hier hat jemand einen Treiber für Python geschrieben. Den von Adafruit würde ich nicht unbedingt verwenden, da man dann weitere Abhängigkeiten hat (Blinka und noch was).


    Wenn du den A1 - A3 auf GND ziehst, sollte der gelesene Wert == 0 oder ein wenig drüber sein.

    Hallo DeaD_EyE!

    Danke für den Hinweis!

    Ich möchte allerdings keine fertigen Treiber verwenden, sondern alles von Null weg "zu Fuß" machen, damit ich das Thema auch richtig verstehe.

    Allerdings bin ich momentan mit meinem Latein am Ende!

    Habe nun A1-A3 auf GND gehängt aber wenn ich das Config-Register beschreibe mit

    Code
    i2cset -y 1 0x48 0x01 0x8342 w

    bekomme ich trotzdem Zufallswerte am A0 (siehe angehängte Dateien).

    Zumindest der Continuous-Modus scheint vom ADS1115 übernommen worden zu sein.

    Die Werte vom A0 gelesen (Conversion-Register 0x00) sehen so aus, als würde das Potential floaten...

    Gruß,

    Bergmensch

    Hallo Bernd666,


    danke für deinen Hinweis!


    Habe in der Shell des Raspberry Pi folgendes eingegeben:

    Code
    i2cset -y 1 0x48 0x01 0x8342 w

    Wobei man darauf achten muss, dass bei i2cset das Datenwort so angegeben werden muss (hab ich aus dem Netz): 0xLSBMSB

    Das bedeutet, dass ich das Config-Register (0x01) des ADS1115 so setzen will: (continuous mode, 4.096V, AINP = AIN0 and AINN = GND)


    01000010 10000011

    42h 83h


    Anschließend lese ich das Conversion-Register aus mit:

    Code
    i2cget -y 1 0x48 0x00 w

    Wobei auch für den Rückgabewert gilt: LSBMSB


    Gruß,


    Bergmensch

    Hallo allerseits!

    Das ist mein erster Beitrag in diesem Forum - bin verzweifelt!

    Ich bin mir sicher, dass ihr mir weiterhelfen könnt.

    Mein Anliegen: Analoge Spannungswerte (0 bis ca. 2Vdc, Änderungsrate im Sekundenbereich) mit dem Raspberry messen und verarbeiten.

    Nach ein wenig Recherche im Netz habe ich das Joy-it Modul KY-053 mit dem ADS1115 entdeckt; hat mir recht gut gefallen...

    Meine Software am Raspberry schreibe ich mit Lazarus und dem Free Pascal Compiler (aus historischen Gründen - habe früher mit Turbo Pascal gearbeitet)

    Zum Testen des ADS1115 wollte ich diesen zunächst über die Shell des Raspberry mittels i2c-Tools (i2cset, i2cget) ansprechen.

    Den ADS1115 über i2C ansprechen funktioniert tadellos (Adresse 0x48) aber das Config-Register nach meinen Vorstellungen setzen, um dann aus dem Conversion-Register

    die Messwerte auszulesen.

    Und da fängt mein Problemchen an: Das Config-Register setzen scheint noch zu funktionieren, aber die anschließend aus dem Convesion-Register ausgelesenen Werte

    erscheinen eher wie Zufallszahlen.

    Die Eingangsspannung am A0 des KY-053 ist konstant 2Vdc.

    Konfiguration:

    * Raspberry Pi 4

    * Raspbian Buster

    * ADU: Joy-it KY-53 (ADS1115)

    Alle weiteren Infos entnehmt bite den beigefügten Dateien.

    Was mache ich falsch?

    Bitte um eure Hilfe!


    Schöne Grüße,

    Bergmensch