Hallo zusammen! Ich hab mich hier mal durch die diversen Beiträge zu diesem Thema durchgelesen. So bin ich auf die Idee dieser Schaltung gekommen. Jetzt würde ich gerne eure Meinung hören ob eine Temperaturmessung mit dieser recht simplen Schaltung an einem Atmega möglich ist. Die Verstärkung des OPs müsste man mit R3 und R4 einstellen. Hier wären eure Vorschläge zur Dimmensionierung interessant. Gewünscht wäre eine Auflösung von 0,1 K. Die Genauigkeit wäre dann zu testen und evtl. per Software anzugleichen. Bin auf eure Meinungen gespannt! Chris
Hallo, ich kenn den PT100 nicht aus eigener Erfahrung und eine Betriebsspannung steht an Deiner Schaltung auch nicht, aber: bei angenommen 5V Vcc sind das bei 20 Grad über 0,1W Verlustleistung am PT100. Da dürfte Eingenerwärmung je nach Meßumgebung schon erhebliche Meßfehler verursachen können? Gruß aus Berlin Michael
>Gewünscht wäre eine Auflösung von 0,1 K. Das ist kein Problem. >Die Genauigkeit wäre dann zu >testen und evtl. per Software anzugleichen. Als Grenze der Temperaturmessgenauigkeit, die sich mit Hobbymitteln für weder sehr hohe noch sehr niedrige Temperaturen erreichen lässt, kann 1 °C genannt werden.
Wieso nimmst du nicht ne Konstantstromquelle mit OPV (ist dann schon sehr gut Temperturkompensiert) und Z-Diode. Du lässt damit einen fest definierten Konstantstrom durch den PT100 fließen und greifst den Spannungsabfall mittels Differenzverstärker (V=2) am PT100 ab. Wenn du nen PT100 mit 10k nimmst, benötigst du für 2,5V Messgröße nur 125µA und hast Verlustleistung von 156,25µW. Wenn du alles mit ordentlichen Verstärkern und Layout machst, kannst du extrem genau messen. Hab nach diesem Prinzip schon eine Messung mit 10mK Genauigkeit gebaut.Allerdings nicht Privat, da kommt man mit wenig Mitteln nicht so weit. Gruß Alexander
P.S. Die erreichten Genauigkeiten sind auch nur in temperierten Prüfräumen ermittelt wurden.
Erst mal vielen Dank für die schnellen und vor allem vielen Antworten! Ich weiss natürlich dass man den PT100 normalerweise mit ner Konstantstromquelle in der Größenordnung 1 mA misst. Ziel der Schaltung ist lediglich mit minimalem Bauteilaufwand eine Auflösung von 0,1 K zu erreichen. Michael U., dass bei 5V die Eigenerwärmung wohl deutlich zu hoch wäre, damit hast du natürlich recht. Ich hatte aber eh im Hinterkopf mehrere Fühler (Achtzonenregler) zu betreiben. Diese wären dann per Multiplexer gepulst. Es würden bei 5V also ca. 25mA über den PT100 fliessen, allerdings nur für die Zeit der Messung. Dies könnte man aber sicher auch noch mit einer geringeren VCC und/oder mit einem anderen Spannungsteilerverhältnis optimieren. Man müsste eben R2 und R5 dementspechend vergrößern. Mich interessiert an erster Stelle ob die Schaltung so prinzipiell überhaupt funktionieren würde? Wenn es keine grundsätzlichen Fehler gibt dann kann man sich über die Dimmensionierung der Bauteile Gedanken machen. Ich würde gerne einen Prototypen der Schaltung bauen. Bin für alle Vorschläge offen! Chris
@Alexander Liebhold (lippi2000) Wenn du nen PT100 mit 10k nimmst, benötigst du für 2,5V Messgröße nur 125µA und hast Verlustleistung von 156,25µW. Es gibt keine PT100 mit 10KOhm die haben immer 100 Ohm bei 0 Grad eventuell kann man noch PT1000 nehmen. @Chris (Gast) Die Schaltung hat das Problem zuviel Strom ueber den PT100 fliessen zu lassen. Das zweite Problem ist das du keine 4 Draht Messung machen kannst. Da gehen deine Leitungswiderstaende schon ganz schoen in die Messung ein. Bedenke 0.38 Ohm ist 1 Grad Temperatur. Mehr zu dem Thema ist schon hier abgehandelt worden inclusive Schaltungen mit Multiplexern um mehrere Messstellen zu messen. Beitrag "Temperaturmessschaltung möglichst genau?" Gruss Helmi
Kurz mal überschlagen: 25 mA * 0.385 Ohm = 9.625 mV pro °C bzw. 962.5 uV für 1/10 °C 5V / 1024 ~ 0.00488 mV Angenommen der Temperaturbereich ist 0 °C - 100 °C (100 Ohm - 138.5 Ohm) 25 mA * 100 Ohm = 2.5 V bzw. 25 mA * 138.5 = 3.4625 V Viel verstärken geht da nicht mehr... Wenn das Ergebnis des ADCs noch verrauscht genug ist, könnte man das mit Oversampling lösen (64-fach). > Ziel der Schaltung ist lediglich mit minimalem Bauteilaufwand eine > Auflösung von 0,1 K zu erreichen. Minimaler Aufwand: ADuC847 oder MSC12xx (Controller, 24-Bit ADC + Stromquellen integriert beim MSC12xx käme man afair auch ohne externene Multiplexer aus)
Vielen Dank für den Link helmi! Also ich hab meinen Entwurf nochmal schnell geändert und jetzt fließt nur noch ca. 1 mA über den Pt100. Würde es jetzt so prinzipiell funktionieren? Die den Fehler durch die 2-Draht Messung würde ich hier jetzt mal ignorieren. Für eine Testschaltung ist der eh est mal egal und man könnte den Leitungswiderstand per Sofware berücksichtigen. Ich habe in der Praxis auch schon mehrere PT100 Fühler an einen Regler von PMA mit nur 2 Drähten angeschlossen (also mit Brücken am Regler) und der Messwert zeigte in der Praxis KEINE Abweichung zu einer 4-Draht Schaltung. Auflösung war hier auch 0,1 K und die Leitung (Telefonkabel) war ca. 2 Meter lang.
Im prinzip ja. Aber wie willst du denn den PT100 Multiplexen ? Bei 2m Kabel geht es gerade noch ca. 0.3Grad Fehler. Gruss Helmi
Chris, im Prinzip arbeitet Deine Schaltung schon, indem Du den PT100 als einen von vier Brückenwiderständen einsetzt. Die Auslegung der Brückenwiderstände muss halt am Temperaturbereich und am maximalen Strom durch den Fühler angepasst sein. Der OP am Ausgang muss außerdem gewisse Anforderungen bzgl. T-Drift erfüllen, und der sollte auch am Ausgang Rail-to-Rail können. Ferner müssen Deine anderen drei Brückenwiderstände einen max. Tk von 25 ppm/K aufweisen, andernfalls macht die Brücke bei Erwärmung der Elektronik bereits zu große Fehler. Ich habe eine solche Schaltung schon mal entwickelt -- der OP-Ausgang geht auf einen µC, der dann per Tabelleninterpolation die Temperatur als PWM ausgibt. Gruß Dieter
Multiplexen könnte man indem man die Schaltung an VCC mit einem Transistor oder MOSFET oder evtl. soga einem Multiplexer (alles über Mikrocontrollerpins gesteuert) ein und ausschaltet. Auswertung erfolgt z.B. nacheinander über je einen der acht ADC Eingänge eines Atmega16 (Single Conversion Mode). Das ganze wid dann per Software nach entsprechender Kalibration ausgewertet und interpoliert. Ich denke mit Metallschichtwiderständen (1%) und einem entsprechendem OPV müsste man bereits recht gute Ergebnisse erzielen können. Potis will ich keine verwenden. Den Temperaturbereich nehm ich jetzt mal recht großzügig von -20 bis +80°C an. Das ganze soll mal die Lagertanks meiner Hobbybrauerei kühlen. Der wirklich interessante Bereich liegt hier also ca. zwischen 0 und 20°C. Wenn man so eine Auflösung von 0,1K eziehlt und die Genauigkeit erst mal egal ist da sie per Software angeglichen wird wäre der Vorteil dieser Schaltung der sehr geringe Bauteilaufwand (nur Widerstände und nur ein OPV pro Fühler). Durch die Brückenschaltung spart man sich eine Konstantstromquelle und wenn man die Brücke so dimmensioniert dass nur 1 mA duch den Pt100 fliessen könnte man ja auch ständig Strom durchlassen. Ich werde mich heute Abend mal an die Auswahl und Dimmensionierung der Bauteile machen. Chris
Hallo Chris Wenn du die Schaltung in 4 Leitertechnik machen wuerdest kannst du als Umschalter einfache Analogschalter nehmen . Die On-Widerstaende der Analogschalter fallen dann raus. Schau dir mal meine letzte Schaltung dazu an in dem anderen Thread. Da werden 4 PT100 gemultiplext. Gruss Helmi
@ helmi deine Schaltung habe ich bereits mut großer Bewunderung begutachtet! Sieht wirklich sehr vielversprechend aus! Leider hatte ich noch nicht die Zeit mich so intensiv mit deiner Schaltung zu beschäftigen um jedes Detail de doch etwas komplexeren Schaltung zu verstehen. Wie du die Fühler mit den 4052N multiplext ist klar, aber die Auswerteschaltung mit den diversen OPVs müsste ich mir noch mal genauer anschauen. Um dem Controller zu programmieren sollte man dann ja doch wissen was sich da in der externen Hardware tut ;-) MfG Chris
@Chris Die Schaltung mit U2C,U6,U7 stellt einen Dual-Slope ADC da. Wenn du einen anderen ADC hast brauchst du ihn nicht. Die eigenliche PT100 Schaltung ist U2D,U2B,U5A,U5B. U3,U4 ist der Multiplexer , hier kannst du auch 4051 8-Fach Multiplexer einsetzen wenn du 8 Kanaele brauchst. Gruss Helmi PS. Wann ist das Bier fertig ?
@helmi: Vielen Dank dass du dir so viel Mühe gibst mir zu helfen! Da ich mit anologen ICs so wie OPV nicht wirklich viel Erfahrung habe wollte ich die Schaltung so einfach wie am Anfang gepostet aufbauen, da ich da noch verstehe wies funktioniert. Da du dich ja anscheinend sehr gut auskennst wäre es nett wenn du mir ein paar Fragen beantworten könntest. Fangen wir mal ganz vorne an: Kannst du mir in ein paar Worten erklären wie die Temperaturmessung bei dieser Schaltung funktioniert? Also R10 ist für den Nullpunktabgleich und mit R9 kann man im Prinzip die Verstärkung von IC1B einstellen, richtig? Aber was macht die Schaltung an IC1A? Mir fehlt da irgendwie die Verbindung zu GND am PT100!? R6 und R7 bilden nen Spannungsteiler der 2,5V liefert. Mit dem rest kann ich gerade noch nichts anfangen... P.S: Das Bier ist in zwei bis drei Wochen fertig
IC1A ist eine Konstantstromquelle sie sorgt dafuer das immer in diesem Beispiel 5mA durch den PT100 fliessen. Wenn am OP Pin 3 jetzt 2.5V anstehen dann stehen aufgrund der Gegenkopplung an Pin 2 auch 2.5V an. Damit fallen ueber den R5 jetzt konstant 2.5V ab -> konstanter Strom durch den PT100. Am Pin 1 des OPs stehen jetzt 2.5V - (R4 * 5mA) an. Also wird die Spannung kleiner wenn die Temp. steigt. Der nachfolgende Verstaerker invertiert das jetzt wieder daher die Spannung an Pin 7 steigt mit der Temperatur. Mit Poti R10 wird jetzt der Offset den Schaltung bei 0 Grad abgezogen. Ergebnis 0V bei 0 Grad und 5V bei 5 Grad. Bei negativen Temperaturen geht die Spannung auch in negative. Allerdings kann diese Schaltung keine 4 Leitermessung. Die anderen Schaltungen schon. Auch ist es hier problematisch Analogmultiplexer einzusetzen. Hier noch eine kurze Beschreibung der PT100BOX3. Mit U1 (LM385-1.2) wird eine stabile Referenzspannung erzeugt (1.2V). U2D bildet mit R4,R5 eine Konstantstromquelle wie oben beschrieben. C1,C2,R1,R2,C3 dienen der besseren EMV. U3 multiplext jetzt diesen Konstantstrom auf die PT100 die an X1..X4 angeschlossen sind. Da hier ja ein Konstantstrom fliesst ist der On Widerstand der Analogschalter hier voellig uninteresant. Der 2. Multiplexer U4 fragt jetzt die Spannung die ueber dem PT100 liegt ab. Da die Eingaenge der OP's U5A und U5B ja hochohmig sind spielt auch hier der On-Widerstand des Analogschalters keine Rolle. U5B und U5A bilden hier einen Differnzverstaerker mit Offsetsubtraktion. U2B invertiert die Referenzspannung von 1.2V nach negativen Werten hin. Damit wird erreicht das wenn der PT100 0 Grad misst auch am Ausgang (u5A pin 1) 0V ausgegegen werden. Die anderen OP's und Analogschalter bilden einen Dual-Slope Ad-Wandler mit 14 Bit aufloesung. Die eigentliche AD-Wandler fuehrt Timer 0 des AT89C4051 Prozessors aus. R18,R19,C5,C6 dienen auch hier der EMV. C21 unterdrueckt eventuelle Schwingneigung des OP's. Der AD-Wandler funktioniert folgendermassen: Zuerst wird eine konstante durch die Software vorgegebene Zeit der Kondensator C7 aufgeladen. Dann wird er durch die Referenzquelle entladen. Diese entladezeit wird gemessen und entspricht dabei der Spannung an Pin 1 U5A. U7B ist dabei als Integrator geschaltet. U7A dient als Komparator um festzustellen wann der Integrator wieder 0 V erreicht hat. Q1 dient der Pegelanpassung an den Prozessor. Die Ladezeitkonstante bestimmt dabei R20 u. C7. Der Prozessor ist ein AT89C4051 (8051 Derivat). U8 bildet die RS232C Schnittstelle. Vom MAX232 (U8) werden die Ladungspumpen neben der Versorgung der RS232 Schnittstelle auch noch zu Versorgung der OP's herangezogen. Es muss darauf geachtet werden das hier nur TL06x OP's eingesetzt werden aufgrund des Stromverbrauchs. Deshalb muessen hier in diesem Fall auch die Kondensatoren des MAX232 mit 10 uF bestueckt werden. Ich hoffe dir hiermit weitergeholfen zu haben. Viel Spass beim bauen und brauen. Fuer weiter Fragen stehe ich erst morgen Nachmittag wieder zu verfuegung. Gruss Helmi
> Auflösung von 0,1K [...] Vorteil dieser Schaltung der sehr geringe Bauteilaufwand Geringer Aufwand? Für Dich wäre ein DS18B20 sinnvoller. Ein Bauteil. Passt zum Temperaturbereich. 0.0625K Auflösung, 0.5K Genauigkeit. Multidrop-fähig (beliebig viele Sensoren an maximal drei Leitungen).
@helmi: Vielen Dank für die Ausführliche Erkläung deiner Schaltungen! Ich habe soweit alles verstanden denke ich. Jetzt siehts auch nicht mehr so kompliziert aus ;-) Du hast mich überzeugt die Messung nach deiner Schaltung im 4-Draht Anschluss durchzuführen. Wenn alles läuft gibts eine Bierprobe ;-) @Dietmar: Ein anderer Temperaturfühler als ein PT100 kommt hier nicht in Frage da 1. alles Lebensmittelgerecht im Edelstahlgehäuse sein muss, 2. ich die fertigen Fühler schon da habe und 3. Pt100 im Brauerumfeld nun mal Standard ist Der Grund warum ich den Regler selber baue ist dass es 1. keinen vernünftigen Mehrzohnenregler für Pt100 und entsprechenden Kenndaten gibt, 2. ich keine Lust habe acht einzelne Regler zu verbauen, 3. man so praktischerweise Erweiterungen wie z.B. eine Ethernet- schnittstelle zur Fernüberwachung und Bedienung einbauen kann und 4. selber machen auch noch Spaß macht und man was dabei lernt ;-) Ich finde es super dass es ein Forum wie dieses gibt und vor allem Leute die einem so schnell und gut helfen wie helmi. Viele Grüße, Chris
Noch ein paar Anregungen... http://www.analog.com/UploadedFiles/Associated_Docs/19635672SigmaDeltaADCWhitepaper.pdf http://focus.ti.com/lit/an/sbaa110/sbaa110.pdf
Chris, die Genauigkeit der 1%igen Widerstände in der Brücke kannst Du sicherlich ausgleichen, aber sie werden die üblichen 100 ppm/K haben, und das ist in der Brücke zu viel. Man darf nämlich nicht annehmen, es sei dann halt auch eine Änderung der Temperatur von nur 100 ppm/K -- sondern man muss es auf den möglichen Swing der Brückenspannung für den Temperaturbereich beziehen, und da sieht's gemeinhin ungünstiger aus. Wenn Deine Elektronik auch Temperaturschwankungen ausgesetzt ist, kannst Du möglicherweise bis zu 0,5 K oder sogar mehr Drift bekommen zwischen 20 °C und 60 °C. Aber wenn Du denkst, Deine Elektronik wird immer konstante Temperatur haben, dann macht's nichts aus. Gruß Dieter P.S.: Übrigens auch mit der Brückenschaltung kann man eine Quasi-Vierleitertechnik anwenden.
So, ich hab jetzt mal eine Schaltung für 8 PT100-Fühler gezeichnet die auf der von helmi basiert. Es wäre nett wenn ihr meinen Entwurf mal auf Fehler prüfen könntet! Gruß, Chris
Hallo Chris So wie ich das sehe ist das so in Ordnung. Na dann bau mal auf. Als ADC verwendest du wohl den ADC vom AVR ? Gruss Helmi
Hallo Helmi, leider kann ich noch ned anfangen mit Basteln weil ich erst noch Bauteile bestellen muss. Aber wenn keine Fehler drin sind kann die Bestellung ja raus. Ja richtig, ich will den ADC von AVR verwenden. Die Auflösung von 10 Bit will ich erhöhen indem ich je 64 Messergebnisse addiere. Das passt dann noch in 2 Byte. Von diesem Ergebnis verwende ich dann nur die ersten 13 Bit. 2^13 = 8192 Schritte. Ein Schritt würde bei einem Temperaturbereich von 0..100°C (alternativ auch -20..+80°C) 0,0122°K entsprechen. Anhand dieser Messwerte soll die Software dann entscheiden wann die Temperatur um 0,1K gestiegen/gesunken ist. Das ganze ist ja nicht wirklich zeitkritisch. Die Steuerung bekommt auch noch ein Anzeige- und Bedienelement mit acht Temperaturanzeigen mit je 3 Siebensegmentanzeigen. Neben einer RS232 Schnittstelle und TWI ist auch noch eine Ethernetschnittstelle vorgesehen. Ethernet werde ich aber erst implementieren wenn sonst alles funktioniert. Ich werde euch berichten wie gut alles funktioniert und natürlich auch den Code und die Layouts hier veröffentlichen. Gruss, Chris
Hallo Chris Kannst ja schon mal mit dem Layout anfangen. Wenn du da ein Ethernet dran hast und die Daten in eine Web-Seite packst kann man sich deine Biertemperatur ja im Internet ansehen. Ich habe das auch mal gemacht mit der PT100 Box und einen selbstgebauten Web-Server Gruss Helmi
Hallo Helmi, ja, bin gerade dabei das Layout zu erstellen. Eine Frage hätte ich noch an dich: Wie hast du die Widerstände R9(200K), R11(115K) und das Poti R10(0..10K) dimmensioniert? Ich hab das so Verstanden dass man mit dem Poti die Verstärkung am invertierenden OPV einstellt. Die müsste ja meiner Meinung nach -1 sein. Mit -((R10+R11)/R9) müsste R10+R11 ja eigentlich 200K sein? Inwiefern haben R16 und R17 da noch Einfluss? Ich denke mal ich hab da noch nen Denkfehler drin? Wegen dem ADC von AVR ist Referenzspannung bei mir ja 2,5V. Deshalb die Frage wie ich den Inverter auslegen muss. Das mit der Biertemperatur im Netz ist genau der Grund warum Ethernet dran soll. Dient sowohl der Fernüberwachung wie auch der Steuerung. Bei Interesse kann ich euch dann nen Link zum Server zukommen lassen. Öffentlich posten werd ich ihn aber wohl lieber nicht ;-) Gruss Chris
Hallo Chris Ich habe dir mal die Berechnungen des Verstaerkers zusammengestellt. Gruss Helmi
> Ja richtig, ich will den ADC von AVR verwenden. Die Auflösung von 10 Bit > will ich erhöhen indem ich je 64 Messergebnisse addiere. Das passt dann > noch in 2 Byte. Von diesem Ergebnis verwende ich dann nur die ersten 13 > Bit. 2^13 = 8192 Schritte. Vielleicht stehe ich ja jetzt etwas auf dem Schlauch, aber wie zum Teufel kann man die Auflösung von mehreren 10-Bit-Messungen durch Addition erhöhen? Nehmen wir mal an, deine Schaltung ist optimal aufgebaut, und du hast kein Rauschen. Dann wirft dir dein ADC 64-mal hintereinander den selben Wert aus. Diese addierst du, ... Wenn du an den 10-Bit-Wert einfach drei Nulllen anhängst, hast du das selbe Ergebnis.
Danke Helmi, werds mir gleich mal durchlesen! @Stefan Ernst Wenn die Schaltung nicht rauscht dann hast du wohl recht. Dann könnte ich ja auch recht zuverlässig davon ausgehen dass der gelieferte 10 Bit AD-Wert exakt richtig ist. Man hätte also schon eine zuverlässige Auflösung von 100K / 1024 = 0,09765K. Da aber davon auszugehen ist dass dem nicht so ist versuche ich mit Hilfe der Mathematik sprich Statistik die Genauigkeit zu erhöhen. Bei den 64 Messungen wird das Ergebnis immer etwas schwanken. Die Verwendung der ersten 13 Bit entspricht ja im Prinzip dem Durchscnitt von 64 Messungen unter Berücksichtigung der ersten 3 Kommastellen des Durchschnitts. Dies entspricht praktischerweise eine Auflösung von 0,012K. Anhand dieses Wertes wird die Auflösung ja dann wieder auf 0,1K reduziert. Das ganze kostet ja nix und etwas genauer sollte es so schon werden. Ich lass mich aber wie immer gerne belehren ;-) Gruss, Chris
Auch die Genauigkeit eines Durchschnittswertes ist maximal so groß, wie die Genauigkeit der einzelnen Messungen. Einfaches Beispiel: Signal: 0-5V ADC: 1 Bit (0 = 0-2,5 , 1 = 2,5-5) 8 Messungen: 0,0,0,0,0,0,0,1 Deiner Methode nach addiere ich die 8 Messungen, verwende dann aber nur die ersten 4 Bit, macht einen Durchschnitt von 0 bei 4 Bit Auflösung, also 0 - 0,3125 V. In Wirklichkeit aber war das Signal 7 Messungen lang bei 2,4V und bei der 8. bei 3V, macht einen realen Durchschnitt von 2,475V. Du kannst es drehen und wenden wie du willst, deine zusätzlichen 3 Bit enthalten einfach nur beliebigen Müll.
Das was du da machst hat aber rein garnix mit meiner Rechnung zu tun! Bei einer Auflösung von 1 Bit und 8 Messungen kann die Summe maximal 8 werden was nur 3 Bit entspricht! Von 3 Bit kann man nun mal nicht "die ersten 4 Bit" verwenden! Deine Rechnung ist also Müll! Denk mal drüber nach.
Ok, du hast Recht, also verwende ich nur die ersten 2 von den 3 Bits, macht als rechnerisches Ergebnis 0 bei 2 Bit Auflösung = 0 - 1,25V. Real immer noch 2,475V, also eigentlich 1 innerhalb der 2 Bit. Du kannst höchstens versuchen, durch Durchschnittsberechnung die Genauigkeit innerhalb der 10 Bit zu erhöhen, aber selbst das ist fraglich, da du ja nicht weißt, wie das Rauschen verteilt ist. Es ist nicht zwangsläufig gleichmäßig um einen Mittelpunkt verteilt.
Chris, wenn die Auflösungserhöhung sinnvoll sein soll, muss Dein Rauschsignal (oder auch ein Dreieckssignal) von definierter Amplitude sein, andernfalls bekommst Du immer diskrete Stufigkeit. Dieter
Da magst du recht haben, aber versuchen kann man es ja. Die Auflösung von 0,0976K ist ja genau die die ich am Ende haben will um sie darzustellen. Ich will halt nicht dass die Anzeige "flattert". Deshalb "mach ich einfach mal 2 Byte" voll und schau dann was drinsteht. Theoretisch reicht mir also der 10 Bit Durchschnittswert. Aber was spricht dagegen moch ein paar Bits mehr zu verwenden um Tendenzen von Temperaturänderungen zu erkennen. Angezeigt wird ja letztendlich nur eine Auflösung von 10 Bit.
Die zusätzlichen Bits enthalten keinerlei verwertbare Information, auch nicht bezüglich der Tendenz. Dein 13-Bit-Durchschnitt kann in den letzten Bits sinken, während der reale Durchschnitt tatsächlich gestiegen ist.
Nur damit du mir auch glaubst, nochmal ein Beispiel: ;-) Der ADC hat eine Auflösung von 0,1V und du machst zwei Messreihen. Bei der 2. Reihe hast du die gleichen Messwerte, wie bei der ersten, nur einer ist um 1 kleiner. Dein berechneter Durchschnitt ist also kleiner geworden. In Wirklichkeit aber waren bei der ersten Reihe die Werte immer am unteren Ende der Auflösung (2,3 gemessen, real 2,30) und bei der zweiten Reihe immer am oberen Ende (2,3 gemessen, real 2,39). Der reale Durchschnitt ist also größer geworden.
Einfache Beschreibung warum Oversampling zum Erhöhen der Auflösung benutzt werden kann z.B. hier http://www.atmel.com/dyn/resources/prod_documents/doc8003.pdf Mehr Theorie: http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Precision_Mixed-Signal/en/an118.pdf http://www.cirrus.com/en/pubs/appNote/an37.pdf
Also ich würde mich ja wirklich gerne von dir überzeugen lassen. Aber leider hat mich bis jetzt keines deiner Beispiele überzeugt. Dein letztes Beispiel ist zwar theoretisch möglich, aber die Wahrscheinlichkeit solche Messwerte zu bekommen ist verschwindend gering. In diesem Dokument findet man etwas über Signalmittelung: http://www.praktika.physik.uni-bayreuth.de/Signal_Rausch.pdf und hier: http://de.wikipedia.org/wiki/Signal-Rausch-Verh%C3%A4ltnis In Meinem Beispiel würde das ja bedeuten dass das Signal-Rausch-Verhältnis um den Faktor sqrt(64)=8 verbessert wird. 8 entspricht eben jenen zusätzlichen 3 Bit. Noch mal zum Verständnis: Ich behaupte ja nicht dass mein gewonnener 13 Bit Wert genau einem realem Wert entspricht. Ich denke aber dass der Wert in etwa so aussagekräftig ist wie das Ergebnis EINER 13 Bit Messung. und egal wie viele Bits ich Messe, meine Wertetabelle hat am Ende immer eine Auflösung von 0,1K. Da Schittweite beträgt dann eben entweder 1024/1000=1,024 oder 8192/1000=8,192 Bit. Und wenn ich will begrenze ich den Messbereich z.B. auf 0-50°C und schon ist die Auflösung bezogen auf °C nochmal verdoppelt. Gruss, Chris
The theory behind ‘Oversampling and decimation’ is rather complex, but using the method is fairly easy. The technique requires a higher amount of samples. These extra samples can be achieved by oversampling the signal. For each additional bit of resolution, n, the signal must be oversampled four times. Which frequency to sample the input signal with, is given by Equation 3-1. To get the best possible representation of a analog input signal, it is necessary to oversample the signal this much, because a larger amount of samples will give a better representation of the input signal, when averaged. This is to be considered as the main ingredient of this Application Note, and will be further explained by the following theory and examples. Equation 3-1. Oversampling frequency f_oversampling = 4^n*f_nyquist Danke Arc Net! Ich wusste doch dass ich das schonmal gelesen hatte, aber nicht mehr genau wo! Auch hier wieder: Um die Auflösung um 3 Bit zu erhöhen benötigt man 4^3=64 Messungen. Glaubst du mir jetzt Stefan Ernst? ;-)
Chris, das ist aber nur die halbe Wahrheit. Das Oversampling bringt nur dann etwas, wenn Wertestreuungen geeigneter Art vorliegen. Ein Gleichspannungssignal, das um 1/8 Quantisierungsstufe neben einer möglichen Schwelle liegt, wirst Du als solche nicht ausmachen können, indem Du einfach Oversampling machst. Da muss schon noch eine Überlagerung dahinterstecken. Außerdem: Der AD-Wandler hat auch noch Nichtlinearitäten, was bewirkt, dass selbst bei "geeignetem" Oversampling Effekte wie "Missing Codes" bei den durch Oversampling entstandenen Bits vorkommen. Was sich auf jeden Fall einstellen wird, ist eine Beruhigung Deiner Ausgabewerte. Wenn es Dir darum geht, dann ist es sinnvoll. Gruß Dieter
Chris wrote: > Dein letztes Beispiel ist zwar theoretisch möglich, aber die > Wahrscheinlichkeit solche Messwerte zu bekommen ist verschwindend > gering. Es ist nur ein Beispiel, was passieren kann. Natürlich ist es ein extremes, damit man den Effekt sofort sieht und nicht erst lange nachrechnen muss. > In Meinem Beispiel würde das ja bedeuten dass das > Signal-Rausch-Verhältnis um den Faktor sqrt(64)=8 verbessert wird. 8 > entspricht eben jenen zusätzlichen 3 Bit. Nein, nur innerhalb deiner 10 Bit (wenn zb die letzten 3 der 10 Bit verrauscht sind), keine zusätzlichen Bits. > Equation 3-1. Oversampling frequency > > f_oversampling = 4^n*f_nyquist > > Danke Arc Net! > Ich wusste doch dass ich das schonmal gelesen hatte, aber nicht mehr > genau wo! > Auch hier wieder: Um die Auflösung um 3 Bit zu erhöhen benötigt man > 4^3=64 Messungen. Du willst mit Oversampling arbeiten? Wie ist denn die Nyquist-Frequenz beim Temperaturverlauf deines Bieres so in etwa? > Noch mal zum Verständnis: Ich behaupte ja nicht dass mein gewonnener 13 > Bit Wert genau einem realem Wert entspricht. Ich denke aber dass der > Wert in etwa so aussagekräftig ist wie das Ergebnis EINER 13 Bit > Messung. Ja, so aussagekräftig wie das Ergebnis einer 13-Bit-Messung, bei der die letzten 3 Bit verrauscht sind. ;-) > Und wenn ich will begrenze ich den Messbereich z.B. auf 0-50°C und > schon ist die Auflösung bezogen auf °C nochmal verdoppelt. Ja, das ist eine Methode, mit der du die Auflösung tatsächlich verbessern kannst.
Hallo Chris oder du vergisst ganz einfach den 10 Bit Wandler des Prozessors und baust den Dualslope Wandler nach den ich eingesetzt habe dann haste du 14 Bit ohne Klimmzuege. Gruss Helmi
@ Arc Net: Ist ja schön, dass du uns die ganzen Links hinwirfst, aber das ändert nichts daran, dass Oversampling bei einem Gleichspannungssignal keine zusätzlichen Bits liefert. Und mit Sigma-Delta-Wandlung haben Chris "Berechnungen" nun wirklich nichts zu tun.
Stefan Ernst wrote: > @ Arc Net: > > Ist ja schön, dass du uns die ganzen Links hinwirfst, Auch wenn man's mal gelernt hat, es gibt immer Menschen, die sowas besser erklären können... > aber das ändert > nichts daran, dass Oversampling bei einem Gleichspannungssignal keine > zusätzlichen Bits liefert. Theoretisch, ja, wenn man von idealen Signalen, AD-Wandler etc. spricht. In der Praxis, nein, da es diese Idealisierungen nicht gibt. Thermisches Rauschen ist, ebenso wie 1/f-Rauschen (Generations/Rekombinationseffekte etc.), Schrotrauschen, Burst-Noise, Quantisierungsrauschen etc. immer vorhanden. > Und mit Sigma-Delta-Wandlung haben Chris > "Berechnungen" nun wirklich nichts zu tun. Eine gute Theorie lässt sich nicht nur für ein Problem anwenden.
So, ich bin schon fleissig dabei das Layout zu erstellen. Dabei ist mir gerade eben eingefallen dass eine Fühlerbruch bzw. Kurzschlusserkennung noch praktisch wäre. Bin aber noch am überlegen wie ich das am besten realisiere. Da ich mir sicher bin dass hier bestimmt jemand sofort ne Idee hat frag ich mal so in die Runde während ich weiter überlege ;-) Gruß, Chris
Hallo Chriss Fuehlerbruch -> Temperatur geht an den Maximalwert des ADC. Kurzschluss -> Temperatur geht an den Minimalwert des ADC Wenn du meine Dimensionierung genommen hast dann 160 Grad Bruch -40 Grad Kurzschluss Ich glaube das dein Bier nicht im dem Bereich gelagert wird. Gruss Helmi
> Ich glaube das dein Bier nicht im dem Bereich gelagert wird.
Da hast du wohl recht ;-)
Danke!
Hallo Leute! Ich hab inzwischen die Bauteile da und hab mal nen Testaufbau gemacht. Helmis Schaltung funktioniert wirklich prima. Beim Testaufbau verwende ich im Moment den internen ADC mit einer Auflösung von 8 Bit und kann damit ohne Probleme auf 0,1K auflösen. Eine Vergleichsmessung mit einem vorhandenen PMA-Regler hat gezeigt dass die Messungen bei versch. Temperaturen übereinstimmen. Jetzt hab ich nur noch ein kleines Problem: Wenn man den Pt100 nicht richtig anschliesst (also 2 Drähte vertauscht, kein Kontakt oder Kurzschluss etc.) dann regelt der OPV immer voll aus. Man hat dann also am ADC Spannungen von ca. -7V oder +7V. Das dürfte den Tod des ADC bei 2,5V Vergleichsspannung bedeuten. Sieht wohl so aus als ob ich doch noch eine andere Fühlerbruch- bzw. Kurzschlusserkennung brauche. Im fertigen Regler möchte ich dann übrigens einen TC500 von Microchip mit bis zu 16 Bit Auflösung verwenden. Den hab ich hier noch rumliegen. Gruss Chris
> Sieht wohl so aus als ob ich doch noch eine andere Fühlerbruch- bzw. > Kurzschlusserkennung brauche. Du kannst schon noch den Vorschlag von Helmi nehmen, du musst halt nur den ADC-Eingang schützen (ist eh sinnvoll). Beim AVR reicht da ein Serienwiderstand am Eingang, um den Strom über die internen Clamping-Dioden auf den erlaubten Wert zu begrenzen.
Hallo, ich lese solche Artikel "Ich möchte Genauigkeit haben(erreichen) von XXX °C , V etc." immer sehr gerne. Und frage mich dann, was treiben die Leute ??? Bei LowCost-Lösungen unterliegt man natürlich gewissen Genauigkeitsgrenzen, weiterhin hin braucht auch die Genauigkeit einer Messschaltung nicht extrem viel besser sein als der AD-Eingang mit dem ich das Signal erfasse und weiterhin sollte der Code mit dem das Signal dann im Anschluss aufbereitet wird, nicht künstlich eine Genauigkeit vorgaukeln. Daher meine Empfehlung : 1. Prüfe, welche Genauigkeit kannst Du mit deiner µC tatsächlich realisieren. 2. Welche Genauigkeit ist für dein Vorhaben überhaupt realistisch erforderlich. 3. Gibt es einen bestimmten Temperaturebereich in dem besonders genau gemessen werden muss ? Wenn ja, lege deine Hardware für diesen Bereich aus, d.h. nicht 0V-5V für -40°C - 110°C sondern 0V-5V für 0°C - 40°C !!! 4. Frage dich immer, wieso nehmen Messgerätehersteller immer soviel Geld für gute Messgeräte, wenn es doch sooooo einfach ist ????
Und ich frage mich ob es denn sein kann dass manche Hersteller es nicht gerne sehen was mit Hilfe dieses Forums alles selbst gebastelt wird anstatt gekauft...
Also meine Idee wäre gewesen das Signal vor jeder Messung mit einem weiteren Analogmultiplexer auf zwei weiter OPVs zu legen. Diese sind beide als Komparator geschalten, einmal mit der Referenzspannung und einmal auf Masse. Das Signal der beiden Komparatoren würden dann z.B. einen extenen Interrupt am AVR auslösen um ein Signal ausserhalb des Messbereiches zu signalisieren. Ich hoffe das war jetzt verständlich genug. Werde das ganze später mal aufbauen und ausprobieren. Darüber zu diskutieren ob es Sinn macht eine Temperatursteuerung selbst zu bauen habe ich keine Lust mehr. Darum geht es doch auch eigentlich nicht. Da es laut der Aussage des Vaters meiner Freundin (er ist Mess- und Regeltechniker) auf dem Markt keine passenden Regler gibt bleibt eh nix anderes übrig als zu basteln (oder eine SPS zu verwenden oder acht getrennte Regler zu verwenden oder sonst irgendeinen Overkill für Hobby-Niveau zu betreiben). Mein erster Testaufbau sieht jedenfalls sehr vielversprechend aus. Chris
Hallo Chris Schön das meine Schaltung bei dir so gut funktioniert. Zum Schutz deines ADC Einganges würde ich dir wie oben schon an anderer Stelle erwähnt den Schutwiderstand vor dem ADC empfehlen eventuell noch gepaart mit 2 Schottkydioden, eine gegegen Gnd und die andere an VCC geschaltet. Das müsste den ADC ausreichend vor zu hohen oder negativen Eingangsspannungen schützen. Ob es sinn macht so was selber zu bauen ?? Ich finde ja ,damals hat die Musik aus dem selbstgebauten Verstärker auch besser geklungen als aus gekauften Geräten. Ich glaube auch nicht das ein Messgerätehersteller sich über die selbstgebaute Messtechnik hier im Forum aufregt. Deren Klientel sind ganz andere Gruppen und nicht die Privatleute. Aber auch grosse Messtechnikhersteller haben mal klein angefangen. Siehe diese Hütte hier. http://www.hp.com/hpinfo/abouthp/histnfacts/garage/ Wann geht den deine Temperaturmessung ans Netz ??? Gruss Helmi
Hallo, vielleicht ein dummer Beitrag, aber was spricht dagegen, den PT100 in einer Spannungsteilerschaltung zu betreiben?? Nichtlinearitäten der Schaltung bzw. des PT100 können doch per SW berücksichtigt werden. Von Hand ermittelte Temperatur- /Spannungswerte aufnehmen, als Kennlinie hinterlegen und dann lin. interpol. Damit hätten wir die Bauteile minimiert. Grüße cmdfa
>vielleicht ein dummer Beitrag, aber was spricht dagegen, den PT100 in >einer Spannungsteilerschaltung zu betreiben?? Nichtlinearitäten der >Schaltung bzw. des PT100 können doch per SW berücksichtigt werden. Von >Hand ermittelte Temperatur- /Spannungswerte aufnehmen, als Kennlinie >hinterlegen und dann lin. interpol. >Damit hätten wir die Bauteile minimiert. Die Kennlinie des PT100 muss sowieso von der Software lineaerisiert werden das wird in keiner meiner Schaltungen analogmaessig gemacht. Die Kennliniengleichung findet man in jedem PT100 Datenblatt. R = R0 · (1 + a · T + b · T2) a = 3,9083 · 10-3 / K b = -5,775 · 10-7 / K2 Gegen eine Spannungsteilerschaltung spricht das die Widerstandsaenderung pro Grad klein ist 0.385 Ohm/Grad. Darauf hast du dann einen Offset von 100 Ohm. Also duerfte die Spannungsaenderung sehr klein sein. Auch ist mit einem Spannungsteiler so keine 4 Drahtmessung moeglich die braucht man aber beim PT100 wenn man es richtig machen will. Der Widerstand der Zuleitungen liegt naemlich in der gleichen Groessenordnung. Um all das zu erreichen brauchts halt ein paar Bauteile mehr. Und Widerstaende sind auch nicht so teuer. Gruss Helmi
Ja, ist klar, aber VCC = 5V und R1 = 100Ohm erreiche ich deltaV/K = 4mV. D.h. für eine Aulösung von 0,5K ist das absolut OK. Selbst doppelte Auflösung ist kein Problem. Spätestens mit 4-Leiter-Ausführung ist das Messen von Spannungen im 1mV Bereich kein Thema. So realisierte ich jedenfalls Temperaturmessungen (zuverlässig, im gewerblichen Bereich), wenn Platz und damit Bauteilanzahl begrenzt ist. Höhere Auflösungen, etwa 0,1K, halte ich für eine 'vorgegaukelte Genauigkeit', da die Summe der störenden Faktoren (Eigenerwärmung , Messfehler, AD-Fehler, Interpolationsfehler etc.) eh in dieser Größenordnung auftreten. Bei welcher Anwendung brauche ich den eine solch hohe Auflösung? Wenn solche hohen Anforderungen gestellt werden, dann ist doch auch sicher die Ansprechzeit auf Temperaturänderungen interessant, oder? Gruß Mario
Ja, ist klar, aber VCC = 5V und R1 = 100Ohm erreiche ich deltaV/K = 4mV. Meinst du nicht das da etwas viel Strom durch den PT100 Geht ? Stroeme durch den PT100 sollte man auf 1mA begrenzen. Bei dir sind es 10mA. Bei kleineren Stroemen ist es halt eine kleineres deltaV/K . Das bedingt das man die Spannung danach etwas verstaerken muss um den ADC voll aussteueren zu koennen. Zweckmaessiger Weise legt man den Verstaerker dafuer als Differenzverstaerker aus und subtraiert auch gleichzeitig noch den Spannungsoffset die von den 100 Ohm kommen. Die Konstantstromquelle ist noetig damit der Spannungsabfall ueber die Anschlussleitungen vernachlaessigt werden kann ansonsten wuerde durch den Spannungabfall ueber den Leitungen sich die Aufloesung aendern trotz 4 Drahtmessung. Zu den Leitungswideerstaenden zaehlen auch die ON-Widerstaende der Analogschalter zu multiplexen von mehreren PT100. Gruss Helmi
Zugegeben, die Verlustleistung ist relativ hoch, was die Eigenerwärmung als Fehlerquelle in den Vordergrund hebt. Jedoch wird das in der SW durch Vermessen des 'Gesamtsystems' (Einmessvorgang mit kalibrierten Geräten über mehrere Temperatur-Zyklen) kompensiert - dabei werden auch sämtliche Leitungswiederstände egalisiert. Ja, es wird ein Differenzverstärker verwendet um die Breite des ADC's zu nutzen. Für eine Stromquelle hats nicht gereicht, weil der Platz (Hybrid auf Keramik) zu klein ist. Gruß Mario
Wenn du die Leitungswiderstaende mit einberechnest dann must du ja fuer jede Installation oder aenderung der Leitungslaenge das ganze wiederholen. Hmm ... Also brauchst du auch eine Differenzverstaerker. Poste doch mal deine Schaltung. Du hast daraus eine Hybridschaltung gemacht ? Zeig mal ein Foto davon. Gruss Helmi
Hallo Helmi, Die Schaltung die hier im 1. Teil beschrieben wird, habe ich nach gebaut (Plan-siehe oben). Nun wollte ich sie so modifizieren, das sie bis 200°C (mind. 160°C) anzeigt. Leider hat es bei mir nicht geklappt, weil ich nur ein Bastler bin und mir dazu die Kenntnisse fehlen. Könntest du mir bitte sagen, welche Widerstände ich ändern muss um eine 200°C Anzeige (200°C=5V) zu erreichen? Das wäre sehr nett, denn soweit Hat die LP schon funktioniert. LG bastelmann Helmut Lenzen schrieb: > IC1A ist eine Konstantstromquelle sie sorgt dafuer das immer in diesem > Beispiel 5mA durch den PT100 fliessen. > > Wenn am OP Pin 3 jetzt 2.5V anstehen dann stehen aufgrund der > Gegenkopplung an Pin 2 auch 2.5V an. Damit fallen ueber den R5 jetzt > konstant 2.5V ab -> konstanter Strom durch den PT100. Am Pin 1 des OPs > stehen jetzt 2.5V - (R4 * 5mA) an. Also wird die Spannung kleiner wenn > die Temp. steigt. Der nachfolgende Verstaerker invertiert das jetzt > wieder daher die Spannung an Pin 7 steigt mit der Temperatur. Mit Poti > R10 wird jetzt der Offset den Schaltung bei 0 Grad abgezogen. Ergebnis > 0V bei 0 Grad und 5V bei 5 Grad. Bei negativen Temperaturen geht die > Spannung auch in negative. > > Allerdings kann diese Schaltung keine 4 Leitermessung. Die anderen > Schaltungen schon. Auch ist es hier problematisch Analogmultiplexer > einzusetzen. > ....... > Gruss Helmi
Warum machst du es nicht über eine simple Messbrücke und Verstärkst dein Messergebnis? Kommst du gleube ich am besten bei weg, wenn es nur fürs Hobby ist.
Ich200 schrieb: > Warum machst du es nicht über eine simple Messbrücke und Verstärkst dein > Messergebnis? Kommst du gleube ich am besten bei weg, wenn es nur fürs > Hobby ist. Meinst du er liest hier noch mit und kann immer noch keine Temperaturen messen?
Ich200 schrieb: > Warum machst du es nicht über eine simple Messbrücke und > Verstärkst dein > Messergebnis? Kommst du gleube ich am besten bei weg, wenn es nur fürs > Hobby ist. Sehr alter Beitrag, ich weiss. Bin aber momentan an der selben Problematik. Die einfache Messbrücke mit anschliessendem Differenzverstärker sieht man ja überall. Mir ist aber immer noch nicht klar, wie ich dann von der Differenzspannung auf den PT100 Widerstande bzw. die Temperatur zurückschliessen kann? Hat jemand eine einfache Erklärung dafür? Danke Gruss Sandro
Sandro schrieb: > ir ist aber immer noch nicht > klar, wie ich dann von der Differenzspannung auf den PT100 Widerstande > bzw. die Temperatur zurückschliessen kann? Mit einer Formel oder einer Tabelle aus dem INET. Aber wenn Du mit derart einfachen Sachen schon Probleme hast, solltest Du besser andere Fühler oder ein fertiges Thermometer nehmen.
Harald, nicht jeder beherrscht heute mehr den einfachen Dreisatz...
Harald W. schrieb: > Sandro schrieb: > >> ir ist aber immer noch nicht >> klar, wie ich dann von der Differenzspannung auf den PT100 Widerstande >> bzw. die Temperatur zurückschliessen kann? > > Mit einer Formel oder einer Tabelle aus dem INET. Aber wenn Du mit > derart einfachen Sachen schon Probleme hast, solltest Du besser > andere Fühler oder ein fertiges Thermometer nehmen. Ich glaube zumindest die Messbrücke theoretisch zu verstehen. 2 Widerstände festlegen, PT100 und Potentiometer für die anderen 2. Mit dem Poti die Messbrücke auf 0V einstellen bei gegebener Temperatur. Dann habe ich eine Differenzspannung, welche bei geeigneten Werten ungefähr linear ist im nötigen Bereich. Vieleicht verstehe ich dich jetzt falsch, darum Frage ich einfach mal ob du mir einen Link zu solch einer Tabelle oder Formel hast? Die Differenzspannung ist ja jenach Widerständen und Kalibrierungstemperatur gleich. Ich habe wohl tatsächlich etwas Schwierigkeiten im Moment, möchte das jedoch verstehen und nichts digitales verwenden, das wäre kein Problem, ich komme aus der Digitaltechnik.
Sandro schrieb: > Vieleicht verstehe ich dich jetzt falsch, darum Frage ich einfach mal ob > du mir einen Link zu solch einer Tabelle oder Formel hast? Die Formel heist Hart-Steinhart Gleichung und ist im I-Net zu finden.
Sandro schrieb: > Ich glaube zumindest die Messbrücke theoretisch zu verstehen. Allerdings wird die für Präzisionsthermometer kaum genommen, sondern eher Vierdrahtspannungsmessung mit Konstantstrom. > darum Frage ich einfach mal ob > du mir einen Link zu solch einer Tabelle hast? https://www.google.de/search?q=pt100+tabelle
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.