LM75 nicht Datenblatt-Konform?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • LM75 nicht Datenblatt-Konform?

      Hallo,
      ich habe hier mehrere LM75 Platinchen. Das schöne: sie geben 3 nachkommabits heraus _ 0,125° Auflösung. a_22_9ac28a82
      Das unschöne: das Highbyte gehört zu einer älteren Messung ?(
      Sie werden im Sekundentakt mit gemütlichen 40khz abgefragt.
      I2cstart
      I2cwbyte $9e
      I2crbyte I2cbuf(0) , Ack 'HB
      I2crbyte I2cbuf(1) , Nack 'LB
      I2cstop
      Das er gibt dann die Auffälligkeit 60,0 - 60,9 - 59,9 :/
      Mein quick&dirty Lösung ist einfach: das Lowbyte zwischenzuspeichern und bei der nächsten Abfrage zu ersetzen.
      Nur ist das wohl nicht im Sinne des Erfinders. Hat jemand ihm im Einsatz?
    • Was für ein Datenblatt hast du?? In meinem steht nix von 0,125 Grad, nur 0,5 Grad. Auch dass die von der vorhergehenden Messung wäre, finde ich nicht.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • "Temperature Conversion Time 100 ms"

      "The conversion-time specification is provided to indicate how often the temperature data is updated. The LM75 can be accessed at any
      time and reading the Temperature Register will yield result from the last temperature conversion. When the LM75 is accessed, the
      conversion that is in process will be interrupted and it will be restarted after the end of the communication. Accessing the LM75
      continuously without waiting at least one conversion time between communications will prevent the device from updating the
      Temperature Register
      with a new temperature conversion result. Consequently, the LM75 should not be accessed continuously with a
      wait time of less than 300 ms."
    • @tscheoatsch Wir haben vermutlich das gleiche Datenblatt in meinem steht auch 0.5°
      @Mitch64 Das wär nen Versuch wert. Steht zwar nicht im Datenblatt aber...
      Wie sie jetzt verbaut sind habe ich keine Chance die erste Messung zu erfassen.
      Es sind vier Stück die der Reihe nach abgefragt werden (Adressen $99-$9f)
      die $9e stand falsch im Kommentar a_71_f9c57bbe
      "wait time of less than 300 ms" heißt nicht öfter als alle 300ms ?
      Da liege ich bei 1000ms - alle 250ms ein anderes, zwischen durch noch Lcd Anweisungen.
      Ich denke nicht das sie Durcheinander kommen: Alle zeigen das selbe Verhalten und bisher kein Ausfall.
      Irgendwo sollte noch ein Ersatz liegen. Dann kann ich den ersten Wert und das Anstoßen versuchen. Das wird jedoch etwas dauern. Ich hatte gehofft jemand hätte sie im Einsatz (die mit den drei Lowbit)
      @Michael Der Code hat über 1200Zeilen das hielt ich für kontraproduktiv um 5 Zeilen zu nennen. Und leider läßt I2C sich nicht simulieren. Blieben noch eine (zwei) Falschausgaben. Würde ich aber ausschließen da das Lcd und die über 485 weitergegebenen Daten das selbe darstellen.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Pluto25 ()

    • @caargoo Da muß ich erst einen finden. Es hätte ja sein können das jemand hier das schon versucht hat.

      Es ist wohl so das er erst beim Anstoßen losläuft. Jedoch sehr schnell.
      Bei der ersten Messung ist das Highbyte 0.
      Ließt man endlos gibt er die beiden Byte im Wechsel aus(nicht alle Register sondern nur die Temperaturwerte)
      So ist es das schnellste drei Byte einzulesen. Nach Kaltstart 0,64,19 also 19,25°C
      In Betrieb 19,224,18 (18,875°C)
      @Michael Am Pc getestet mit ca 200khz daher kein Code
      Im Programm werd ich das vermutlich so umsetzen

      Quellcode

      1. I2cstart
      2. I2cwbyte $9e
      3. I2cstop
      4. If Err = 0 Then
      5. I2cstart
      6. I2cwbyte $9f
      7. I2crbyte Lmh , Ack
      8. I2crbyte Lml , Nack
      9. I2cstop
      10. else
      11. Lml=$ff 'Ausgefallen
      12. endif
      Alles anzeigen