INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LM75 misst Mist (unterschiedlicher Offset)
05.02.2019, 11:51
Beitrag #1
LM75 misst Mist (unterschiedlicher Offset)
Hallo ins Forum,

bin gerade dabei mich in I2C einzuarbeiten und habe deshalb einen LM75 an einen Nano-China-Klon angeschlossen.

Bei jedem anstöpseln des Nanos an den Computer misst der LM75 mit einem anderen Offset, nur nicht mit der plausiblen Zimmertemperatur. Heute morgen warens um 9 Grad, jetzt ist die Grundtemperatur 48 Grad, gerade eben getrennt und neu verstöpselt ist sie bei 3,5 Grad. Der Sensor reagiert jedoch bei Finger drauf gleich und erhöht die Temperatur dementsprechend um ca. 3 Grad.

Hier ist mein Code:
Code:
#include <Wire.h>

#define ADR_THERMO 72

#define TEMP_REG B00000000

void setup() {
Wire.begin();
Serial.begin(9600);
}

void loop() {

int msb;

int lsb;

Wire.beginTransmission(ADR_THERMO);

Wire.write(TEMP_REG);

Wire.endTransmission();

Wire.requestFrom(ADR_THERMO, 2);

while (Wire.available())
  {
    msb = Wire.read();
    lsb = Wire.read();
  }

float temperatur = (float)msb;

if ((lsb & 128) == 128) temperatur += 0.5;

Serial.println(temperatur);

delay(1000);
}

Ich habe schon verschiedene Pullup-R´s von 2k2 bis 10k am Bus betrieben, keine Änderung. Die 3 Adressatpins liegen ohne R an Masse. Die VCC des Sensors wird mit einem kleinen 1nF C wie im Datenblatt beschrieben gegen Masse geschaltet.
Betriebsspannung am Sensor mit 4,7 V gemessen.

Könnte es sein dass mein Code zu schnell für den Sensor ist? Müssen irgendwo Delays rein um dem Sensor mehr Zeit zu geben?
Oder muss der Sensor noch speziell vorkonfiguriert werden bevor man messen kann?

vielleicht hatte jemand schon einen ähnlichen Effekt und Erfahrungswerte daraus.

lg Harry
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2019, 12:06
Beitrag #2
RE: LM75 misst Mist (unterschiedlicher Offset)
Probiere mal, ob das Ergebnis besser wird, wenn Du das Delay vor requestFrom setzt.
Die Umwandlung habe ich mir jetzt nicht angeschaut. Da kannst Du evtl. auch mal in der Lib schauen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2019, 12:18
Beitrag #3
RE: LM75 misst Mist (unterschiedlicher Offset)
Hallo Thommy,

merci für die Antwort. Ja, etwas besser ist´s, jetzt sinds statt 3 schon 9 Grad Zimmertemperatur hihi. Quatsch beiseite, keine Veränderung merkbar.
Die Umwandlung in TempWert ist ok, ich habe mir die Binärausgabe angesehen was der LM75 sendet. Das msb ist der Tempwert und das höchstwertige Bit im lsb ist ein halbes Grad dazu oder auch nicht.

Ich gehe davon aus dass ich das Teil eventuell durch den Isländerpulli meiner Frau geschrottet habe (no ESD protection beim Löten).

Die LIB LM75A misst den gleichen Mist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2019, 12:46
Beitrag #4
RE: LM75 misst Mist (unterschiedlicher Offset)
(05.02.2019 12:18)HarryS schrieb:  Die LIB LM75A misst den gleichen Mist.
Das spricht allerdings für einen gestorbenen IC.

Warum nimmst Du eigentlich keinen DS18B20? Der hat 0,5°C Messfehler lt. Datenblatt gegenüber 2°C beim LM75.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2019, 17:53
Beitrag #5
RE: LM75 misst Mist (unterschiedlicher Offset)
Der LM war noch in der Bastelkiste und ich habe Ihn verwendet um I2C auszuprobieren.

Mir fallen spontan noch 2 Dinge ein die evtl zu einem Herztod des Bauteils geführt haben könnten...

1. Bauteil mit dem Arduino verbunden, Arduino an den PC angeschlossen, Sketch von vorher war noch am laufen bis der LM75 Sketch hochgeladen wurde.

2. Der LM75 hat einen Pin "OS", ein open-Collector Ausgang gegen Masse der dazu dienen kann z.B. einen Interrupt eines Microcontrollers auszulösen, sollte die Schaltschwelle der eingestellten Temperatur überschritten werden. Nun habe ich diesen Pin über einen 10k Pullup schonmal mit dem Arduino Interrupt 0 (D2) verbunden, jedoch im Programm noch nicht berücksichtigt.
Was passiert denn mit undefinierten Pins am Arduino? Jittern die irgendwo umher, führen die evtl sogar +5V? (was in meinem Fall ja einen Kurzschluss bedeutet hätte, sollte der Transistor im LM75 gerade leitend gewesen sein).

Kann ich das Bauteil eventuell so geschossen haben?

Habe gerade am Arduino den D2 überprüft, Output funktioniert jedenfalls noch an einer LED.

VG Harry
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2019, 18:06
Beitrag #6
RE: LM75 misst Mist (unterschiedlicher Offset)
1. Das kommt darauf an, was die Pins für SDA/SCL im alten Sketch gemacht haben. Wenn sie nicht benutzt waren, waren sie hochohmige Eingänge und somit unkritsch.

2. Zum Begriff: Ein PullUp geht nach Vcc. Ein Widerstand an einen Arduino-Pin ist kein PullUp. Über 10k kann kaum was passieren.

War das ein "nackter" LM75? Dann fehlten an SDA und SCL wohl die PullUp-Widerstände (4k7). Das sind auch OpenKollektor/OpenDrain-Ausgänge.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2019, 20:52
Beitrag #7
RE: LM75 misst Mist (unterschiedlicher Offset)
Da habe ich mich wohl falsch ausgedrückt, sri!

Die Funktionsweise der PullUp ist klar. Ich habe den OC des LM75 mit dem D2 Pin des Arduino verbunden und diese Leitung mit einem PullUp nach Vcc versehen. Ich meinte, mal angenommen dass der Transistor im LM75 aufgrund eines mir nicht bekannten Zustandes leitend gewesen wäre UND der D2 Pin des Arduino 5V geführt hätte, es zu einem Kurzschluss gekommen sein könnte. In diesem Falle weiß ich nicht ob es zu einem Schaden im LM oder Nano gekommen sein könnte.

Vielen Dank für die Erklärung, wenn ich Dich richtig verstanden habe sind undefinierte Pins im Sketch immer hochohmig.

Gilt das auch für den ersten Moment des Einschaltens, d.h. wenn der Arduino Spannung bekommt und das Setup durchläuft? Ein dort als Eingang definierter Pin wird nie, auch nur kurz, Spannung führen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2019, 20:57
Beitrag #8
RE: LM75 misst Mist (unterschiedlicher Offset)
Ja, die Pins sind von Haus aus immer Eingang und damit hochohmig.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wer misst, misst Mist bergfrei 3 1.848 28.04.2015 20:38
Letzter Beitrag: Bitklopfer
Sad Temperatursensor LM35CZ misst falsch carphunter 4 4.214 27.08.2013 22:09
Letzter Beitrag: carphunter

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste