Go Down

Topic: kleine Probleme beim Auslesen eines PT100 -Messwandlers (Read 4198 times) previous topic - next topic

DrDiettrich

Wenn Vcc als AREF verwendet wird, dann hängt Vcc nicht nur von der Genauigkeit der Spannungsquelle ab, es können auch noch kleine dynamische Abweichungen vorkommen, je nach dem aktuellen Strombedarf. Deshalb gibt es noch einen Noise Canceler Modus, in dem die CPU während der Messung schlafen gelegt wird.
Quote
das mit den 1,1V verstehe ich nicht so ganz, dafür würde ich doch dann noch ein Spannungsteiler brauchen oder nicht ? also für das was auf AnalogIn anliegt ?
Meine Sensoren bzw Module geben mir 0-5V raus.....
Entweder die Verstärkung der Module reduzieren, oder einen Spannungsteiler vorschalten.

magictrips

jetzt bin ich noch etwas mehr verwirrt.....

ich hab eine Spannungsquelle, die mir 5000mV liefert,
müßte das:
http://de.farnell.com/xp-power/ecm60us24/schaltnetzteil-24v/dp/1176965
und das:
https://www.amazon.de/verstellbar-Step-down-Konverter-Standard-LM2596/dp/B00W94HW8S
sein.....

diese versort die µC und den Sensor (bei der Druckmessung) bzw den Messumformer (bei der PT100 Messung)......

(ist an der Spannungsquelle was "auszusetzen" oder kann man die für genauere Messungen verwenden ?)

Wenn ich AREF frei hätte würde ich diese 5000mV auch auf AREF legen.....
da ich den aber nicht frei habe (wenn ich nicht extra einen größeren ATTiny nehme) hab ich nur die interne REF = VCC ?.....

Wenn diese bei der Druckmessung 1-2% abweicht, ist das nicht ganz so tragisch aber 10% wären bei 1000mBar ja schon 10mBar potentielle Abweichung....



fckw

für deinen Anwendungsfall wirst du über einen vernünftigen Messumformer, der den Pt100 in Vierleitertechnik und über Konstantstrom ausließt, nicht drumrum kommen. Alles andere kannst du zwar so machen, aber dann ist es am Ende eben scheiße. Du benötigst am MU ein normiertes Ausgangssignal, etwa 0-10V oder 0-20mA, die sich leicht für den Arduino aufbereiten lassen.

Serenifly

Da würde ich erst mal mit einem Oszilloskop messen ob das Modul eine Restwelligkeit hat, oder ob das komplett herausgefiltert wird.

Für sowas gibt es extra Referenzspannungsquellen die garantiert konstant sind.

SkobyMobil

Hallo,
„brauche theoretisch halt 0,01°C bei 0-450°C"

Dann komme mal wieder auf den Boden…
Das sind bei einem 1°C einhundert Werte- und bei 450°C ?!!

Der Arduino liefert Dir 5v in 1024 Werte, je Wert 0,0048v

Bei einer Auflösung von 0,1°C sind das 10 Werte/°C - bei 450°C dann??!

Jetzt hast Du da einen geheimnisvollen MessWandler, der wohl nicht mehr als 5v ausgibt.
Du kannst also immer nur einen bestimmten Bereich abdecken, der sich glatt durch 0,0048v
teilen lassen sollte.
Wenn Du „gut" bist, dann schaffst Du eine „Genauigkeit" von 0,1°C- mit sehr erheblichem
Aufwand…
Gruß und Spaß
Andreas
die zweite Maus bekommt den Speck...

magictrips

bevor das jetzt hier zu noch mehr Verwirrung führt.....

hier gehts um zwei verschiedene "Aufgaben".

