Forum: Mikrocontroller und Digitale Elektronik Spannungsteiler linearisieren


von Felix (Gast)


Lesenswert?

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!

: Verschoben durch Moderator
von Harald W. (wilhelms)


Lesenswert?

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

von MT (Gast)


Lesenswert?

Wie wäre es mit einer Skizze?

von Mike (Gast)


Lesenswert?

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.

von Felix (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

von Werner M. (Gast)


Lesenswert?

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?

von Felix (Gast)


Lesenswert?

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?

von Georg (Gast)


Lesenswert?

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

von Joschua C. (Gast)


Lesenswert?

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.

von Sapperlott (Gast)


Lesenswert?

Ich wuerd einen kapazitiven sensor verwenden, der ist schnell genug und 
linear.

von Felix (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Werner (Gast)


Lesenswert?

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)

von Michael L. (michaelx)


Lesenswert?

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.

von Felix (Gast)


Lesenswert?

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?

von pH (Gast)


Lesenswert?

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.

von Joschua C. (Gast)


Lesenswert?

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.

von Michael L. (michaelx)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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).

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
Noch kein Account? Hier anmelden.