LM75 im i2c auslesen

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

    ich bin neu hier und habe mir vor einigen Wochen ein Raspi gekauft. Die Freude war groß und das erste Projekt habe ich auch schon in Angriff genommen.

    Ich möchte einen LM75 Temperatursensor (CIM-5), also die 5V Version, über den i2c Bus auslesen und auf ein LC Display ausgeben lassen.

    Das LC Display habe ich bereits erfolgreich angeschlossen und kann auch Texte ausgeben lassen.
    Mein Problem liegt bei dem Temperatursensor.

    Ich habe, wie es im Datenblatt vorgesehen ist, den SDA und SCL Ausgang an die GPIO 2 und 3 angeschlossen. Dort wird die Spannung auch auf die 3,3V angehoben wegen den internen Pull-Up-Widerständen (habe ich nachgemessen).

    Die "Protokollleitungen" A0, A1 und A2 habe ich auf Ground gelegt um die Adresse 0x48 zu bekommen. Vs habe ich an die 5V angeschlossen und den GND an den Ground des Raspi. Zwischen Ground und Vs kommen ca. 4,9V „raus“.
    Danach habe ich alle Schritte durchlaufen um im Raspi den i2c Bus und Dienst zu starten.
    Nach Eingabe von "lsmod" wird mir der „i2c_bcm2798“ auch angezeigt. Sprich, ich habe den i2c aktiviert und kann diesen nun nutzen.

    ABER nach Eingabe des Befehls "sudo i2cdetect -y 1“, und auch bei "sudo i2cdetect -y 0", werden mir alle Adressen mit "--" angezeigt. Der LM75 gibt kein Signal von sich. Ich habe schon zwei LM75 angeschlossen und bei beiden tritt dieser Fehler auf.

    Was mache ich Falsch? Hat jemand einen Tipp für mich?

    Vielen Dank im Voraus

  • Hmm ... ich hatte gefragt, da wohl auch Varianten mit 2Draht Bus unterwegs sind.

    Tjaaaa ... gute Frage, warum der sich nicht meldet :s
    Ich hab' im Datenblatt was von shutdown gelesen. Vielleicht muss man erst "blind" was lesen, um ihn zu aktivieren?


    cu,
    -ds-

  • [font="Times New Roman"] [/font]
    [font="Times New Roman"]Ich hab mir das Dokument nochmal durchgelesen. Ich verstehe das so, dass er sich nur in den Ruhemodus schalten lässt wenn man über die Datenleitung ein gewisses Bit auf 0 setzt.

    Nur sende ich Ihm ja eine Aufforderung sich zu identifizieren. Und das Raspi stellt keine Antwort auf allen Adressen fest. Eine Aufforderung seine Adresse zu nennen kann er ja nicht einfach ausschlagen weil er im Ruhemodus ist.

    SDA ist ja aktiv was den Sensor aufwachen lassen müsste.
    Ich habe die Schaltungen schon x mal bei Google gefunden und bei allen hat es wohl auf Anhieb geklappt. Nur bei mir nicht. Aber bei beiden Sensoren dasselbe Fehlerbild?

    Kann man bei dem Raspi noch irgendwas einstellen oder freigeben?

    MfG[/font]

  • Hi josh,

    also sonst wüsste ich jetzt nichts.
    Vielleicht mal die Adressierungs-Anschlüsse offen lassen?
    Du siehst ... meine Ideen gehen leider auch zu Ende.
    Fassen wir mal kurz zusammen:

    /etc/modules editiert:
    hinzufügen ->i2c-bcm2708
    hinzufügen ->i2c-dev

    /etc/modprobe.d/raspi-blacklist.conf editiert:
    auskommw
    auskommentiert -> #blacklist spi-bcm2708
    auskommentiert -> #blacklist i2c-bcm2708

    i2c-tools installiert:
    -> sudo apt-get install i2c-tools

    Module geladen:
    -> sudo modprobe i2c-bcm2708
    -> sudo modprobe i2c-dev

    Und dann hat -> hier <- jemand einen Tuner intialisiert.
    Vielleicht brauchst Du auch so eine Art Reset?


    Schliesslich als Quertest vielleicht mal wie einen anderen 2Wire Sensor anschliessen?


    bye,
    -ds-

  • [font="Times New Roman"] [/font]
    [font="Times New Roman"]Habe das alles so gemacht und trotzdem nichts.

    Mit dem Reset aus dem Beispiel... Ich glaube er macht einen Reset des Pins weil der Pin auf den Board auf "Reset negiert" angeschlossen ist.

    Sprich, er resettet den Pin -> 0, die läuft auf das Board wird negiert -> gibt eine 1 und das Board wird in den Auslieferungszustand zurückgesetzt.

    Aber mein LM75 hat kein Reset Eingang.

    Die Datenleitungen offen lassen hatte ich auch schon probiert. Hatte alle 3 auch schon an 3,3V angeschlossen. Eigentlich muss sich so die Adresse des LM75 ändern, aber hat sich nix getan.

    Wie schließe ich den denn als 2Wire Sensor an?

    Vielen Dank nochmal für deine Hilfe [/font]

  • Naja ... ist nur so eine Idee: mal an SPI anschliessen.
    Ist halt nur die Frage, wie:

    SDA -> Daten IIC
    SCL -> Takt IIC

    MISO -> Master in
    MOSI -> Master out
    SCLK -> Takt SPI

    Und das dann halt in ein script (python) verpacken.

    Ach ja ... noch eins: vielleicht mal -> hier <- in der Gegend forschen.
    Das sind Seiten vom Arduino ... die haben den LM75 sicher irgendwo in einer Lirary.
    Vielleicht hat der LM75 was Besonderes - das könntest Du dann da evtl. abkupfern ( Quellenangabe dann aber bitte nicht vergessen :fies: )

    // EDIT:
    Bei Adafruit gibt es allerdings auch gute Tipps für den RPi.


    cu,

    -ds-

Jetzt mitmachen!

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