Hallo zusammen, Es geht um Die Messung der Temperatur in meinem Aquarium. ich habe diese Grundschaltung hier aus dem Forum auf dem Steckbrett aufgebaut. Zum Test wurde R4,R5,R6 auf 15-30° = ~0-5V ausgelegt. C1 und C2 habe ich zum Test eingebaut, machen aber keinen Unterschied. Das ganze wird über den ADC0 des ATmega16 mit AREF ext. an VCC der Brücke gemessen. Das Problem: Der ADC-Wert schwankt zwischen 716 und 793 -> 77Bit = ~0.4V Wenn ich den Wert alle 100ms auslese, dann sieht man auch sehr schön den Verlauf runter...hoch...runter....hoch Dies scheint aber (irgendwie) nicht zu stimmen !?! Denn wenn ich an den ADC-Eingang das Oszi hänge, dann ist der Wert auf dem Oszi ziemlich stabil, schwankt aber beim uC. Es stört lediglich ein kleines 50kHz Rauschen (evtl. vom Netzteil). Die Schwingungen Im Anhang kommen in diesem 50kHz Takt. Aber: Wenn ich den ADC-Eingang dann auf die Primärseite des OPV`s hänge, ist der Wert auf IN+ sowie IN- fest bei 57 und ändert sich um keine Stelle. Auch wenn ich den ADC zwischen einen Spannungsteiler von VCC und GND hänge, ist der Wert bei 766 wie festgenagelt. In diesen Fällen habe ich ja schließlich auch das 50kHZ Rauschen aber keine Schwankung beim uC... hat jemand eine Idee, woran das liegen kann?
:
Verschoben durch Moderator
Mach den 100nF Kondensator C1 weg. Das wäre ein schwerer Designfehler. Wenn du filtern willst, dann mach C1 parallel R5.
:
Bearbeitet durch User
C1 und C2 habe ich auch schon rausgenommen, bringt wie oben geschrieben keinerlei Unterschied.
Deine Software-Regelschleife darf natürlich nicht zu schnell sein, da die Temperatur sich auch nur langsam ändert.
:
Bearbeitet durch User
> Dein Software-Regelschleife darf natürlich nicht zu schnell sein, da die > Temperatur sich auch nur langsam ändert. Es wird noch nichts geregelt, es geht aktuell nur um die Messung. > Wenn du filtern willst, dann mach C1 parallel R5. Das bringt tatsächlich eine deutliche Verbesserung auf +-4 Bit Aber die Grundfrage stellt sich mir noch immer, warum ich dieses -+77 Bit Verhalten auf dem Oszi nicht nachvollziehen kann.
Der ADC zieht pulsförmig Strom am Anfang der Messung. Ein RC am Ausgang des Opamps hilft, dass die Spannung nicht einbricht.
Philipp L. schrieb: > habe diese Grundschaltung hier aus dem Forum Wer kommt auf die wahnwitzige Idee, dort 100nF Kondensatoren wie Tretminen zu verteilen ? Das war bestimmt nicht Teil eines Schaltungsvirschlags. Und ein TLC272 (10mV Offset, er ist kein TLC277 mit 500uV) an Stelle eines LTC2054 (3uV) ist wohl eine genau so grandiose Idee, Messfehler 11 GradC, was stören dich da 77 von 1024 wenn 750 sowieso falsch sind ? Ein TLC272 kommt auch nicht auf 5V am Ausgang wenn er mit 5V versorgt wird. Er ist aber bei der Verstärkung stabil. Es liegt also nicht an (ursprünglicher) Schaltung und OpAmp, sondern deinem Aufbau. Bei Steckbrett schwant mir böses, bei 5V ebenfalls, das wird die Versorgung des uC sein, klar gibt das Störungen in Höhe von 1mV, das ist 1/5000, solche Effekte gehen von Kabel zu Kabel ganz ohne Verbindung. Also grundlegende Kenntnisse über den Aufbau einer elektronischen Schaltung sollte man schon haben. Wenn man einem OpAmp nimmt der nicht bis VCC kommt, sollte man nicht ratiometrisch zu VCC messen, sondern zur kleineren internen ARef. http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32
Philipp L. schrieb: > Aber die Grundfrage stellt sich mir noch immer, warum ich dieses -+77 > Bit Verhalten auf dem Oszi nicht nachvollziehen kann. Mit dem ADC siehst du Schwankungen im 100ms-Bereich. Stell das Oszi für die Messung mal auf eine vergleichbare Zeitbasis und den Acquisition-Mode auf Envelope. Sieht die Spannung am Oszi immer noch stabil aus?
> Es stört lediglich ein kleines 50kHz Rauschen (evtl. vom Netzteil). > Die Schwingungen Im Anhang kommen in diesem 50kHz Takt. Das war leider ein Messfehler durch ein Schaltnetzteil neben dem Oszi... Die Störung war am ADC-Eingang nie vorhanden. > Der ADC zieht pulsförmig Strom am Anfang der Messung. Okay, aber müsste dann nicht jede Messung gleich verfälscht sein ? Der Wert am ADC Rauscht aber um die ~77Bit fröhlich hin und her. > Und ein TLC272 (10mV Offset, er ist kein TLC277 mit 500uV) an Stelle > eines LTC2054 (3uV) ist wohl eine genau so grandiose Idee, Messfehler 11 > GradC, was stören dich da 77 von 1024 wenn 750 sowieso falsch sind ? >..... Ruhig.... Runter vom Gas... Das ist nur ein Testaufbau und ich hatte keinen anderen OPV in DIP zur Hand. Wollte erstmal sehen ob die Schaltung generell funktioniert und stabil läuft, weshalb ich ja auch beim Ausgang von den 5V weggeblieben bin. Die Generelle Genauigkeit war hier noch nicht entscheidend, sondern ob es mit der Schaltung generell Probleme gibt -> z.B. Rauschen <- > Wenn man einem OpAmp nimmt der nicht > bis VCC kommt, sollte man nicht ratiometrisch zu VCC messen, sondern zur > kleineren internen ARef. Ich habe das ja absichtlich gemacht, um zu sehen ob ich dadurch eine Rauschfreie Messung erhalte (Kalibrieren, Offset, usw.., kommt später) > das wird die Versorgung des uC sein, klar gibt das Störungen in Höhe von 1mV, das ist > 1/5000, solche Effekte gehen von Kabel zu Kabel ganz ohne Verbindung. Das verstehe ich leider nicht, kannst du mir das genauer erklären: Ich messe doch an IN+ und IN- (oder an einem anderen Spannungsteiler) auch glatte Werte ohne Rauschen, warum sollte es dann an der 5V Versorgung liegen? > Bei Steckbrett schwant mir böses... Siehe Anhang, so schlimm ? > Stell das Oszi für > die Messung mal auf eine vergleichbare Zeitbasis Ups... was für ein schönes 50Hz Rauschen (siehe Anhang) :-) Induktion: Wenn ich den PT1000 durch einen festen Widerstand ersetze, dann schwankt es selbst ohne C über R5 nur noch um +-2Bit. Glatte Werte mit 100nF Also ist das rauschen eher das Problem einer Induktion als die Versorgungsspannung, richtig? -> wie kann man hier Abhilfe schaffen ? Evtl. R1 kleiner und mit FET nur für die Messung einschalten? Temperaturabhängigkeit: Wenn ich gegen den Aufbau Atme, dann ändert sich der Wert zusätzlich um ~10Bit. Bekomme ich diese Schaltung auch irgendwie einigermaßen Temperaturstabil ?
:
Bearbeitet durch User
Philipp L. schrieb: > Es geht um Die Messung der Temperatur in meinem Aquarium. Ich nehme an du weisst,dass es fuer sowas "schoene und billige" Chinaware gibt. Ich vermute mal,dass du einfach dein eigenes Projekt durchziehen willst und der Zeitaufwand plus Kosten Nebensache sind. Dennoch hier ein Link fuer ein fertiges Geraet.Ich habe es selbst - verwende es allerdings nur als Temperaturmessgeraet in meiner Behausung.Ist intern gut aufgebaut und tut was es soll:Genaue Temperaturerfassung(DS18B20 Sensor) und verfuegt uber Relaisausgaenge die dafuer zustaendig sind um z.B. Wasser zu kuehlen oder zu heizen. Das Ding gibt es fuer Niederspannung(12V-70V) und Netzspannung(100V-230V). https://www.ebay.de/itm/DST1000-AC100-220V-Digital-Temperature-Controller-Thermostat-With-DS18B20-Sensor/401666518120?hash=item5d8530ac68:g:Kp0AAOSwEVtcHQcQ
Philipp L. schrieb: > Also ist das rauschen eher das Problem einer Induktion als die > Versorgungsspannung, richtig? Nicht "Rauschen" sondern "Störung". Wo die Störung einkoppelt und wie (kapazitiv oder induktiv) kann man aus der Ferne nicht sicher bestimmen, auch wenn das Kabel zum Sensor ein wahrscheinlicher Kandidat ist. Wenn die Störung dort kapazitiv einkoppelt, dann dürfte ein geschirmtes Kabel etwas helfen (sofern der Schirm dann auch niederimpedant auf Masse gelegt wird). Philipp L. schrieb: > Wenn ich gegen den Aufbau Atme, dann ändert sich der Wert zusätzlich um > ~10Bit. 10 Bit sind in gewöhnlichen Einheiten so was wie 50mV, oder? 50mV am Ausgang deines Verstärkers entsprechen ca. 50mV/300=160µV am Verstärkereingang. Als Temperaturdrift deines TLC272 ist das eher zu viel. Welche Temperaturkoeffizienten haben den deine sonstigen Bauteile? Ansonsten ist korrekt, was Toxic angedeutet hat: im Temperaturbereich eines Aquariums ist es wesentlich einfacher, mit einem integrierten Temperatursensor eine genaue Messung hinzukriegen. Und wenn der Sensor ein digitales Interface zu deinem µC hat, dann stören dich auch kleine Einkopplungen auf der Leitung wenig.
Philipp L. schrieb: > Das verstehe ich leider nicht, kannst du mir das genauer erklären Sowohl die Versorgungs- und damit ADC Referenzspannung des uC wird gestört (durch Netzteil und uC selber) als auch die Schaltung mit ihren langen Leitungen (Antennen) wird sich jede Störung einfangen die in der Luft liegt. Und bei deiner Verstärkung reichen 15 Mikrovolt um 1 bit schwanken zu lassen. Der Aufbau und die Bauteilauswahl (OpAmp, ggf. Widerstand) ist für Präzisionsmessungen ungeeignet. Wenn mit Pt1000 am Kabel Störungen von 77, mit Festwiderstand von 2 auftreten, wird das lange Kabel wie eine Antenne Störungen anziehen. Die müssen nicht mal als Differenzspannung am Kabelende auftreten, sondern es reicht ein Strom der über Steckbrettanschlüsse fliesst und dort am erheblichen Übergangswiderstand zu Spannungsabfall führt. Wenn anhauchen zu Schwankungen führt, die die Daten des OpAmps übersteigen, kann einfach ein Widerstand mit zu grossem TK Temperaturkoeffizienten verbaut sein. Rechne doch mal nach. 1 GradC sind gerade mal 0.39%. Der von Helmut eingezeichnete C ist sinnvoll um die Kapazität einer langen Pt1000 Zuleitung zu kompensieren. Meine Schwimmbadsteuerung hier vereendet 15m Kabel, kein Problem.
noch einen kleinen Nachtrag: Philipp L. schrieb: > -> wie kann man hier Abhilfe schaffen ? Es ist natürlich sinnvoll, Störungen so weit möglich zu unterdrücken. Aber du musst die Störung nicht zwingend im Analogteil vollständig loswerden sondern kannst sie auch per Software behandeln. Da die Störung exakt 50Hz hat, geht das recht einfach. Frage den ADC nicht mehr wie bisher nur ein mal pro 100ms ab sondern mehrfach pro Netzperiode. Also z.B. timergesteuert genau mit 400Hz. Bilde den Mittelwert der Messungen genau über eine Netzperiode (in dem Beispiel also über 8 ADC-Werte). Im Endergebnis werden die 50Hz weitgehend verschwunden sein.
Da hab ich auch noch ne Frage: wie groß sollte man den C über R5 dann wählen? Sind die 100n von Helmut das Allheilmittel oder ist das auch abhängig von der Verstärkung? Harry
Zu meinen Anforderungen (befürchte schon böses von den Messtechnikern): Die Messung soll ja später das Aquarium auf min. 0.1°C mittels Peltier regeln (lieber besser). Aktuell habe ich einen "Klick/Klack" Heizstab, welcher +-0.5°C Hysterese hat. Die aktuelle Temperaturkurve (SPS Messung) finde ich einfach nur schrecklich... -> Den Garnelen ist es vermutlich egal :-) Da ich aber sowieso eine Kühlung benötige, kann diese auch gleich "Strich" fahren. Ich glaube dieses sehr träge System sehr gut auf 0.1°C regeln zu können. bei 100% Leistung kühlt das Peltier das Aquarium um 1,5°C/h runter. Für diese Regelung benötige ich aber eine bessere Auflösung als 0.1°C - > min. 0.01°C, eher besser. Wichtig: Mir kommt es bei der Messung nicht wirklich auf die echte Genauigkeit an, sondern hauptsächlich auf die Störungsfreie Messung mit hoher Auflösung. Die Messung wird später sowieso nur auf "einem Messpunkt" betrieben. Die Kalibrierung auf diesen Punkt kann ich später leicht mit meiner Referenzmessung vornehmen. Es ist auch egal ob diese nachher ganz exakt auf 0.1°C stimmt, aber ich hätte später gern nur noch einen Strich auf der Messwerthistorie... Als Messspanne schweben mir 15-35°C (+-10°C um den Sollwert) vor. Ich brauche also eine Messung, welche dem noch nicht definierten >=12Bit ADC, möglichst konstante (Störungsfreie) Werte liefert. Mit dem PT1000 und der notwendigen hohen Verstärkung ist das vermutlich zu umständlich zu realisieren. Als Alternative zum PT1000 habe ich leider nur einen NTC 1K rumliegen, mit dem ich über die Schaltung (siehe Anhang) auf dem 10Bit ADC des uC konstante Werte erhalte. Wenn ich die 1K gegen 10K tausche, zappelt der ADC um +-2Bit... Der Messstrom ist mit 1K zwar zu groß, aber es ist ja nur ein Test. Der NTC und kleiner Verstärkung scheint hier die bessere Wahl zu sein. Die Linearisierung ist ja nachher in der SW kein Problem. Ich hätte mir jetzt mal einen NTC 10K bestellt um die Verstärkung noch weiter zu senken, oder habt ihr einen besseren Vorschlag ? PS: Über Vorschläge zu erprobten ADC´s (SMD) mit I2C wäre ich auch sehr dankbar. Spricht etwas gegen diesen Kollegen ? https://www.mouser.de/ProductDetail/Microchip-Technology/MCP3426A0-E-SN?qs=sGAEpiMZZMvTvDTV69d2QhdGLEw1nHimPurLIVyPEHQ%3D Danke !
:
Bearbeitet durch User
Der Kondensator parallel zu R5 legt die obere Grenzfrequenz fest. Es hilft oft schon wenn man die Grenze die sich ohne den Kondensator ergibt ein wenig nach unten verschiebt. Sonst muss man halt sehen wie langsam es sein soll - ideal so dass R5*C etwa die Zeit zwischen 2 ADC Wandlungen erreicht. Für eine genaue Regelung mit einem Peltierlement und einem so trägen System lohnt es sich ggf. die Temperatur an mehreren Stellen zu messen: einmal im Wasser und dann an beiden Seiten des Peltier-elements. Die zusätzlichen Temperaturen reagieren schneller und erlauben so eine schnellere Regelung, bzw. mehr Gain. Die Messung an der äußeren Seite kann eine Störquelle kompensieren, denn so ein Pletierlemement hat eine deutliche Wärmeleitfähigkeit. D.h. Störungen von außen übertragen sich auch auf die andere Seite. Schon als Schutz vor Überhitzung ist die 2. Messung hilfreich. Die zusätzliche Messung kann man als Feed-forward oder als Linearisierung / innere Loop für die Wärmeleistung sehen. Pletier-Elemte mögen ohnehin kein einfach on/off Regelung (oder einfaches PWM), vor allem nicht beim kühlen. Neben PT1000 und NTC sind auch einfache Dioden als Temperatursensor geeignet. Beim PT1000 muss man halt auch stabile Vergleichswiderstände (oder wenigstens einen) haben.
> Für eine genaue Regelung mit einem Peltierlement und einem so trägen > System lohnt es sich ggf. die Temperatur an mehreren Stellen zu messen: Ja, aber aktuell geht es nur um die Realisierung der Messung.
Muß es denn ein PT1000 sein? Der LM73 z.B. löst 0.03125°C auf und ist einfach (I2C) auszulesen. Es gibt davon auch Nachbauten (?) mit SPI.
Philipp L. schrieb: > Die Messung soll ja später das Aquarium auf min. 0.1°C mittels Peltier > regeln (lieber besser LOL. Warum endet eigentlich jeder Thread im Lächerlichen. Im Aquarium sind sowieso Temperaturunterschiede von deutlich mehr als 0.1. Es sein denn du hängst einen grossen Quirl hinein der ständig kräftig umrührt (Mörtelrührer). Auch in echtem Meereswasser sind Temperaturunterschiede von 1 GradC zum Oberflächenwasser und nochmal 1 GradC zur Strömung völlig normal. Deine Anforderung ist Quatsch. Es ist jedoch möglich, die Temperatur des Wärmetauschers selbst auf 0.1 zu regeln mit einem PID Regler. Welche Temperatur dann am anderen Ende des Aquariums ist, ist aber Zufall, können 2 mehr oder 2 weniger sein.
Für die Auswertung eines PT1000 lohnt ggf. ein externer ADC. Der oben genannte MCP3426 sollte schon gehen (ich kenne den ähnlichen MCP3421). Einfacher wäre es aber wenn der ADC eine externe Referenz hat (z.B. MCP3550). Dann kommt man mit nur 1 stabilen Ref. Widerstand aus. Die anderen beiden Widerstände der Brücke werden quasi durch die relativ hohe Auflösung des ADC ersetzt. Weil der Messbereich dann bis 0 runter geht braucht man die etwas höhere Auflösung als mit der "analogen" Brücke aus dem Anfangspost. Es sind schon komische Zeiten wo es sich ggf. lohnt 2 Widerstände durch einen 22 Bit ADC zu ersetzen.
> Deine Anforderung ist Quatsch. Das stimmt und habe ich bereits geschrieben: > -> Den Garnelen ist es vermutlich egal :-) Aber es muss auch nicht immer alles Sinnvoll sein. Es reicht mir wenn es machbar ist ;-) Es ist ein sehr kleines 30L Garnelenbecken. Wenn man sowieso eine Kühlung mit Regelung baut, warum sollte man dann nicht versuchen diese auch exakt zu bekommen? Der dumme Klick/Klack Heizstab schafft immerhin +-0.5°C Wäre doch gelacht wenn ich eine echte Regelung keine 0.1°C schafft !! Das ähnelt meine Anforderung: Beitrag "hochauflösende Temperaturmessung" Ich werde es jetzt mal mit 10k NTC und einem ~16Bit ADC mit ext. Referenzspannung an der Brückenversorgung versuchen. Aktuell geht es ja erstmal nur um die hochauflösende Temperatur und nicht um die Regelung.
Philipp L. schrieb: > Ich brauche also eine Messung, welche dem noch nicht definierten >=12Bit > ADC, möglichst konstante (Störungsfreie) Werte liefert. Nimm einen integrierenden ADC. Also einen Zwei(oder Mehr)-Rampen ADC oder ein passend gewählter Sigma-Delta, der genau über eine Netzperiode integriert - dann bist du deine momentane Haupt-Störquelle los (Netzeinstreuungen). Philipp L. schrieb: > Mir kommt es bei der Messung nicht wirklich auf die echte Genauigkeit > an, sondern hauptsächlich auf die Störungsfreie Messung mit hoher > Auflösung. Dann ist ein NTC tatsächlich wesentlich sinnvoller als ein Pt1000. Oder halt ein integriertes Sensor-IC mit Analogausgang - die sind sogar oft genau bei 25°C kalibriert. Philipp L. schrieb: > Wäre doch gelacht wenn ich eine echte Regelung keine 0.1°C schafft !! Dann mach mal. Aber weder ist diese Anforderung sinnvoll, noch ist sie ohne echten Aufwand hinzukriegen. Wie du schon bei der Temperaturempfindlichkeit deiner Verstärkerschaltung gemerkt hast musst du dann an vielen Stellen die Fehlereinflüsse bedenken und ggf. eliminieren. Es reicht nicht, eine Sache (z.B. Sensorwahl) richtig zu machen sondern es muss alles passen. Mit dem bisher erkennbaren Ansatz, mal irgendwas hinzubauen und dann die Netzgemeinde nach den Schwachstellen suchen zu lassen, wirst du dein selbstgestecktes Ziel nicht erreichen.
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.