Archiv verlassen und diese Seite im Standarddesign anzeigen : Pt100 mit UTI IC vom C... auswerten
spatz2222
10.06.2007, 02:09
Hi, ich lese mit einem AVR über ein UTI IC ein Pt100 aus.
geht ganz gut - jedoch gibt es eine unstabile anzeige...
Ich willst sicher keine Wunder erwarten jedoch ist das komisch ..
also bei 25°C schwankt das ganze so um ca. 0,5°C
also das ausgangssignal des UTI's auf das Oszi - deutlich zu sehen - das sich
das Ausgangssignal machmal geringfügig ändert.
liegt also an dem UTI ... nur warum - Abblockkond. OK - auf +5V keine Oberwellen - Modus beim UTI OK - ach ja das ding arbeitet im slow Modus
hat jemand erfahrung mit diesem Teil ???
wie machen die das bei Industrie PT100 Wandlern ???
hier die Adresse vom Hersteller des UTIs : http://www.smartec.nl/smartec_support.htm#7utipdf
hier eine kleine Liste der Ausgabe (werte / 10) :
265
263
263
264
264
264
261
264
263
264
264
262
262
262
262
264
261
262
262
261
260
262
264
260
262
263
262
264
262
261
262
262
262
262
262
262
262
262
263
262
262
Hallo,
ich wuerde sagen dass es ueblich ist Mittelwerte ueber zB 10 Messungen zu berechnen...dann sieht die Sache sofort anders (besser) aus.
Elektrisch muss aber alles OK sein Genug C an den richtigen Stellen,Versorgungsspannung und Leitungsfuehrung.....
Ciao
hallo,
ich möchte gerne auch mit dem AT90CAN128 über UTI einen PT100 ablesen.
Hast Du immer noch dieses Problem mit diesem Teil?
Kannst Du mir bitte deinen C-Quellcode schicken. Es ist mir immer noch nicht klar, was am Ausgang rauskommt und wie man aus diesem Ausgangswert die Temperatur ausrechnet? Wird das einfach auf einen Port angeschlossen?
Ich wäre sehr dankbar, wenn Du kurz über deine Erfahrungen schreibst.
Viele Grüsse Eugen
spatz2222
24.09.2007, 16:45
Hi,
mit einer Mittelung war das Ergebniss natürlich etwas stabiler.
Da ich jedoch das Pt100 von einem Motor Messen wollte der an einen
Frequenzumrichter hängt gab es warscheinlich Probleme mit der EMV des Umrichter bzw. der Maschine oder der Kabel.
Deshalb habe ich einen normalen PT100 --> 10V / 20mA Trennverstärker eingesetzt. Das funkt. auch recht gut.
Programm: Du startest mit einer steigenden Flanke den Timer1 und stopst diesen bei einer fallen Flanke. Nun schreibst Du den Inhalt vomTimer in eine Variable z.B. var1
Siehe Datenblatt...
nun gibt der UTI verschiedene Zeitmuster aus je nach Modus
bei Modus 5 (glaube ich) waren das 2 kurze Zeiten die gleich sind
und dann 3 oder 4 unterschiedliche Zeiten
aus dem verhältniss der 3 oder 4 unterschiedlichen Zeiten kannst Du errechen das Dein Widerstand z.B. 1.1 mal größer als der Ref. Widerstand ist - das wären bei 100Ohm Ref. also 110Ohm
wenn man sich aber das Ausgangssignal längere Zeit auf dem Oszi ansieht (Trigger auf die beiden Referenzsignale) dann sieht man das bei gleichbleibenden PT100 Widestand sich die Zeiten der Impulse des UTI's geringfügig springen. Habe auch 3 Stück probiert - bei allen 3 UTIs war es das gleiche Problem...
Hi,
Alternative ist ein meßverstärker. Die meisten geben dabei ein Normsignal 0..10V oder 0..20mA raus. Per Spannungsteiler (Volt Normsignal) oder Shunt (Strom Normsignal) kann man das dann A/D gerecht umsetzen.
Allerdings kosten die Dinger so um €30, dafür lassen die sich nicht besonders von EMV Einflüssen o.ä. stören.
Gruß
Elmar
Hi,
Danke für deine Antwort. Wenn ich richtig verstanden habe muss ich den Timer als Interupt Capture anwenden. Dann messe ich die Zeitdauer der 5 oder 6 Impulsen ( Habe momentan kein Datenblatt dabei). Daraus sind die ersten 2 zeigen auf den Anfang der Periode. Aus 4 anderen Zeiten rechne ich den Widerstandswert aus. Nach diesen 6 Impulsen kommen die nächsten 6 (neuer Wert) usw.
Die Mittelwertbildung ist auch eine gute Idee. In einem Tutorial habe ich so was gefunden. Kann es vielleicht auch für dich interessant werden.
************************************************** ********
Einfangen eines Eingangssignals (Input Capturing)
Bei dieser Betriebsart wird an den Input Capturing Pin (ICP) des Controllers eine Signalquelle angeschlossen. Nun kann je nach Konfiguration entweder ein Signalwechsel von 0 nach 1 (steigende Flanke) oder von 1 nach 0 (fallende Flanke) erkannt werden und der zu diesem Zeitpunkt aktuelle Zählerstand in ein spezielles Register abgelegt werden. Gleichzeitig kann auch ein entsprechender Interrupt ausgelöst werden.
Wenn die Signalquelle ein starkes Rauschen beinhaltet, kann die Rauschunterdrückung eingeschaltet werden. Dann wird beim Erkennen der konfigurierten Flanke über 4 Taktzyklen das Signal überwacht und nur dann, wenn alle 4 Messungen gleich sind, wird die entsprechende Aktion ausgelöst.
************************************************** ********
Also Du misst die Temperatur im Motor mit PT100 und deine Auswerteelektronik befindet sich weit von der Messtelle (lange Leitungen). Deshalb benutzt Du einen Signalverstärker. Kannst du mir bitte kurz erklären, wie dieser Verstärker funktioniert und wie kann mann so was selber bauen.
Mit freundlichen Grüssen
Jon
hallo,
Ein pt100 an einem Motor braucht keine genauen (auf 0.5°C) Werte bringen.
Beim Messen sollte man wissen warum man misst. Man misst um festzustellen ob ein Motor wegen Ueberlastung oder was auch immer die max Arbeitstemperatur ueberschreitet. Beim erreichen eines Schwellwertes soll der Motor (normalerweise ) abgeschaltet bzw ein Alarmsignal ausgeloest werden.
5 oder 10 °C mehr oder weniger spielen da keine Rolle...
Viel wichtiger ist es die Daten ( t_max) des jeweiligen Motors zu kennen.
Wenn viele Stoerungen zu erwarten sind (FU) ist unbedingt abgeschirmtes Kabel zu verwenden....und mindestens Dreileitertechnik.Auswertegeraete kommen normalerweise in den Schaltschrank (falls vorhanden) bei heutiger Mechatronik wird alles am Ort (im Motorengehaeuse) untergebracht und ueber Feldbuss in den Kontrollraum geleitet.
Hallo,
das ist sehr interresannt. Ich mache jetzt auch so änliches, und zwar entwickele ein CAN-Modul mit 8 Kanälen für die Temperaturmessung. Als Fühler wird PT100 oder PT1000 angewendet. Momentan überlege ich, welche Schaltung ich für die Temperaturmessung nehme. Das schwierigste ist die präzise und stabille Konstantstromquelle zu bauen. Die UTI ist auch sehr gute Alternative, da die schon alles drin hat. Die Frage ist nur, wie genau ist die Messung. Ich möchte schon die Temperatur im Bereich von -50 bis 250 Grad messen mit Genauigkeit 0,1°C. AT90CAN128 hat den AD-Wandler mit 10 Bit Auflösung, d.h. es wird in 0,3°C Schritten gemessen. Jetzt quälle ich mich mit dem externen AD-Wandler (AD7856AR, 14 Bit, 8 Kanäle). Er wird über SPI-Bus angesteuert. Ich habe mit SPI noch nicht gearbeitet. Programmierst Du auch mit AVR? Hast Du vielleicht irgendwelche Beispiele in C für SPI?
Danke noch mal für deine Hilfe.
Viele Grüsse
Jon
Wow,
0,1°C? Wo kriegst du denn die Sensoren her?
guidob
at
jan
Jetzt bleibt mal auf dem Teppich.
Bei dT von -50°C bis 250°C = 300K entsprechen 0,3K 1promill. Das bringen sonst nur beste Laborgeräte.
Am Besten verringerst und/oder teilst Du den Messbereich, dann schafft es Dein Atmel locker auf 0,1K. Und eine automatische Bereichsumschaltung ist jawohl so schwer weder zu proggen noch in HW zu gießen ODDER:D
ja das ist echt lustig....
bei -50°C warten die Elektronen auf Vorheizung...
bei 250°C ist der Motor schon laengst abgeraucht
Frequenzumrichter mit massig Spikes Dank PWM und Mosfets....
und gleich daneben 14 Bit A/D ...das ist eine Hochzeit !
aufdembodenbleiben...dennwermisstmisstmist
ja, lustig und traurig zugleich.
@Jon,
mach dich erst mal schlau und informiere dich ueber den Unterschied zwischen "Aufloesung" und "Genauigkeit" - ist nicht fies gemeint, es gibt (zu) viele Leute, die das nicht unterscheiden (koennen).
Hi,
Ja, sorry. Ich habe hier natürlich die Auflösung gemeint.
Und Ihr seid wirklich gemein!!! :mad:
Und Ihr seid wirklich gemein!!! :mad:stimmt nicht! es sieht anfangs nur so aus ;)
ja ja , Geisterstunde....da werden die Bit's gefeilt damit sie ein besonders gutes Signal / Rauschverhaeltnis bringen :cool:
spatz2222
25.09.2007, 11:14
Hi,
hapt ja alle Recht - wegen der Temp. Messungen - ich erwarte auch nicht eine Genauigkeit von 0,1°C oder so aber einen stabilen Wert ...
Ich arbeite zu dem im Prüffeld - da geht es manchmal schon um 1 oder 2°C aber nicht weil die Maschine abbrennt sonder um noch in gewisse Wärmebeständigkeitsklassen zu kommen. Desweiteren ist es beim Kühlwasser mit einer Menge von z.B. 300l/min schon wichtig zu wissen ob das zu oder Abfließende Kühlerwasser z.b. 22,5°C oder 23,0°C besitzt - gerade da kommt es auf ein genaues Delta zwischen Wasser Zu- und Abluß drauf an - weil das ja schon eine ganz schöne Engeriemenge ist die das Wasser bei 300l/min abtransportiert... aber ob die Messung da nun stimmt ? Habe mal gelernt : eine Messung ohne Angabe der messunsicherheit sollte man lieber garnicht erst durchführen !!!
aber 1% bei PT100 ist OK aber bei 300°C Endwert sind das auch 3°C (obwohl ja die PT100 lt. Datenblatt immer recht genau sind...)
habe dann ja auch solch einen Pt100 --> 10V / 20mA Wandler genommen - der ging recht gut !!!
besitzt jemand einen Schaltplan von solch einen Normsignalwandler ???
viele Grüße
Hi,
wie wäre es mit einem digitalen Sensor? Wesentlich einfacher an einen µC anzubinden und man hat keinerlei Sorgen mit Störungen auf Analogleitungen.
Ich habe kürzlich einen Datenloggerchip gesehen. DIL-8 mit eingebautem Speicher und RS232 Anbindung. Zwar nicht für einen Motor geeignet, aber man kann da Prima einen sehr kleinen Temperaturdatenlogger draus basteln bzw. Temperaturen auf der Platine überwachen.
Gruß
Elmar
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.