Einmal ein Differenzdrucksensor.....
Da hab ich das Problem mit der Referenzspannung und das ist auch erstmal das aktuelle Problem.....
....wo ich bei der Frage nicht weiterkomme, ob die interne Referenzspannung (VCC) nun ausreicht (AREF wäre ja = VCC)....
oder ob ich tatsächlich den ATTiny85 gegen ein 84 austauschen muss, nur wegen dem AREF-Pin.....von den Kosten her wäre das ja jetzt kein Ding aber, in meinem Fall, vom Platz her eventuell.....
(Der Sensor geht über ein Kabel in ein Gehäuse und ich wollte den ATTiny(der nur die Spannung am Sensor ermittelt) und den Drucksensor in ein kleines Gehäuse bauen bzw wenn möglich "einschrumpfen" und dann den Wert per I2C ins "Haupt"Gehäuse schicken lassen.....
ich möchte so verhindern, das der Messwert durch Spannungsfall oder Übergangswiderstände verfälscht wird, außerdem kann ich so regestrieren, wenn der Sensor nicht angeschlossen ist......
und ich hab noch ein Eingang auf dem HauptµC frei....


Die andere Sache wäre diese PT100-Geschichte, die ich dann eventuell in Zukunft nachbessern wollen würde....
Momentan hab ich da nur ein PT100 mit diesem Pollin-Bausatz dran, zum probieren usw - klappt eigentlich ganz gut !
Die anderen Sensoren sind alle die DS20B18....

Da das Gerät hinterher eine Vakuumdestillation steuern soll, kommt es da ganz drauf an, was man "destilliert"...
für die meisten anwendungen wird wahrscheinlich eine Auflösung von 0,1-0,5°C reichen.
(Momentan regelt die Heizung ehe nur auf 3-4°C genau, da die Nachwärme noch zuviel aufheizt...ich hoffe das bekomme ich durch eine Reduzierung der Heizleistung in den Griff)
Allerdings benötigt man im Bereich der Isotopentrennung wohl eine Auflösung von 0,01°C !
Ich habe mir jetzt erstmal überlegt mich auf die ungenaue Variante zu beschränken....
sehr genaue Messumformer und PT100 kann man ja, zur Not, später noch nachrüsten...


DrDiettrich

Wenn der Tiny eine eingebaute Referenzspannungsquelle hat, muß man an AREF nicht dran. Eine externe Referenz kostet Geld und Platz, zusätzlich zum Pin, deshalb würde ich die interne bevorzugen.

Die Unabhängigkeit von Spannungsabfällen hast Du selbst schon angesprochen, die wirken sich natürlich auch auf Vcc aus, wenn die (höchstwahrscheinlich) von außen eingespeist wird. Überlege einfach mal, wie präzise und konstant Vcc gemacht werden muß, damit sie als Referenz für die Messung brauchbar ist.

magictrips

Was meinst du mit "eingebauter Spannungsreferenz" ?

VCC kommt über das Kabel....
Ich hoffe jetzt mal nicht, das der Spannungsfall bei einer 2m Messleitung bedeutend groß ist ?
Aber im Prinziep hast du recht, dieser würde dann auch VCC betreffen.....

Aber man kann den ATTiny doch VCC ermitteln lassen.... könnte das dann nicht Abhilfe schaffen ?
Oder gibts da noch andere Lösungen ?

Ich kann mit dem Sensor "extern" einfach mehr anfangen, als "intern" ....

Ich hätte zB auch noch 12V zur verfügung..... könnte den auch mit 12V versorgen und dann ein Festspannungsregler davorsetzen ?

DrDiettrich

Lt. Datenblatt hat ein ATtiny44 eine 1,1V Referenz eingebaut, steht schon in der ADC Übersicht. Dort steht auch, daß der Meßfehler +-2 LSB erreichen kann, also 0,2% vom Vollausschlag. Kannst Du kein Englisch, oder wieso möchtest Du den ADC verwenden, ohne Dich erst mal über seine Grundlagen zu informieren?

uwefed

Bitte nicht schon wieder, diese Diskussion hatten wir grade eben in einem englischen Thread :-(
Lies mal das Datenblatt zu "ADC Accuracy Definitions". AREF wird in 1024 Schritte (steps) unterteilt, die von 0-1023 durchnumeriert sind. AREF ist also durch 1024 zu dividieren. Bezogen auf AREF reicht step #0 von 0 bis1/1024, und step #1023 von 1023/1024 bis 1.

Ich mache mal ein Beispiel mit 2 Bit Auflösung:

es gibt 4 ADC Werte: 0,1,2,3.

Bei 5V Referenz:
0V entspricht 0 ADC
5V entspricht 3 ADC
Da sind wir uns bis jetzt einig?

Dann:
was entspricht 2 ADC?

5V/4*2  oder 5V/3*2?  (2,5V oder 3,33V)

Was entspricht 1 ADC?

5V/4*1 oder 5V/3*1?  (1,25V oder 1,67V)

Grüße Uwe

SkobyMobil

Hallo,
"ob die interne Referenzspannung (VCC) nun ausreicht (AREF wäre ja = VCC)…."

Hast Du da einen Denkfehler, oder ich?

AREF und VCC habe nichts miteinander zu tun.

Deine AREF sollten stabil sein, sagen wir 5V.
Dein Sensor liefert bei AREF genau 100Ω.
Dein VCC liefert bei 4,85v genau 97,3Ω.

Nun ist es aber so, das Dein Sensor genau mit 5v beliefert wird/sollte/sein.
Jetzt kommt es aber zum Spannungsabfall von 0,15v.

Du weißt aber, das AREF 5v liefert, und auch das am Sensor 5v anliegen.
Nun verrechnest Du AREF mit der Eingans-Spannung.
Die Differenz ist 0,15v

Nun addierst Du die Differenz zu der Eingansspannung und kommst auf 5V,
Der Messfehler ist verschwunden.
AREF wird nur zum verrechnen genutzt. Nah-Senseor minus 0,35v, fern-Sensor
minus 0,75volt.
Am Spannungsabfall ändert sich ja "nichts". Der ist immer gleich.
So sehe ich das.
Gruß und Spaß
Andreas

die zweite Maus bekommt den Speck...

DrDiettrich

#26
Jul 11, 2016, 11:36 pm Last Edit: Jul 14, 2016, 12:24 pm by DrDiettrich
Ich mache mal ein Beispiel mit 2 Bit Auflösung:

es gibt 4 ADC Werte: 0,1,2,3.

Bei 5V Referenz:
0V entspricht 0 ADC
5V entspricht 3 ADC
Da sind wir uns bis jetzt einig?
Nein :-(

Die 5V werden in 4 gleiche Schritte zu 1,25V aufgeteilt.
0 entspricht irgendwas unterhalb 1,25V
1 entspricht irgendwas zwischen 1,25-2,5V
2 entspricht irgendwas zwischen 2,5-3,75V
3 entspricht irgendwas oberhalb 3,75V

Nachtrag:

Da jeder ADC Wert einem Spannungsbereich entspricht, kann dieser Wert auf die Untergrenze, Mitte oder Obergrenze des zugehörigen Bereichs gelegt werden. Mit
Code: [Select]
V = (analogRead(pin) + k) * AREF / 1024.0;
kann man k setzen auf:
0 für Untergrenze
0.5 für Mitte
1 für Obergrenze

Bei der Abfrage analoger Sensoren dürfte die Mitte des Intervalls die beste Wahl sein. Da die meisten Sensoren selbst einen Offset haben, kann man die Verschiebung innerhalb des Spannungsbereichs auch mit diesem Offset kombinieren, und k=0 wählen.

magictrips

Naja, mein Englisch ist nicht wirklich gut genug, um das Alles einwandfrei zu verstehen, außerdem hab ichs etwas "eilig" und hatte gehofft jemand mit Ahnung, kann mir hier ein Tipp geben.....

Und was soll ich dann mit den 1,1V ? Dann sind wir ja wieder beim Spannungsteiler, der wieder eine gewisse Ungenauigkeit mit reinbringt (je nach Widerständen), oder nicht ?
Ich verstehe den Sinn dieser 1,1V ehrlich gesagt auch nicht wirklich....
Wenn ich doch ein Sensor hab, der mir 5V (bzw in dem Fall 4,7V) liefert, was spricht dann dagegen diese zu verwenden ?

Außerdem hatte ich doch Fragen gestellt, die mit den 1,1V nicht wirklich was zutun haben ?
Quasi Fragen, die ich gerne einen Profi mit Erfahrung frage, da ich ein solcher nicht bin....


@Skopi
"AREF und VCC habe nichts miteinander zu tun."
Ja, aber in meinem Fall ist VCC = AREF bzw wäre es, wenn ich den Pin frei hätte.....
Die Sensoren werden über VCC versorgt....

Bei dem Rest kann ich dir nicht ganz folgen......
bei der Frage gehts ja nicht um ein PT100 sondern um ein Differenzdrucksensor, der mir 0-4,7V für 0-1000mBar liefern sollte.....
Versorgt wird der (und der ATiny85) über eine 2m Messleitung mit 5V VCC (-eventuell Spannungsfall)....
Und da war halt die Frage, ob der Spannungsfall überhaupt bedeutend genug ist....
Und wenn ja, was man da machen kann ?...
Würde ich ein ATTiny84 verwenden und die Spannung, die am Sensor anliegt, an AREF anlegen, würde am AREF VCC anliegen....
Die nächste Frage war, ob es ehr Sinnvoll wäre das mit 12V zu versorgen und noch ein Festspannungsregler dazu zu bauen, damit auch wirklich 5V ankommen....

Oder ich frag mal anders, wie würdet ihr das lösen ? (:

Gerät ----2m Messleitung---- Sensor mit 0-4,7V für 0-1000mBar (sollte auf 1mBar genau gehen)
I2C ist im "Gerät" vorhanden.


DrDiettrich

Ich habe AREF für die Referenzspannung des ADC verwendet, unabhängig davon ob es einen AREF Pin dafür gibt. Wenn der Tiny keinen solchen Pin hat, sollte eigentlich keine Verwechslungsgefahr bestehen.

Sensoren mit Stromausgang (4-20mA) sind besser für längere Leitungen geeignet als solche mit Spannungsausgang.
Bei einem Spannungsausgang würde ich allerdings davon ausgehen, daß diese Spannung genügend unabhängig ist von der Versorgungsspannung. Das steht aber irgendwie im Widerspruch dazu, daß der Sensor mit 5V versorgt werden möchte - da ist keine Luft mehr für eine Spannungsstabilisierung im Sensor-Modul. Hast Du ein Link zum Datenblatt für diesen Sensor?

Bei einem Spannungsausgang muß dafür gesorgt werden, daß die Referenzspannung des ADC ebenso ausreichend genau und stabil ist, und daß möglichst wenig Spannung auf der Masseleitung zum ADC abfällt. Ggf. 3-Leiter Technik benutzen, d.h. neben der gemeinsamen Masseleitung noch den Ausgang und die Masse des Sensors auf ADC-Eingänge legen und mit der Differenz weiterrechnen.

Wenn Dir die Erklärungen zu undurchsichtig sind, fang einfach mal mit dem praktischen Aufbau an. Dann kannst Du selbst feststellen, ob die damit erreichbare Genauigkeit für Deine Zwecke ausreicht. Falls nicht, kann man dann nachmessen, wo's klemmt. Ein Scope wäre dafür allerdings höchst empfehlenswert, damit auch Einstreuungen und sonstiges Rauschen festgestellt werden können.

magictrips

Der Sensor ist der MPX5010DP 4,75-5,25V Versorgung braucht der....max. 10mA

Aus irgendeinem Grund bekomme ich den Wert 34 Ticks für 0mBar raus ......

5000mV sind 1024 Ticks ?

das ergibt folgende Tabelle:
0mBar = 34Ticks = 166mV (=Wert)
+1mBar = + 0,977Ticks = +4,769mV (=Anstieg)
+1,077mBar  = +1Tick = +4,883mV (=Anstieg)
1mBar = 34,977Ticks = 170,77mV (=Wert)
1000mBar = 962,56Ticks = 4700mV (=Wert)

Wenn das stimmt, müßte ich min. ein Spannungsfall von 4,7mV haben, damit sich das bemerkbar macht....

Die Leitung hat bei 4m Länge (bzw 2*2M) (gemessen) 0,45Ohm.... find ich irgednwie schon viel....

Wenn ich jetzt nur mal die 10mA vom Sensor nehme, müßte ich doch auf ein Spannungsfall von 4,5mV kommen ?


Ich habe grade übrigens gesehen, das man optional auch noch das Ausgangssignal, mit drei Kondensatoren entkoppeln und filtern kann..... könnte mir bitte jemand erklären, das was für einen Effekt hätte ? bzw was für Vorteile mir das bringen würde oder könnte ?

Go Up