Hey Leute,
Ich wollte mit einem Spannungsteiler erstmal ohne großen Aufwand einen
Wasserstandssensor bauen. Allerdings wird es ja so sein, dass der
Wasserstand sich zwar linear zum Widerstand des Sensors verhalten wird,
aber Spannungsteiler nicht linear zum Widerstand. Der Strom sinkt ja ab,
wenn der Sensorwiderstand zeigt und es kommen Nichtlinearitäten rein.
Der ADC des uC greift die Spannung in der Mitte ab.
Kann man das in Software irgendwie wieder linear machen? Die Sache ist
ja die, es ist kein Sensor wie ein Platin Sensor oder sowas der den
Widerstand relativ nur wenig ändert.
Danke!
Felix schrieb:> Ich wollte mit einem Spannungsteiler erstmal ohne großen Aufwand einen> Wasserstandssensor bauen. Allerdings wird es ja so sein, dass der> Wasserstand sich zwar linear zum Widerstand des Sensors verhalten wird,> aber Spannungsteiler nicht linear zum Widerstand. Der Strom sinkt ja ab,
Dann solltest Du den oberen Widerstand durch eine Konstantstromquelle
ersetzen. Ich glaube übrigens nicht, das es einen festen Zusammenhang
zwischewn Wasserstand und Widerstand geben wird. Vielleicht findest Du
ja in den DSE-FAQ einen besseren Wasserstandsmesser.
Gruss
Harald
Felix schrieb:> Ich wollte mit einem Spannungsteiler erstmal ohne großen Aufwand einen> Wasserstandssensor bauen.
Wenn man mal von einer konstanten spezifischen Leitfähigkeit deines zu
messenden Wassers ausgeht, werden dir bei einer Leitfähigkeitsmessung
die Oberflächeneffekte an den Elektroden einen Strich durch die Rechnung
machen. Die Linearisierung ist da das kleinste Problem. Außerdem hast du
dafür meist alle Zeit der Welt und wirst kaum einen FPGA einsetzen
müssen.
Hey, komisch eigentlich sollte das Thema ins Elektronik-Forum.
Vielleicht kann das ja verschoben werden.
Das ganze ist erstmal nur kurz Prototypenmässig um zu sehen, wie schnell
sich der Wasserstand ändern kann um was sauberes zu messen. Es ist klar,
dass das ganze später mit Wechselstrom betrieben werden muss und ich
kein FPGA verwende.
Das ganze wird wenn später auch mit einem brauchbaren ADC gemaht und
nicht mit einem uC ADC. Die Frage ist halt die, wähle ich einen großen
Vorwiderstand, so dass die Stromänderungen durch die Widerstände in
Serie vernachlässigbar sind, dann habe ich aber auch nur kleine
Spannungsänderungen oder gehe ich auf eher einen Vorwiderstand der im
Bereich der Größe des Sensors liegt. Dann kommen allerdings
Nichtlinearitäten durch den Strom rein, der sich ja zusätzlich zum
Widerstand ändert. Die Frage ist halt, ob man den Effekt rausrechnen
kann?
Zur Skizze, ist ein einfacher Spannungsteiler. Ein Widerstand fest, der
ändere Veränderlich durch den Sensor
Felix schrieb:> Hey, komisch eigentlich sollte das Thema ins Elektronik-Forum.> Vielleicht kann das ja verschoben werden.
Getan.
Felix schrieb:> Allerdings wird es ja so sein, dass der Wasserstand sich zwar linear zum> Widerstand des Sensors verhalten wird
Wie ist dieser "Sensor" aufgebaut?
> der Wasserstand sich linear zum Widerstand des Sensors verhalten wird
Dasa glaube ich aber erst, wenn ich es gesehen habe. In diesem Sensor
sind so viele (Langzeit-)Nebenwirkungen (z.B. Elektrolyse), dass diese
Annahme sicher falsch ist.
Felix schrieb:> ... um zu sehen, wie schnell sich der Wasserstand ändern kann um> was sauberes zu messen.
Was heißt bei dir "schnell"?
Geht es um Tsunami-Wellen mit Minutenzeitskalen, um
Grundwasserabsenkungen in Dürregebieten mit Zeitskalen von Jahren oder
um das Befüllen von Flaschen mit Hochdruck im Millisekundenbereich?
Werner M. schrieb:> Geht es um Tsunami-Wellen mit Minutenzeitskalen, um> Grundwasserabsenkungen in Dürregebieten mit Zeitskalen von Jahren oder> um das Befüllen von Flaschen mit Hochdruck im Millisekundenbereich?
eher im Millisekundenbereich. Es soll schwappendes Wasser erfasst
werden.
Lothar Miller schrieb:> Dasa glaube ich aber erst, wenn ich es gesehen habe. In diesem Sensor> sind so viele (Langzeit-)Nebenwirkungen (z.B. Elektrolyse), dass diese> Annahme sicher falsch ist.
Das ganze soll erst mal für kurze Zeit betrieben werden. Es sind zwei
Stangen die in Wasser getaucht sind. Steigt der Wasserstand sinkt der
Widerstand. Aber wenn ich es jetzt richtig überlege, müsste der
Widerstand sich mit 1/EINTAUCHTIEFE verändern oder?
Felix schrieb:> Die Frage ist halt, ob man den Effekt rausrechnen> kann?
Man kann jeden berechenbaren Effekt rausrechnen, daher ist die
Diskussion ziemlich überflüssig. Du eichst deinen Sensor einfach an
genügend vielen Punkten und berechnest ein Näherungspolynom. Warum das
Ding wie gekrümmt ist kann dir völlig egal sein.
Georg
Ich komme auf
Wasserstand=((Eingangsspannung-ADC_Spannung)*konstante)/(ADC_Spannung*Vo
rwidestand)
Wenn dein veränderbarer Widerstand konstante/Wasserstand ist und dieser
Widerstand einen Teiler bildet zusammen mit dem Vorwiderstand und über
beiden zusammen Eingangsspannung abfällt und du mit deinem ADC am
veränderbaren Widerstand misst.
Joschua C. schrieb:> Wenn dein veränderbarer Widerstand konstante/Wasserstand ist und dieser> Widerstand einen Teiler bildet zusammen mit dem Vorwiderstand und über> beiden zusammen Eingangsspannung abfällt und du mit deinem ADC am> veränderbaren Widerstand misst.
Genau das hab ich auch raus.
Im Anhang ist Kurve, bei der ich Messwerte aufgezeichnet habe.
Felix schrieb:> Im Anhang ist Kurve, bei der ich Messwerte aufgezeichnet habe.
Die Krümmung der Kurve passt aber nicht richtig zu den Daten, weil die
Funktion nicht zum Prozess paßt (bei kleinen Eintauchtiefen wird die
Funktion zu steil, bei großen zu flach)
Felix schrieb:> Joschua C. schrieb:>> Wenn dein veränderbarer Widerstand konstante/Wasserstand ist und dieser>> Widerstand einen Teiler bildet zusammen mit dem Vorwiderstand und über>> beiden zusammen Eingangsspannung abfällt und du mit deinem ADC am>> veränderbaren Widerstand misst.>> Genau das hab ich auch raus.>> Im Anhang ist Kurve, bei der ich Messwerte aufgezeichnet habe.
Mit den Meßwerten hast du doch das Problem schon halb gelöst. Da du
einen µC verwendest, kannst du das bequem umrechnen lassen. Nimm die
Meßwerte als Stützstellen, zwischen denen du im einfachsten Falle linear
interpolierst.
Und wenn du es gleich richtig machen möchtest, baust du noch ne Funktion
ein, um die Meßwerte direkt mit dem µC aufzunehmen und in dessen EEPROM
zu speichern. Da hast du nämlich gleich die Werte des ADC, die du als
Stützstellen verwenden kannst.
Michael L. schrieb:> Mit den Meßwerten hast du doch das Problem schon halb gelöst. Da du> einen µC verwendest, kannst du das bequem umrechnen lassen. Nimm die> Meßwerte als Stützstellen, zwischen denen du im einfachsten Falle linear> interpolierst.>> Und wenn du es gleich richtig machen möchtest, baust du noch ne Funktion> ein, um die Meßwerte direkt mit dem µC aufzunehmen und in dessen EEPROM> zu speichern. Da hast du nämlich gleich die Werte des ADC, die du als> Stützstellen verwenden kannst.
Ok, soweit so gut. Aber wenn ich z.b Wasser ins Salz packe, die Kurve
gänzlich anders aus. Ist es denn so, dass der Spannungsteiler die Kurve
wieder etwas linearer macht, da sich die ja eigentlich genau gegenteilig
verhält oder?
In der Kurve fehlt die Angabe welche Temperatur das Wasser hat, die
Leitfähigkeit ist stark davon abhängig.
Sorry, aber man beginnt erstmal bei den physikalischen Grundlagen bevor
man einen Sensor entwirft oder Messwerte auswertet. Ich wette, Du hast
Dich noch nicht einmal über die Sondengeometrie von Leitwertmessgeräten
informiert.
Werner schrieb:> Die Krümmung der Kurve passt aber nicht richtig zu den Daten, weil die> Funktion nicht zum Prozess paßt (bei kleinen Eintauchtiefen wird die> Funktion zu steil, bei großen zu flach)
Guter Punkt. Ein kapazitiver Sensor verhält sich nach meiner Rechnung
linear:
C=(e0*b/d)*(h+s*(er-1))
b=Plattenbreite
d=Plattenabstand
h=Plattenhöhe
s=Füllstand
Außerdem ändert sich die spezifische Leitfähigkeit von Wasser zu
destilliertem Wasser um den Faktor 100:
http://de.wikipedia.org/wiki/Elektrische_Leitf%C3%A4higkeit#Elektrische_Leitf.C3.A4higkeit_verschiedener_Stoffe
Die Dielektrizitätszahl nur um ca 8/3:
http://www.vega.com/de-de/Dielektrizitaetszahl-Liste_W.htm
Die kapazitive Messung ist also linearer und nicht so empfindlich.
Felix schrieb:> Michael L. schrieb:>> Mit den Meßwerten hast du doch das Problem schon halb gelöst. Da du>> einen µC verwendest, kannst du das bequem umrechnen lassen. Nimm die>> Meßwerte als Stützstellen, zwischen denen du im einfachsten Falle linear>> interpolierst.>>>> Und wenn du es gleich richtig machen möchtest, baust du noch ne Funktion>> ein, um die Meßwerte direkt mit dem µC aufzunehmen und in dessen EEPROM>> zu speichern. Da hast du nämlich gleich die Werte des ADC, die du als>> Stützstellen verwenden kannst.>> Ok, soweit so gut. Aber wenn ich z.b Wasser ins Salz packe, die Kurve> gänzlich anders aus. Ist es denn so, dass der Spannungsteiler die Kurve> wieder etwas linearer macht, da sich die ja eigentlich genau gegenteilig> verhält oder?
Sorry, aber das ist wieder mal typisch. Nach endloser Diskussion und
'zig Vorschlägen werden plötzlich weitere Informationen und Bedingungen
nachgeschoben.
Ist für meinen Vorschlag aber kein Problem, die Umrechnung kannst du
trotz dem so wie vorgeschlagen machen. Du musst einfach einen anderen,
geeigneten Sensor verwenden.
Joschua C. schrieb:> Die kapazitive Messung ist also linearer und nicht so empfindlich.
Und läßt sich sehr einfach mit einem MC (AVR) realisieren (Analog
Komparator + Input Capture).