LM 35 DZ Temperaturfühler Schwankt

Hallo,

Ich versuche momentan einen LM35DZ auszulesen und mir den Temperaturwert auf einem Oled display anzeigen zu lassen.
Der LM35DZ ist an ca. 80cm langen Kabeln angeschlossen, welche entlang weiterer Kabel an einem 3D Drucker liegen.
Der LM35DZ liegt direkt an einem Stepper Motor an und soll dessen Temperatur messen.

Direkt auf dem Steckbrett verläuft die Messung ziemlich genau und ohne Schwankungen. Verbaut am 3D Drucker bekomme ich starke Schwankungen des Temperaturwertes. Hat jemand eine Idee, woran das liegt und wie man diese Schwankungen beheben kann?
Sind es die langen Kabel, oder Störungen der anliegenden weiteren Kabel des 3D Druckers?

Liebe Grüße

Hallo,

momentan misst du "Hausnummern" Der AD-Wandler ist für elektromagnetische Einstreuungen empfindlich. Je hochohmiger, das Ganze und je länger die ungeschirmten Leitungen sind, um so schlimmer.
Du hast jetzt zwei Möglichkeiten: die Bequeme ist, einen digitalen DS18B20 Sensor zu nehmen, der steinige Weg, bei dem du was lernst, ist es mit deinem Analogsensor richtig zu machen.

  1. Nimm für die Verkabelung des Sensors geschirmtes Kabel. Der Schirm wird EINSEITIG an Masse gelegt. Vorzugsweise am Arduino. Über den Schirm wird KEINE Stromversorgung realisiert. Signale gehen und über die Adern unter dem schirm.
  2. Glätte das Analogsignal elektrisch mit einem 2,2µF Folienkondensator. MKT, oder so. Kein Elko und kein Keramikkondensator. Der FoKo kommt zwischen Analogmasse und den zu beruhigenden Eingang.
  3. Glätte per Sorfware über Mittelwertbildung
else
 {
float resultTemp = 0.0;
for(int i = 0; i < cycles; i++){
int analogValue = analogRead(sensorPin);
float temperature = (5.08 * 100.0 * analogValue) / 1024; // reale Spannung Ub (theoretisch 5.00V) 
resultTemp += temperature;                               // Aufsummieren der Messwerte
delay(DELAY1);
  } 
resultTemp /= cycles;                                    // Berechnung des Durchschnitts

Hier mal ein Beispiel, wie ich das kopiert habe. I habe ich auf 50 gesetzt, da mußt du experimentieren, bis der Wert hinreichend stabil ist. Ich habe mit ca. 1m Kabel den Sensor in einem Wärmeschrank verbaut, wo die Kabel von Lüfter und Heizung in einem Kabelkanal parallel verlaufen.
Und eine weitere Falle habe ich im Code noch kommentiert. die Formel enthält die Betriebsspannung des Arduino. Man geht da immer von 5V aus, an einem langen USB Kabel können es aber eben auch mal 4,5V sein. Dann misst, bzw. berechnest du Mist! Also miss die Betriebsspannung des Arduino mit einem Digitalvoltmeter und setze den gemessenen Wert in deine Formel ein.
Oder nimm den DS18B20, da hast du all diese Probleme nicht.

Hi

Alternativ zu den 5V Versorgungsspannung nimmst Du eine der internen Referenz-Spannungen.
Dafür musst Du dann Deinen Spannungsteiler anpassen, daß diese kleinere Spannung möglichst abgedeckt wird.

Je nach verwendeten µC sind verschiedene interne Referenzen, eine externe Referenz (an Aref, Die muß dann aber ebenfalls sehr genau sein !!) oder die Versorgungsspannung.
Die Versorgungsspannung ist bei ratio metrischer Messung (also ein Teiler aus der Versorgungsspannung) allerdings eine gute Wahl - da sich auch der analoge Wert mit der Versorgungsspannung im gleichen Verhältnis ändert.
Bei Sensoren, Die eine feste Spannung/festen Strom für eine Mess-Größe ausgeben, ist die interne Referenz besser.

MfG