ich suche nun schon eine Weile um mit 1-Wire die Temperatur in einem Solarkollektor zu messen (Heizungssteuerung). Der Sensor muss wohl ein PT1000 werden.
Habe schon den Ansatz mit dem DS2438 und dem „MESSUMFORMMODUL PT1000 10V 0 - 160°C“ angeschaut.
Dies hat aber meiner Meinung nach Nachteile (Leitungswiderstand wird nicht berücksichtigt, Kosten des Messumformermoduls).
Meine Idee kam von einem Fertigmodul (teuer über 70€), welches einen PT1000 (über 2-, 3- oder sogar 4-Drahtanschluss) mit einem DS2450 misst. Leider finde ich dazu aber keinen Bauplan.
Würde mir (kaum Elektorkenntnisse) es so vorstellen
+5V
| |
| |
| |
| |
| |
P |
T |"Gleich lange Leitung (hoch aufs Dach und zurück)
1 |
0 |
0 |
0 |
| |
| |
| |
| |–wiederstand (z.B. 100Ohm)–GND
A A
1 2
DS2450
|
GND
Durch mein beschränktes Verständnis in Sachen Elektronik komme ich auf folgende Formel:
A1 gibt mir die relevante gesamt Spannung zurück.
Die Spannung am PT1000 ist demnach (A1-A2).
Der Strom am PT1000 beträgt (A2 V/100 Ohm) A.
Also ist der Widerstand vom PT1000 (A1-A2)/(A2/100).
Sind meine Annahmen hier richtig? Ist der Wiederstand mit 100Ohm sinnvoll dimensioniert? Gibt es evtl Probleme wenn ich den DS2450 mit der gleichen Spannungsquelle betreibe wie den PT1000?
Hmmm, ich bin ja kreativ, aber aus deiner Zeichnung werd ich nicht schlau wie du verschalten willst.
Ich beschreibe mal wie es sein sollte:
Du schaltest den PT1000 und einen Widerstand in Serie, ans eine Ende kommt GND, ans andere VCC. In die Mitte( also den Punkt wo sich der Edst. und PT1000 berühren kommt der Eingang des DS2450.
VCC sollte gut stabilisiert sein, idealer wäre eine eigene Refferenzspannungsquelle zu verwenden und nicht die 1Wire Versorgung.
Sinnvollerweise noch ein paar kleine Glätteungskondensatoren dran um ggfls Störungen der langen Leitung und vom Bus zu unterdrücken.
Die Spannung am Eingang DS2450 ergibt sich aus der Spannungsteilerregel.
Den Widerstand würde ich ebefalls mit 1K wählen.-
Hast du Röhren oder Flachkollektoren ?
Also wenn die Anlage halbwegs dimensioniert ist ( keine Pumpenabschaltung wegen Überhitzung) kannst auch direkt einen DS18B20 an den Kollektor hängen.
Läuft hier seit 3 Jahren astrein. - habe aber quasi nie Anlagenstillstand, und damit höchstens mal 130° Grad am Kollektor.
Blitzschutz darfst nicht außer acht lassen !! Der Kollektor ist schließlich eine ziemlich exponierte Stelle.
Wenns blöd geht ziehst dir da Überspannungen direkt ins Herz deiner Haussteuerung.
Ich werde darum demnächst den Kollektorsensor auf Funk umstellen.
Vom DS18B20 bin ich abgekommen wegen den evtl. zu hoher Temperaturen.
Geht der DS18B20 kaputt bei zu hohen Temperaturen (z.B. 200°C) oder kann er nur keine Temperatur/bzw. die maximal Temperatur ausgeben?
Wie hast du den DS18B20 in den Kollektor geschraubt. Gibt es da spezielle Hülsen zu kaufen?
Kollektoren werden erst noch angeschafft (Neubau).
Könnte man zum Blitzschutz nicht evtl. einfach über solche Telefon-Überspannungsschutz-Geräte lösen?
Zur Lösung mit dem PT1000 muss mann nicht noch den Widerstand der Leitung (zum PT1000 und zurück) berücksichtigen? Der Kann sich ja grade durch Erwärmung auf dem Dach ändern.
Könnte ich nicht auch einfach mit einem anderen Eingang die Referenzspannung messen und in meine Berechnungen mit einbeziehen?
Also meiner liefert Ergebnisse bis rauf zu 160°.
Spezifiziert ist er aber nur bis 125°. Was darüber rausgeht, your own risk.
Wie gesagt ich hab Flachkollektoren und alles so ausgelegt das es keinen Stillstand gibt. da geht die Temp nicht höher als 120-130.
Bei anderer auslegung, insbesondere bei Röhren kannst aber weit über 200 kommen.
Tja die Wege des Blitz sind unergründlich.
Den Widerstand der Leitung kannst ignorieren, sind ja nur wenige Ohm.
d.h. ca. Faktor 100 kleiner als der Widerstandsänderung des PT1000
Die Versorgung mitmessen kannst machen wennst es sehr genau haben willst (paar Grad auf oder ab sind beim Kollektorfühler aber egal) bedenke aber der DS2450 bezieht sein interne Referenz ggfls. auch aus der Versorgung - müßte man im Datenblatt mal genau nachlesen.
Kalibrieren (d.h. vergleich mit Referenzmessung udn dann definieren von Korrekturfaktoren) mußt aber sowiso.
Schau mal auf meine Seite, ich hab mir vorm Wärmetauscher im Puffer noch einen Bypass im Solarkreislauf gelegt.
Damit ist mir die genauigkeit Kollektortemperturmessung mehr oder weniger egal, ich beziehe alles auf die Temp im Kollektorvorlauf.
ich habe PT1000 an den Vor und Rücklauf der Solaranlage geklemmt , in Reihe dazu einen 1kOhm Widerstand gegen GND und dazwischen den Eingang des DS2450. Die Leitungswiderstände ignoriere ich dabei und damit messe ich die Temperaturen für meine Zwecke genau genug.
Als Formel dient mir das hier:
per PT1000 kannst du sehr gut einen Solarkollektor abnehmen. Halbleitersensoren wie die DS18x20 Sensoren sind hier nicht geeignet, da diese nach Überschreiten der Sperrschichttemperatur, wie ein normaler Transistor, einfach kaputt gehen. Nachdem es kein passendes Modul für 1-Wire gibt, hab ich einen entsprechenden Messwandler für 1-Wire entwickelt. Hier findest du den Messwandler für den Temperaturbereich von 0-200°C.
also den fertigen Messwandler finde ich etwas zu teuer (dafür bekomme ich ja fast schon eine komplette billige Solarsteuerung).
Attain sieht deine Schaltung so wie die in meinem Anhang aus? Nutzt du 5V? Zur Bedeutung deiner Variablen:
$Vges = Gesamtspannung gelesen von VCC in meiner Zeichnung
$V = Spannung am analogen Eingang
$R = Widerstand des Sensors (Warum ist heir in der Glecihung 999 und nicht 1000?)
$t = Temperatur
weiß ich nicht mehr so genau.Ich glaube das habe ich nachgemessen. Auch war die ermittelte Spannung nicht die, die rechnerisch rauskommen müßte, deswegen die Anpassung in der Zeile $V.
Ich hole mal diesen alten Thread aus der Versenkung…
Ich muss auch einen PT100 Sensor 1-wire fähig machen. Der Sensor ist fest verbaut, daher habe ich keine Alternative auf andere Temperatursensoren zurück zu greifen.
Ich habe den Sensor, wie dharry skizziert, angeschlossen, jedoch mit einem 5k Ohm Widerstand. Den Eingang des DS2450 habe ich auf 16-bit und 2,55V eingestellt. Die Umrechnung erledige ich folgendermaßen:
Die Werte für Vges und V stimmen. Der Widerstand kann natürlich unmöglich sein. Irgendwo habe ich hier einen Denkfehler, vielleicht kann mir hier jemand helfen?
so, ich habe gestern eine Menge rumprobiert und musste mich jetzt erstmal ein bisschen sortieren (hätte ich vielleicht mal machen sollen, bevor ich hier frage…)
also ich habe (jetzt) einen 4,7k Widerstand „hinter“ den PT100 geschaltet und messe die Spannung V zwischen Widerstand und PT100. Den Port des DS2450 habe ich wieder auf 5,10V hochgestellt (16-Bit).
ein Anmerkung zur Messung.
Bei Messumformer für PT Elemente wird ein Strom (glaube 1mA, damit sich das Element nicht zur sehr erwärmt) durch das Element getrieben.
Der Spannungsabfall am PT wird hochohmig gemessen, somit lässt sich die Messung sehr genau durchführen.
Natürlich ist der Schaltungsaufwand höher, aber wie ich Helmut kenne findet er bestimmt eine einfache Lösung…-)
So, ich habe jetzt die Widerstände gedreht und alles wie beschrieben verschaltet. Leider war meine Temperatur jedoch zu hoch, was ich in folgendem Schritt korrigiert habe:
$V = GetValue(39393 /*[1-wire\DS2450 A/D Wandler\Status Port 0]*/) *(0.000069/2);
Im Prinzip wird mir jetzt die Temperatur richtig angezeigt, allerdings schwankt diese sehr.
bei ca. 25 Raumtemperatur wird gemessen 24,3/24,7/24,9/25,2/25/25,6…
Deshalb habe ich jetzt schon den Durchschnittswert der letzten Messungen genommen, was zwar schon zu einer Glättung geführt hat, aber so richtig perfekt ist es noch nicht…