TMP-36 Messfehler an Arduino Pro Mini... Lösung?

Hallo ihr Lieben,

Sollen in der Schule ein Thermometer bauen. Haben dafür einen tmp-36 Sensor. Ich habe jetzt einfach mal die Ansteuerung von der Website von Adafruit genommen, allerdings gibt mir dann der Sensor einen Wert aus der um 9-10°C daneben liegt bei 72°C und um die 4°C bei Zimmertemperatur. So sieht es beim Pro Mini aus.

Wenn ich einen UNO benutze stimmen die Werte. Was ist hier das Problem? Wir können in der Schule keinen UNO nutzen, weil die Pro Minis die einzigen waren die es bei uns schon gab.

Die "Formel" zum umrechnen der Werte in °C:

//getting the voltage reading from the temperature sensor
  int reading = analogRead(sensorPin);  

  // converting that reading to voltage, for 3.3v arduino use 3.3
  float voltage = reading * 5.0;
  voltage /= 1024.0; 

  // print out the voltage
  Serial.print(voltage); 
  Serial.println(" volts");

  // now print out the temperature
  float temperatureC = (voltage - 0.5) * 100 ;  //converting from 10 mv per degree wit 500 mV offset
  //to degrees ((voltage - 500mV) times 100)
  Serial.print(temperatureC); 
  Serial.println(" degrees C");

Also irgendwas ist da meiner Meinung nach komisch dran. Denn wenn er sich schon vermisst, warum dann bei so unterschiedlich bei verschiedenen Temperaturen? Und vor allem, warum funktioniert der Sensor am UNO aber am Pro Mini nicht? Liegt das zufällig an der Stromversorgung?

Liebe Grüße TimeMen

Hast Du einen 3,3V oder einen 5V Pro Mini?

Gruß Tommy

Da war unser Internet einfach mal weg... Sorry

Das ist ein 5V Pro Mini

TimeMen: Liegt das zufällig an der Stromversorgung?

Ein Schaltplan oder zumindest eine Beschreibung, wie alles angeschlossen ist, wäre hilfreich. Weichen die Werte nach oben oder unten ab?

  • Kontrolliere mal ob die 5,0V wirklich 5,0V sind und nicht weniger.
  • aktiviere die interne 2,56V Referenz und benutze diese (Du mußt dann 2,56V statt den 5,0V in der Formel einfügen). Grüße Uwe

@Theseus

@uwefed Es kommen tatsächlich 5V heraus. Das Multi hat 5.05V gemessen. Ist diese Referenz dieses ARef? Habe einen anderen Sketch zum Auslesen des TMP-36 gefunden, in dem der ARef aktiviert wird.

Sollte mich mal damit auseinandersetzen was das ist.

Danke schon mal für die Idee, probiere ich gleich mal aus. Die interne 2.56V Referenz aktiviere ich so?

analogReference(INTERNAL);

Und dann den Teil im Sketch ändern?

float voltage = reading * 2.56;

Dein Schaltplan sollte den Pro Mini zeigen. Beim Uno funktioniert es doch.

Wenn der Pro Mini einen 328 hat, ist die interne Referenz 1,1V. 2,56V hat der Arduino Urvater Atmega8.

@Theseus Ja, das ist kein Pro Mini, aber angeschlossen ist er gleich. An VCC, A0 und GND. Es ging ja nur um den Anschluss des Sensors, und der ist im Bild zu sehen. Kann aber gerne noch kurz mit Fritzing ne Grafik für den Pro Mini erstellen. War so bloß unaufwändiger.

Also deine Aussage verstehe ich so, dass ich nicht durch 2.56V teilen muss sondern durch 1.1V. Das wird immer spannender, denn mittlerweile habe ich dann schon 130°C im Bastelzimmer. Dabei hat es hier gefühlt 13°C :D

LG TimeMen

Du musst durch 1,1V teilen. Dann dürfte die angezeigte Temp deutlich geringer werden. Allerdings kannst du mit 1,1V max. 60°C messen.

Ja, das Thermometer misst jetzt genau. Allerdings habe ich es dann mal mit Teewasser probiert…
Habe dann auch gemerkt dass es nur bis 59.9x geht. Und beim Nachrechnen kam auch nix anderes raus als Temperatur < 60°C
Danke, Danke :slight_smile:
Habt mir die Unterrichtsstunde morgen gerettet :slight_smile:

Schönen Abend @Theseus und @uwefed
TimeMen

Theseus: Dein Schaltplan sollte den Pro Mini zeigen. Beim Uno funktioniert es doch.

Wenn der Pro Mini einen 328 hat, ist die interne Referenz 1,1V. 2,56V hat der Arduino Urvater Atmega8.

Mein Fehler. Ich hatte PRO MICRo gelesen.

Also nochmals um Mißverständnisse auszuräumen Alle Platinen mit ATmega328 haben 1,1V +/- 0,1 interne Referenz. Der Wert ist nicht genau aber immer gleich. Alle Platinen mit dem ATmega32U4 haben 2,56V interne Referenz Alle Platinen mit den ATmega1280 oder ATmega2560 haben beide Referenzspannungen.

Grüße Uwe