www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temperaturmessung per AVR


Autor: Samy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend

Ich habe da ein kleines Problem wo mir Kopfschmerzen bereitet. Ich
will/muss mehrere Temperaturen (6 Messpunkte) mit einem AVR erfassen.
So jetzt habe ich mir gedacht nehme doch einfach einen PT100/PT1000 und
digitalisiere den Spannungsfall am Wiederstand per ADC und werte das
ganze mit dem AVR aus! So die Sache soll sehr genau werden, also so
min. 0,5°C Genauigkeit. Da 6 Messbrücken etwas viel Platz und Aufwand
bedeuten habe ich folgende Idee.
Die Schaltung wird von einem Präzisions Spannungswandler (+5V)
gespeist. So jetzt bau ich noch eine Präzisions Stromquelle ein die die
Messfühler versorgt. Somit würde ich mir die Messbrücken sparen da ja
Temperatur-, Spannungs- und Stromschwankungen relativ gering sein
dürften!
Was haltet Ihr von der Idee??

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

vielleicht ist es mit einem 1 Wire Sensor oder TWI(I2C) Bus Sensor
einfacher und billiger.


Mfg

Dirk

Autor: Samy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja da gibt es noch ein Prob. Die Sensoren erfassen ne Wassertemperatur
d.h. ich muss die Dinger dicht irgendwie einbauen. Das einzige was ich
gefunden habe mit Gewinde und geeignet für flüssige Medien sind PT100
bzw. PT1000.!

Autor: Bernhard Koopmeiners (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Samy,

einfach Deinen PT100 als Spannungsteiler schalten und mit dem ADC
einlesen. Gleitende Mittelwertbildung über mindestens 32 Messwerte und
Deine Genauigkeit ist locker erreicht.

Bernhard

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein ähnliches Verfahren wie Bernhard habe ich auch schon eingesetzt:

64 der 10-Bit-AD-Werte aufaddieren, ergibt einen Pseudo-16-Bit-Wert.
Natürlich nicht mit 16-Bit Genauigkeit, aber doch wesentlich besser als
einzelne AD-Messwerte.

Stefan

Autor: Samy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend

@ Stefan und Bernhard

Könnte einer von euch vielleicht so nett sein das genauer zu erklären?
Gleitende Mittelwertbildung????? 64 der 10-Bit-AD-Werte aufaddieren,
ergibt einen Pseudo-16-Bit-Wert ?????

Habe mal Elektroniker gelernt (EEAN) aber seit 6 Jahren nix mehr mit
Elektronik am Hut. Bin leider direkt nach der Ausbildung in nen anderen
Job gekommen (Wartung vom ICE --> Steckkarte raus neue rein)! Bin etwas
ausser Übung und arbeite mich grad wieder ein.
Für Hilfe bin ich euch sehr dankbar.

Sascha

Autor: Dieter B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Samy

Es werden einfach mehrere Messwerte addiert und dann durch die Anzahl
der addierten Messwerte dividiert.

Damit fallen einzelene "Ausreißer" nicht so ins Gewicht.

Mann nimmt dafür oft eine Anzahl, die man durch schieben nachher leicht
dividieren kann. 2, 4, 8, 16, 32,64 usw. Ist durch rechts schieben
leicht zu erledigen.

MFG

Dieter

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn DU AD-Messungen machst, dann wirst Du bemerken, dass Du selten
exakt dassselbe misst - der Wert "wackelt" immer ein bischen. Also:

eigendlicher Wert: 72,3
gemessen: 72, 73, 72, 71, 75, 72, 74, 71

Dieser Effekt kommt vom Rauschen auf der Schaltung, oder vom Rauschen
Deines Mess-Signals. Das kann Dich ärgern, oder Du machst was draus.

Wenn Du alle Werte addierst (im Beispiel 8), dann kommst Du auf 580.
Geteilt durch alle 8 Messwerte würdest Du einen Mittelwert von 72,5
bekommen. Das kommt doch schon wesentlich besser ran als die
Einzel-Messwerte.

Genau betrachtet kann Dir das Rauschen nämlich auch helfen. Angenommen,
Du hast einen idealen Wandler und eine ideale Messspg. Dann ist Dein
Messfehler bis zu +/- 1/2 Bit. Im oberen Fall würdset Du immer 72
messen und damit 0,3 Abweichung haben. Liegt jetzt aber ein (ideales)
Rauschen auf Deinem Messsignal, dann misst Du abwechselnd 72 und 73,
wenn Diu viele Werte aufaddierst und danach durch die Anzahl teilst,
wirst Du (im Idealtfall) wirklich auf die 72,3 kommen. Obwohl das Dein
AD-Wandler EIGENDLICH garnicht kann. Wenn Du Dich näher damit
beschäftige willst, such mal unter Quantisierungsrauschen.

Mit 72,3 sind wir leider schon im Bereich des Flieskommas. Das ist
immer ärgerlich, weil viel Rechnerei und grosse Bibliotheken. Deswegen
kommt jetzt ein Rechen-Kniff.
Eigendlich interessiert Dich die Zahl 72,3 überhaupt nicht. Den Wert
des AD-Wandlers musst Du ja eh interpretieren, in Deinem Fall als
Temperatur. Dann kannst Du auch gleich sagen: ich addiere 64 Werte auf
und interpretiere dann das Ergebnis als (Pseudo-) 16-Bit-Wert.

Warum 64 und warum 16 Bit?
Dein Wandler hat 10 Bit, macht 1023 als Maximalwert. Davon kannst Du
maximal 64 Stück in einem 16-Bit Wert aufaddieren. Bitte beachten:
unsigned verwenden! Das Ergebnis kann genaugenommen nicht den
Maximalwert einer 16-Bit-Zahl annehmen, sondern 63 Ticks darunter,
sprich: 1023 * 64.

Ich hoffe mal, das war einigermassen verständlich...

Viele Grüße, Stefan

Autor: Bernhard Koopmeiners (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

ich hätte es nicht besser sagen können.
Kleine Ergänzung:
Gleitende Mittelwertbildung bedeutet n gemessene Werte aufaddieren und
durch n teilen. Bei jeder neuen Messung wird dann der älteste Messwert
ersetzt und wieder der Mittelwert gebildet.

Bernhard

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke danke :-))

Mit der Methode habe ich übrigens schon eine Akkumessung (Delta-V)
gebaut, das hat ziemlich gut geklappt.

Stefan

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.