Ah.. Anderer Faden, darum ist weg.
Welcher NTC hat angesprochen. Im Kollektor Kreis eine LED, für Sichtbarkeit reicht weniger als 1mA. Laststrom entsprechend erhöhen. Habe die Schaltung nur diffus i. Kopf.
Falls das ganze auf einen AD eine uC soll gibt es für normaltemperaturen den DS18B20. Ich verwende die für vorlauf / rücklauf bodenheizungssteuerung.
Auch die 20ct china varianten sind zuverlässig und 1 grad genau.
NTC machen nur noch für hochtemperatur über 120 grad sinn.
Das sieht dann so aus.
Der braucht keinen AD weil digital...
Über Zweidraht mit parasitärer Versorgung hab ich da gemischete Erfahrungen was Zuverlässigkeit angeht. Dreidraht mit dediziertem VCC geht auch über längere Stecken recht gut.
Komisch, dass in praktisch allen LiIon Batterieblöcken, ob Pedelec oder Arbeitsmaschinen, NTC drin sind... Und ich hab noch nie gehört, dass die Arbeitstemperaturen über 120 Grad haben.
Mann, a bisserl Überblick in Technik sollte man schon haben, wenn man sowas raushaut.....
Habe 3-draht seit jahren in betrieb. Alle problemlos, bis auf abgastemperaturmessung heizung, der rostet wegen dem schwefel alle 2 jahre durch.
18B20 ist eine alternative, aber 2ct fürn NTC is auchn Argument. Oder wenn du ne kleine sichere Lösung brauchst die mit 3-10 Bauteilen auskommt
Ich bau gern Sachen die der Dorfschmied mim Multimeter reparieren kann
In der Massenproduktion kommt es auf jeden Cent an, deshalb sind da NTCs noch sehr beliebt. Und wenn man privat bastelt, sind sie für einfache analoge Aufbauten noch recht interessant. Aber da fungieren sie ja meist als Schwellwertschalter, da is die Linearität egal.
Wenn die Linearität nichts kostet? Weil es die vertauschung zweier Bauteile ist? Mit der chance, bei geschickter wertewahl ein voltmeter anzuschliessen, dass genügend genau die Temperatur anzeigt? Oder provisorisch das Multimeter anzuschließen, um zu sehen, wie hoch die Kühlblechtemperatur ist,vbevor der Lüfter läuft? Siehe im anderen Faden.
Ich sage ja nicht, dass man das machen MUSS.
Man kann auch mit der nichtlinearen Kennlinie eine Schwellwert machen, vollkommen richtig
Für basteleien mit uC ist analog kompliziert und aufwendig.
Beim DS18B20 reicht eine leitung zum IO pin.
Beim NTC brauchts x mal R und C, muss klaibriert werden und ist störanfällig.
Für lötfaule (trotz T12) ist der DS praktischer, besonders wenn es mehrere sensoren sein sollen.
Basteln mit uC ist auch kompliziert.
Erfordert immer einen PC.
Sagt mal, hat sich einer von euch Mods das Profilbild etwas genauer angeschaut??
Ich kann mich nur wundern....
So, an alle Kritiker hier, die sagen: das ist keine Linearisierung: ihr habt recht !
Die Messung am Widerstand ist nicht linearer als die Messung am NTC.
Allerdings: die Linearität ist etwas vom Verhältnis zwischen
Nennwiderstand ( 25 Grad) und dem Speisewiderstand ab. Sind die beiden gleich, liegt der ziemlich lineare Bereich symmetrisch zu 25 Grad.
Was die Messung am Widerstand anders macht ist, dass bei steigender Temperatur eine steigende Spannung herauskommt ( am NTC misst man bei steigender Temperatur eine fallende Spannung).
@Win gebührt die Ehre, das richtig gestellt zu haben, danke dafür.
Da hat aus einer Entwicklung in der Vergangenheit eine Verwechselung stattgefunden... falsche Schlussfolgerungen.... passiert.
Es gab mal eine Webseite Elektronikdeveloper da konnte man sich für einen vorzugebenen Bereich den optimalen Vorwiderstand berechnen lassen. In meinem Fall kamen da für den 22K NTC 22K für den Vorwiderstand und 220K für einen Parallelweiderstand heraus.
Der tiefere Sinn des Parallelwiderstandes hat sich mir nicht erschlossen, weshalb ich einfach einen 20K Widerstand ausgewählt habe.
Wie sich der Vorwiderstand auswirkt und welchen Bereich man damit linearisiert, zeigt das folgende Bild:
Für meinen aktuellen Wechselrichter verwende ich diese Kurve mit 20K:
Und linearisiere nochmal mit der map Funktion nach:
void maptemp() // NTC22K 3740 mit 20K Vorwiderstand -40 Grad bis +90 Grad Celsius
{
switch (tempwert)
{
case 107 ... 231:
tempwert = int(map(tempwert, 107, 231, 90, 60));
break;
case 232 ... 358:
tempwert = int(map(tempwert, 231, 358, 60, 43));
break;
case 359 ... 547:
tempwert = int(map(tempwert, 358, 547, 43, 24));
break;
case 548 ... 796:
tempwert = int(map(tempwert, 547, 796, 24, 0));
break;
case 797 ... 933:
tempwert = int(map(tempwert, 796, 933, 0, -20));
break;
case 934 ... 996:
tempwert = int(map(tempwert, 933, 996, -20, -40));
break;
case 0 ... 106:
tempwert = int(91);
break;
case 997 ... 1023:
tempwert = int(-41);
break;
}
Naja, in meinem Fall wo es um Lüftersteuerung ging, wäre es um 45 Grad gegangen, nicht in der Mitte des Bereiches, da ich aber nur einen Schaltpunkt für den Lüfter haben wollte, hab ichs analog gelassen, eben nur in 4 getrennten NTC, wobei auch automatisch die höchste Temperatur entscheidend war.
Deine Version ist natürlich sehr schick, damit kann man ziemlich Messgenauigkeit rauskitzeln.