Was ist das für ein Signal?

In einem alten Rechner fand ich einen 2N3904, der dort als Temperatursensor genutzt wurde. Das wollte ich auch am Arduino versuchen. Nur funktioniert hat es leider nicht. Angeschlossen habe ich ihn wie in dieser kurzen Anleitung gezeigt.

Meine Messerwerte sehen wie folgt aus. Die Periode ist circa acht bis neun Sekunden lang.

Welches Signal könnte ich hier tatsächlich aufgefangen haben? Und was habe ich eventuell falsch gemacht?

PS. In dem alten Rechner waren die Beinchen 2 und 3 miteinander verbunden.

2N3904 ist ein NPN Transistor :wink:
Mit Transistor kann man auch Temp messen aber wozu der Aufwand ?
Dazu braucht man noch ein Operationsverstärker

Steht doch da: Ich wollte es versuchen.

Anders gefragt, was lässt du da anzeigen ?

pin_value = analogRead(analog_no);
Serial.println(pin_value);

... Um die Frage möglichst kurz und präzise zu beantworten.

Die Anleitung ist fürchterlich/widersprüchlich!
Und ich sage: Falsch.

Siehe:

Dann siehst das ein und ausschalten der angeschlossenen Spannung in der loop().

Ja, das Datenblatt habe ich mir auch schon angesehen. Leider verstehe ich da fast nur Bahnhof.

Okay. Aus welchem Grund schaltet die Spannung hin und her? Und warum dauert ein Intervall irgendwas zwischen acht und neun Sekunden?

Unterschiedlich zum verlinkten Skript habe ich nicht alle 400, sondern 100 Millisekunden aktualisiert.

Dann schau dir doch dein Schaltbild an, ich kenne es nicht.

Naja, wenn ich raten MUSS ....................................

Thyristoreffekt, nennt sich das!
Siehe: https://www.youtube.com/watch?v=LmOO2YWaC0k

1 Like

So sieht das übrigens aus, wenn nichts am Pin dranhängt. Ist es denn normal, dass der Wert dort hin und her schwankt?

Ein offener Pin ist eine Antenne.
Das ganze gesamte Universum strahlt dir da rein!

Übrigens:
Die gemessenen Signale sind bis zu zu ca 13 Milliarden Jahre alt.

Das war GUT :wink:

TMP36/2N3904 temperature sensor project

Wie schon gesagt, der 2N3904 ist ein Transistor und kein Temperatursensor.
Der TMP36 gibt bei 0°C 500mV aus (offset). Pro °C gibt er 10mV. Bei 20°C also 700mV.

Im Foto des Sketches wird noch der LM35 genannt. Dieser ist ein Temperatursensor gibt aber 10mV pro °C aus (ohne 0,5V offset) : 0V bein 0°C und 200mV bei 20°C. Er gibt also 500mV weniger aus und kann im Normalfall mit einer Versorgungsspannung keine negativen Temperaturen messen. DIe beiden Sensoren sind nicht austauschbar weil sie bei gleicher Beschaltung und Sketch 50°C verschieden messen.

Andererseits ist die Berechnung
temperature = (125*pin_value)>>8;
Falsch da hier mit Vorzeichenbehafteten Int Variablentyp gerechent wird und Zwischenergebinsse über 32767 abgeschnitten werden. Das passiert beim TMP36 über 78°C, beim LM35 über 128°C

Die 0,5V offset ist nicht berücksichtigt. Das würde beim LM35 stimmen nicht beim TMP36. Da im Titel der LM35 nicht genannt ist nimmt man einen TMP36 als verwendeten Sensor am.

Außerdem gefällt mir diese anfängerfeindliche Rechenweise der Berechnung nicht . Statt einer Rechstsverschiebung der Dezimalzahl wäre eine Division durch 256 besser verständlich gewesen.
Noch besser wäre eine Erklährung wieso man den Meßwert mit 125 Multipliziert und dann durch 256 dividiert. EIne Teilweise zusammenfügen von Konstanten ist schlimm. Eine Erklährung hat einzelnen Rechneschritten und dessen genauer Eklährung was wieso und warum.

Genaugesagt kommen die 125 von (5V/1024) *256)100 oder besser wobei 256/1024 dividiert werden. Das ergibt 1/4 und 5/4100 sind 125.

DIe genaue Rechnung wäre bei einem Arduino UNO (Laut Bild des Sketches) und genau 5,0V Versorgungsspannung. Oft ist die Versorgungsspannung nicht genau 5,0V und muß gemessen werden zb "Arduino Secret Voltmeter" oder bei nicht alzuhohen Messungen (unter 60°C) die interne Referenz nehmen.
Von dem gemessenen Wert auf die analoge Spannung zu rechenn
Temperatur = ((pin_value *5.0)/1024.0) -0.5)*100;
wobei:
(pin_value *5.0)/1023.0 Umrechnung vom gelesenen Wert auf die Analogspannung
-0.5 subtrahieren der Offsetspannung von 0,5V
*100 wegen der 10mV pro °C.

Diese Tutorial ist von der Sorte wo einer wenig versteht aber die Egomanie hat zu glauben, daß er ein Tutorial schreiben muß. Da kommt dan was raus was vorne und hinten falsch ist.

Leider ist für Anfänger nirgens ersichtlich wie gut Tutorials sind und in diesem Fall ist es grottenschlecht weil falsch, kompliziert und nicht erklährend.

Grüße Uwe

1 Like

wenns nur zum rumspielen ist: du kannst natürlich den Transistor wie eine Diode oder jeden anderen Halbleiter als Temperatursensor benutzen.

Einfach mal die Durchlassspannung messen und die Finger dranhalten.

(Das Beinchen 2 und 3 verbunden waren, zeigt wohl das genau das gemacht wurde)

1 Like

Ja, kann man wobei ich das nicht von "jeden anderen Halbleiter" sagen würde, aber die Spannungsänderung ist 2mV/°C (also 5 mal kleiner). Darum habe wir eine 5 mal kleinere Auflösung.

Bei einer Anleitung wo man 2/3 verschiedene Sensoren beschreiben will, muß man aber auf die verschiedenen Eigenschaften genau eingehen. Vor allem bei einer Anleitung für Anfänger im Rahmen eines Sensorkits.

Grüße Uwe

Besten Dank für Eure Antworten. Da ich nur die Hälfte verstehe, beschäftige ich mich zunächst mit etwas anderem und komme vielleicht wieder später hierauf zurück. Mal sehen.

In dem Rechner waren auch eine Menge Lüfter verbaut. Die lassen sich nicht ganz so einfach ansteuern. Dazu werde ich später noch einen eigenen Thread starten. Da ich mittlerweile ein Mulitimeter mein Eigen nenne, will ich vorher noch eine Runde messen. Mal sehen, inwiefern mir das hilft. :slight_smile:

Sehe keine solche Verbindung.

Ich eigentlich auch nicht nur eine unnötige komplizierte in sich inkonsistente Verdratung. Warum den Minuspol direkt mit dem Sensor verbinden die Versorgungsspannung aber über die Verteilungsschiene zu geben und von dort auf den Sensor.

grafik

Oder geht die schwarze Leitung doch auf die Verteilerschiene aber gleich weiter. (man sieht die grüne interne Verbindung).
Grüße Uwe