Kalibrierung der NTC-Sensoren: Unterschied zwischen den Versionen
(ntc kali) |
Keine Bearbeitungszusammenfassung |
||
| Zeile 2: | Zeile 2: | ||
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]<br> | [[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]<br> | ||
== Patricia Viebke, 12.05.2024 == | == Patricia Viebke, 12.05.2024 - Kalibrierung Temperatursensoren == | ||
=== NTCs === | |||
Das Mess-System beinhaltet 4 NTC Sensoren. Drei der vier Sensoren sind von AVS Römer und bieten die Möglichkeit über ELSA Verbindungen mit einem 6 $mm$ Rohr in Systeme integriert zu werden. Der NTC für die Erfassung der Temperatur an der E61 Brühgruppe ist eine Eigenkonstruktion und muss mittels eines Adapters in den Prüfstand integriert werden | Das Mess-System beinhaltet 4 NTC Sensoren. Drei der vier Sensoren sind von AVS Römer und bieten die Möglichkeit über ELSA Verbindungen mit einem 6 $mm$ Rohr in Systeme integriert zu werden. Der NTC für die Erfassung der Temperatur an der E61 Brühgruppe ist eine Eigenkonstruktion und muss mittels eines Adapters in den Prüfstand integriert werden | ||
| Zeile 20: | Zeile 22: | ||
Das Basic Fitting definiert die interpolierte Kurve mit einer Funktion. Ziel ist es die Umwandlung anhand der Vektorindizes aufzubauen. Über einen Messbereich von 0 bis 5000 mV wird eine Auflösung von 0,1 mV angestrebt. Es wird ein Vektor erstellt, welcher die Werte 0 bis 50000 enthält. Jedes Vektorelement wird in die Funktion des Polynoms aus dem Basic Fitting eingesetzt. Ein Vektor y enthält die Werte der Kalibrierkurve über den gesamten Messbereich mit der gewünschten Auflösung. Dieser Vorgang wird für alle NTC Sensoren wiederholt. Die finalen Kalibrierkurven, die unter y gespeichert sind, werden der Datei C:/0\_Messsystem/Kali/kalistruct.mat abgelegt. Das Struct ist in der Reihenfolge der Messkanäle aufgebaut. Das erste Element kali(1).y ist somit dem NTC für Siebträgerauslauf zugeordnet. Das Struct beinhaltet eine Spalte line, welche die cfit Elemente speichert. Das Verwenden der cfit Elemente zeigt einen vereinfachten Umgang mit den Kalibrierkurven. | Das Basic Fitting definiert die interpolierte Kurve mit einer Funktion. Ziel ist es die Umwandlung anhand der Vektorindizes aufzubauen. Über einen Messbereich von 0 bis 5000 mV wird eine Auflösung von 0,1 mV angestrebt. Es wird ein Vektor erstellt, welcher die Werte 0 bis 50000 enthält. Jedes Vektorelement wird in die Funktion des Polynoms aus dem Basic Fitting eingesetzt. Ein Vektor y enthält die Werte der Kalibrierkurve über den gesamten Messbereich mit der gewünschten Auflösung. Dieser Vorgang wird für alle NTC Sensoren wiederholt. Die finalen Kalibrierkurven, die unter y gespeichert sind, werden der Datei C:/0\_Messsystem/Kali/kalistruct.mat abgelegt. Das Struct ist in der Reihenfolge der Messkanäle aufgebaut. Das erste Element kali(1).y ist somit dem NTC für Siebträgerauslauf zugeordnet. Das Struct beinhaltet eine Spalte line, welche die cfit Elemente speichert. Das Verwenden der cfit Elemente zeigt einen vereinfachten Umgang mit den Kalibrierkurven. | ||
=== Infrarot Temperatursensor === | |||
Die Vorgehensweise für die Kalibrierung des Infrarot Sensors ist analog zum NTC Sensor durchzuführen. Für die Erfassung von Spannungswerten während dem Kalibrierprozess am Pumpenprüfstand muss eine geeignete Messstelle festgelegt werden. Auf dem Messstrang für die Temperaturen befindet sich ein Adapter, in welchem unter anderem der Referenzsensor verschraubt wird. Auf den Adapter wird mit Isolierband eine spiegelfreie Fläche geschaffen, welche als Messstelle für den IR-Sensor dient. \\ | |||
Analaog zum NTC Sensor, wird pro Kontrollpunkt eine 30 Sekunden Messung gestartet. Die Messdaten werden gemittelt, so dass eine Gegenüberstellung möglich ist. Der IR-Sensor ist ein digitaler Sensor und verläuft linear über den Messbereich. Da der Sensor auf dem zweiten Modul definiert ist, erstreckt sich der Messbereich von 0 bis 10 $V$. Der physikalische Messbereich liegt bei -50 °C bis 600 °C. Die Kalibrierkurve wird über diesen Bereich analog zum NTC erstellt und abgespeichert. Die Umwandlung der Spannungswerte in Temperaturwerte findet hier ebenfalls über den Index des Vektors statt. Der Messbereich 0 mV bis 10000 mV wird mit einer Auflösung von 0,1 mV umgesetzt. Daraus errechnet sich die Anzahl von 100000 Werten im Vektor. | |||
== Patricia Viebke, 30.04.2023 == | == Patricia Viebke, 30.04.2023 == | ||
Aktuelle Version vom 12. Mai 2024, 19:56 Uhr
Patricia Viebke, 12.05.2024 - Kalibrierung Temperatursensoren
NTCs
Das Mess-System beinhaltet 4 NTC Sensoren. Drei der vier Sensoren sind von AVS Römer und bieten die Möglichkeit über ELSA Verbindungen mit einem 6 $mm$ Rohr in Systeme integriert zu werden. Der NTC für die Erfassung der Temperatur an der E61 Brühgruppe ist eine Eigenkonstruktion und muss mittels eines Adapters in den Prüfstand integriert werden
Dieser hat ein M6 Gewinde und wird mit Dichtmasse in einen Adapter geschraubt. An dem Adapter werden über zwei G 1/4 Gewinde die ELSA Anschlüsse verschraubt. An das dritte G $\nicefrac{1}{4}$" Gewinde wird der Referenzsensor des Prüfstands mit Dichtmasse verschraubt. Mit einem Rohrstück wird der Adapter und ein weiterer NTC (4a) verbunden. So wird in einem Kalibriervorgang die Kurve für zwei Sensoren parallel aufgezeichnet. Aufgrund von Platzmangel werden keine weiteren Sensoren für diesen Durchlauf verwendet.
Die zu kalibrierenden Sensoren müssen korrekt mit der Elektronikplatine verbunden werden.
Bei der Federklemme der NTCs wurden bei der Inbetriebnahme Probleme in Form von Signalstreuungen festgestellt. Daher wird der zweite und dritte Pin eines NTC Anschlusses miteinander verlötet. Der dritte Pin wird für einen Zweileiter NTC ignoriert und ist im Schaltplan mit 0 gekennzeichnet. Die Anschlüsse für den Kalibrierprozess von CH00 und CH03 4a müssen dem Schaltplan entnommen werden. Nachdem die Sensoren am Mess-System angeschlossen sind, muss eine Verbindung zwischen MATLAB und dem Mess-System hergestellt werden.
Für den Kalibiervorgang muss die MATLAB GUI für den Pumpenprüfstand geöffnet werden. Anschließend muss die Verbindung zur NI-Messkarte und zum Raspberry Pico hergstellt werden. Bei grünem Füllstand wird der Kalibrierprozess direkt gestartet. Hier wird eine Endtemperatur von 95 °C ausgewählt und 7 Kontrollpunkte werden errechnet. Bei Starten des Prozesses wird die Starttemperatur ebenfalls als Kontrollpunkt definiert. Befindet sich die Temperatur in der definierten Toleranz des Kontrollpunktes, wird ein Counter gestartet. Erreicht der Counter den Wert 10 erreicht, wird in blauer Schrift die Stabilität des Messpunktes kommuniziert. Mit einem MATLAB Skript wird eine 30 Sekunden Messung über das Raspberry Pi ausgeführt. Das Skript \texttt{import\_shot.mat} ist unter den Zusatzskripten zu finden. Die Messwerte des Raspberry Pis werden nach 30 Sekunden in MATLAB importiert und in einem Struct gespeichert. Am Ende des Skriptes wird die Zählvariable xi um 1 hochgezählt, so dass neue Messwerte in eine neue Zeile des Struktes geschrieben werden.
Nachdem die Werte eines Kontrollpunktes erfolgreich in dem Strukt gespeichert wurden, wird in der GUI zum nächsten Kontrollpunkt geregelt. Der Prozess muss wiederholt werden, bis der letzte Kontrollpunkt erreicht wird. Bei Abschluss der letzten Messung müssen die Messwerte auf der GUI über den entsprechenden Button gespeichert werden. Es wird eine Datei erstellt in dem aktiven MATLAB Ordner mit den Referenztemperaturen. Die Referenztemperaturen werden in einem Vektor gespeichert. Hier müssen die Messwerte den Kontrollpunkten zugeordnet werden und Zeilenweise abgespeichert werden. Die Werte sind eindeutig den Kontrollpunkten zuzuordnen anhand der vorhandenen Temperatursprünge in den Werten. Bei einer 30 Sekunden Messung sind etwa 11 Messspunkte pro Kontrollwert zu erwarten. Für das Erstellen der Kalibrierkurve werden die Messdaten in einem weiteren Struct gegenübergestellt. Die erste Spalte beinhaltet die Spannungswerte pro Kontrollwert, während die zweite Spalte die Referenzwerte in °C enthält. Es bildet sich ein Struct mit zwei Spalten und 8 Zeilen, resultierend aus den 8 Kontrollwerten.
Die Erstellung der Kalibrierkurve erfordert das Gegenüberstellen einzelner Messwerte. Hierfür müssen die Werte einer Messung gemittelt werden. Es resultieren 8 Spannungswerte, welche 8 Temperaturwerten gegenübergestellt werden. Die Kurve zeigt das typische NTC Verhalten. Das Verhalten charakterisiert sich durch die abnehmende Spannung bei zunehmender Temperatur. Es ist zu erkennen, dass die Kurve nicht den gesamten elektrischen Messbereich von 0 V bis 5 V abdeckt. Dies folgt aus dem eingeschränkten Temperaturbereich, der bei der Kalibrierung anfängt bzw. erreicht wird. Für die Umwandlung der Spannungswerte über den gesamten Messbereich muss die Kurve erweitert werden. Die Erweiterung wird durch das Basic Fitting durchgeführt. In Abbildung 2 werden unterschiedliche Polynome verglichen. Der zweiten Grafik ist der Vergleich eines Polynoms 3. Grades und 5. Grades zu entnehmen. Optimalerweise sind die 0 °C bei 5000 $mV$ zu erreichen. Dies ist mit dem Basic Fitting nicht möglich, daher wird das nächst Ähnlichere verwendet. Für die Erstellung der Kalibrierkurve wird das Polynom 3. Grades (grün) ausgewählt.
Das Basic Fitting definiert die interpolierte Kurve mit einer Funktion. Ziel ist es die Umwandlung anhand der Vektorindizes aufzubauen. Über einen Messbereich von 0 bis 5000 mV wird eine Auflösung von 0,1 mV angestrebt. Es wird ein Vektor erstellt, welcher die Werte 0 bis 50000 enthält. Jedes Vektorelement wird in die Funktion des Polynoms aus dem Basic Fitting eingesetzt. Ein Vektor y enthält die Werte der Kalibrierkurve über den gesamten Messbereich mit der gewünschten Auflösung. Dieser Vorgang wird für alle NTC Sensoren wiederholt. Die finalen Kalibrierkurven, die unter y gespeichert sind, werden der Datei C:/0\_Messsystem/Kali/kalistruct.mat abgelegt. Das Struct ist in der Reihenfolge der Messkanäle aufgebaut. Das erste Element kali(1).y ist somit dem NTC für Siebträgerauslauf zugeordnet. Das Struct beinhaltet eine Spalte line, welche die cfit Elemente speichert. Das Verwenden der cfit Elemente zeigt einen vereinfachten Umgang mit den Kalibrierkurven.
Infrarot Temperatursensor
Die Vorgehensweise für die Kalibrierung des Infrarot Sensors ist analog zum NTC Sensor durchzuführen. Für die Erfassung von Spannungswerten während dem Kalibrierprozess am Pumpenprüfstand muss eine geeignete Messstelle festgelegt werden. Auf dem Messstrang für die Temperaturen befindet sich ein Adapter, in welchem unter anderem der Referenzsensor verschraubt wird. Auf den Adapter wird mit Isolierband eine spiegelfreie Fläche geschaffen, welche als Messstelle für den IR-Sensor dient. \\
Analaog zum NTC Sensor, wird pro Kontrollpunkt eine 30 Sekunden Messung gestartet. Die Messdaten werden gemittelt, so dass eine Gegenüberstellung möglich ist. Der IR-Sensor ist ein digitaler Sensor und verläuft linear über den Messbereich. Da der Sensor auf dem zweiten Modul definiert ist, erstreckt sich der Messbereich von 0 bis 10 $V$. Der physikalische Messbereich liegt bei -50 °C bis 600 °C. Die Kalibrierkurve wird über diesen Bereich analog zum NTC erstellt und abgespeichert. Die Umwandlung der Spannungswerte in Temperaturwerte findet hier ebenfalls über den Index des Vektors statt. Der Messbereich 0 mV bis 10000 mV wird mit einer Auflösung von 0,1 mV umgesetzt. Daraus errechnet sich die Anzahl von 100000 Werten im Vektor.
Patricia Viebke, 30.04.2023
Für das Messsystem wird eine neue Elektornikpalatine entwickelt, auf welcher die Signalkonditionierungen für die NTC Sensoren implementiert sind. Es muss bestimmt werden, welche NTC Sensoren funktionieren. Mit einem Multimeter wird der Innenwiderstand der NTC Sensoren gemessen. Es muss ein Wert von 10 kΩ gemessen werden, damit die Funktionalität bestätigt werden kann.
Die Funktionalität der NTC Sensoren für die Messstellen 'vor der Brühgruppe', 'vor dem Kaffeepuck E61', 'vor dem Kaffeepuck nicht E61' und 'Auslauf' ist bestätigt.
Die Kalibrierung der Sensoren kann stattfinden nach Fertigstellung der Lötarbeiten der Bauelemente auf der Platine.
Patricia Viebke, 19.03.2022
Es ist das Aufnehmen einer ersten NTC Kalibrierkurve gelungen. Statt der Elektronikplatine wurde eine NTC Platine verwendet.
Die Kalibrierkurve wurde so aufbereitet, dass jedem Spannungswert nur ein Temperaturwert zur Verfügung steht. Die Kalibrierung ist nicht exakt, da der verwendete Sensor nicht an seinem festen Platz auf der Elektronikplatine angeschlossen war. Weiter sind die Umgebungsbedingungen nicht optimal, das den zu kalibrierenden Temperaturbereich einschränkt.
Für die Aufbereitung der Kalibrierkurve wurden die Werte nach Erreichen der maximalen Temperatur entfernt. Das Wasser fing an der Stelle das Sieden an und es wurde nicht mehr die tatsächliche Wassertemperatur gemessen. Anschließend wurden die Messwerte der Kalibrierkurve manuell erweitert. Da der Verlauf der Kurve bekannt ist, konnte die Kurve ergänzt werden. Der Bereich der Kalibrierung liegt bei den Spannungswerten von 0 bis 4096 mV. Da bei Raumtemperatur angefangen und bei knapp 95 °C aufgehört wurde zu Messen, wird der Spannungsbereich nicht vollständig kalibriert. Anschließend wurde eine Interpolation mit einem Polynom fünften Grades angewendet.
Im letzten Schritt wurde die Auflösung der Kurve angepasst. Die Kurve liegt im finalen Zustand mit einer erhöhten Auflösung um den Faktor 10 vor.
Die Kalibrierkurve wurde erfolgreich in die GUI integriert. Das Umwandeln der Messwerte in Temperaturwerte ist möglich. Die Werte sind nicht exakt, da die Kalibrierkurve eine Annäherung darstellt.
Patricia Viebke, 09.12.2021
Da beim ersten Versuch einer NTC Kalibrierung es nicht gelungen ist den charakteristischen Zusammenhang herzustellen, musste diese Ursache analysiert werden. Angefangen wurde mit der Überprüfung der Funktionalität der MCC128 Karte. Diese konnte bestätigt werden, wie bereits beschrieben. Als nächster Schritt wurde die Platine untersucht, an die die Sensoren angesteckt werden. Das Signal der angeschlossenen Sensoren wird durch eine Verbindung zum MCC128 geleitet.
Abbildung 2: Der charakteristische Verlauf ist zu erkennen. Mit zunehmender Erwärmung des Wassers sinkt der mV Wert des NTCs.
Mit einem Oszilloskop wurde an verschiedenen Stellen der Platine das Signal analysiert. Es konnte festgestellt werden, dass selbst im ruhen Zustand, also ohne Sensoren ein deutliches Rauschen wahrzunehmen ist. Ist kein Sensor angesteckt, so sollte es beim Oszilloskop keinen Signalausschlag geben. Durch weitere Untersuchungen wurde beschlossen, dass ein systematischer Fehler in der Platine vorliegt und diese als Ursache der fehlerhaften Kalibrierung gilt.
Es wurde eine Lösung gefunden mit der die Kalibrierung fortgesetzt werden kann. Mit einem Steckbrett und einer NTC Platine wurde der Anschluss zum MCC128 simuliert. Der Ablauf der Kalibrierung erfolgte nach dem gleichem Vorgehen wie bereits beschrieben am 02.12.2021.
Es ist deutlich zu erkennen, dass mit zunehmender Wassertemperatur die mV des NTC sinken. Der charakteristische Zusammenhang ist deutlich zu erkennen. Es ist geplant den Kalibrierprozess von Raumtemperatur bis 95 °C durchzuführen. Aufgrund nicht optimaler Bedingungen konnten die 95 °C nicht erreicht werden und der Kalibrierprozess musste manuell beendet werden. Die Stellen mit mehreren Werten sind die einzelnen Herdstufen, die langsam erhöht wurden. Nach Erreichen eines Temperaturmaximums, sinkt die Temperatur wieder ab. Dies liegt daran, dass das Wasser anfängt zu kochen und die Luft der Bläschen die Messwerte verfälscht. Somit konnten die geplanten 95 °C nicht erreicht werden.
Die Kurve ist im Rohzustand und muss weiterverarbeitet werden, damit sie zur Umwandlung verwendet werden kann. Der Temperaturrücklauf nach dem ERreichen des Maximums muss entfernt werden. Außerdem müssen durch das nicht Erreichen der max. Wassertemperatur von 95 °C Werte am Ende manuell hinzugefügt werden. Durch das Hinzufügen wird bei der Interpolation die Kurve "richtig geführt". Auch zu Beginn der Kurve muss eine passende Exponentialfunktion hinzugefügt werden, denn bei Temperaturen im niedrigen Bereich steigt die NTC Kurve stark an.
Die aufbereitete Kurve muss in die GUI integriert werden und gemessene mV Werte sollten annährend richtige Werte zeigen. Zu 100 % richtige Werte erhält man nur, wenn man mit der finalen Platine kalibriert, die auch beim Messen verwendet wird.
Bei vollständiger Inbetriebnahme des Pumpenprüfstandes werden die Sensoren erneut kalibriert. Dort sind auch Werte über 100 °C zu erfassen, da dort der Behälter unter Druck gesetzt wird. Mit optimierten Bedingungen lässt sich eine Verbesserung der Kalibrierwerte vornehmen.
Patricia Viebke, 02.12.2021
Die Kalibrierung der NTC Sensoren ist mittels des Kalibrierprüfstandes geplant. Da dieser noch nicht betriebsbereit ist, muss eine andere Vorgehensweise definiert werden. Ziel ist es eine Kalibrierkurve zu ermitteln, um die vom NTC gemessenen mV-Werte einer Temperatur zuzuordnen.
Für die Kalibrierung wurde ein Aluminiumbehälter mit Wasser gefüllt und auf eine Herdplatte gesetzt. Im Wasser befinden sich der zu kalibrierende NTC Sensor und der PT100. Der PT100 ist für die Aufnahme der Messwerte in °C zuständig, während der NTC die mV Werte misst. Der NTC ist während des Messprozesses mit der Platine des Raspberry Pis verbunden - gemessen wird hier über das MCC128. Der PT100 ist ein Temperatursensor, mit einem Widerstand von 100 Ohm. Für diesen muss die Messung in MATLAB mit der NI Messkarte konfiguriert werden. Hier gibt es die Option 'RDT' (Resistance Temperature Detector), das bedeutet, dass der Widerstand gemessen wird und in Temperatur umgewandelt wird. Beim langsamen Schalten der Herdstufen erwärmt sich das Wasser und die Sensoren nehmen jeweils ihre Messwerte auf. Mit einem MATLAB Skript wird die Messung gestartet. Der Aufbau des Skriptes wird anschließend erläutert.
Zu Beginn des Skriptes muss eine Verbindung mit dem Raspberry Pi hergestellt werden und die Messung mit der NI Messkarte konfiguriert werden. Mit einer while Schleife läuft die Aufnahme der Messwerte. Die Messwerte beider Sensoren werden so lange aufgenommen, bis der Messwerte des PT100 einen Wert von 95°C erreicht. Da Wasser bei 100°C das Sieden anfängt, kann nicht bis 100 °C gemessen werden, da die Siedebläschen die Messwerte verfälschen.
Während der Durchlaufen der while-Schleife werden jeweils 10 Messwerte vom NTC gemessen und diese anschließend gemittelt. Für den PT100 wird pro Durchlauf ein Wert aufgenommen. Die Werte werden einer Matrix "werte" hinzugefügt, bis die Messung vorbei ist. So hat man anschließend jedem mV-Wert des NTCs einen Temperaturwert zugewiesen. Bei der Messung ist darauf zu achten, dass die Temperatur der Herdplatt nur langsam erhöht wird, um eine maximale Anzahl an Messwerten zu erzielen.
Als Ergebnis wurde erwartet, den charakteristischen Verlauf eines NTCs wiederzuerkennen. Das bedeutet, mit zunehmender Temperatur sinkt der mV Wert. Dies konnte nicht bestätigt werden. Die Werte sind stark gestreut und vor allem konnte der charakteristische Zusammenhang nicht erkannt werden. Es wird vermutet, dass der gefertigte NTC Sensor fehlerhaft ist. Die Messung wurde mit einem im Labor vorhandenen NTC Sensor wiederholt. Er hat ähnliche Eigenschaften wie der gefertigte NTC und wurde mit einem improvisierten Adapter an die Platine des Raspberrys verbunden. Es wurde erneut das Wasser langsam erhitzt, bis die 95°C erreicht wurden. Hier konnte jedoch auch nicht der typische Verlauf eines NTCs widergegeben werden.
Es wird vermutet, dass der Fehler nicht in den Sensoren liegt sondern in der Elektronik. Daher wird eine Problemanalyse schrittweise durchgeführt. Angefangen wird mit der Bestätigung der Funktionalität des MCC128. Hierfür wurde der MEsskanal (Channel 0) mit einem Netzgerät verbunden, bei dem die Spannung variiert werden kann. Ein Multimeter wurde an die Klemmen des Netzgerätes angeschlossen, um zu sehen welche Spannung tatsächlich abgegeben wird. Um die Funktionalität des HATs bestätigten zu können, muss das MCC128 einen ähnlichen Spannungswert messen, wie das Multimeter. Für die Messung wurde ein MATLAB Skript geschrieben, welches beim Starten 100 Mittelwerte der 10 Messwerte pro Messdurchlauf liefert. Man hat also 100 Mittelwerte, die man mit dem Multimeter vergleichen kann. Es wurde bei einer Spannung von 3 Volt angefangen und in 1 V - Schritten bis 10 Volt gemessen. Nachdem unterschiedliche Spannungen zugeführt wurden bei einer jeweils Vielzahl von Messwerten kann daraus geschlussfolgert werden, dass der Fehler nicht am MCC128 liegt.
Der nächste Schritt der Problem Analyse ist die Untersuchung der Elektronikplatine. Mithilfe des Schaltplans wird die Platine mit Armin Rohnen untersucht.