Forum: Analoge Elektronik und Schaltungstechnik Poti-Wert ohne Tabelle linearisieren


von Georg Simon Ohm (Gast)


Lesenswert?

Machen wir's mal ganz einfach:
auf einer Skala von 0..100% soll die Stellung des Schleifkontakts eines 
Schiebepotis abgebildet werden. Der Poti wird über eine AD-Wandler 
eingelesen.
Dummerweise fängt der Poti aber nicht bei 0 an und hört bei 10 kOhm auf 
sondern beginnt bei 130 Ohm ("Offset") und endet bei 9620 Ohm.

Einfache Proportionalisierung minus Offset geht nicht, ich habe schon 
mehrere Varianten probiert, da kam stets Nonsens raus. Wie kann ich 
diesen unlinearen Zusammenhang ohne Tabelle lösen? Ist da eine 
mathematische Folge in der Art 1/x + 1/x^2 + 1/x^3 drin versteckt?

von Joachim B. (jar)


Lesenswert?

ist es ein linear Poti ?

-> halber Weg, halbe Ohm?

dann Geradengleichung Y = m * X + b

klappt ganz gut bei fast jeder AD - Wandlung, sprich Spannungsmessung

Georg Simon Ohm schrieb:
> Einfache Proportionalisierung minus Offset geht nicht, ich habe schon
> mehrere Varianten probiert, da kam stets Nonsens raus.

also nicht, dann wirds ein log. Poti sein (pos. oder neg.)

wenn du keine Tabelle willst musst du halt mit dem Log. rechnen 
(Math.LIB, + floating Point) auf AVR möglicherweise Speicher fressend, 
aber über den Prozzi schweigst du ja.

Evtl. geht Teilstücke zu linearisieren in bekannten Fehlergrenzen

wenn A-B
Geradengleichung Y = m1 * X + b1
wenn C-D
Geradengleichung Y = m2 * X + b2

usw.

von thomas s (Gast)


Lesenswert?

Das Poti hat einfach eine elektrische Mittelstellung bei R/2. Du 
definierst diese elektrische Mittelstellung einfach auch als mechanische 
Mittelstellung und bist fertig.

Klar ist, dass mechanischer Anfang und Ende, das sind die Stellen, an 
welchen der Schleifer blockiert, nicht mit elektischem Anfang und Ende 
übereinstimmen.

von Joachim B. (jar)


Lesenswert?

thomas s schrieb:
> Du
> definierst diese elektrische Mittelstellung einfach auch als mechanische
> Mittelstellung und bist fertig.

kann das einer mal übersetzen?


wie soll das gehen ohne Tabelle für andere Werte bei log. Potis?

von Pandur S. (jetztnicht)


Lesenswert?

Und die Anforderungen sind? 1%, 0.1% ? Wozu?

von Georg Simon Ohm (Gast)


Lesenswert?

Das Poti ist linear.

Diese y= mx+b Geschichte habe ich als erstes aufgegriffen und eine 
Stunde lang in unterschiedlichen Kombinationen untersucht - es kamen 
aber immer starke Verfälschungen an den Skalenenden raus.

Machen wir's mal etwas einfacher:
1
Potiwert : 10..200 Ohm, linearisiert auf 0..100%
2
3
Meßendwert = 200 Ohm
4
Skalenendwert = 100%
5
Offset = 10 Ohm
6
7
Skalierungsfaktor = (Meßendwert - Offset) / Skalenendwert = (200-10) / 100 = 0.5263
8
9
0.5263 * 10 Ohm = 0 = 0%  |ok
10
0.5263 *200 Ohm =  105.26%  |Schrott

Ich könnte das Ganze natürlich in viele kleine Intervalle aufteilen bis 
der Fehler nicht mehr auffällt... - aber gibt's an der Stelle nix 
eleganteres?

von Harald W. (wilhelms)


Lesenswert?

Georg Simon Ohm schrieb:

> aber gibt's an der Stelle nix eleganteres?

Ja, eine Tabelle. :-)

von Gerald M. (gerald_m17)


Lesenswert?

Georg Simon Ohm schrieb:
> 0.5263 *200 Ohm =  105.26%  |Schrott

Du darfst dann natürlich nur *190 rechnen

von Georg Simon Ohm (Gast)


Lesenswert?

>Du darfst dann natürlich nur *190 rechnen
Das ist ja das was ich meine. Mit vielen Intervallen geht das. Aber 
wollen wir das wirklich? Deswegen meine Eingangsfrage: Kann man das 
Problem mit einer geometrischen Folge erschlagen? Im grunde genommen ist 
das ein Problem das sehr oft auftritt, beispielsweise bei 
berührungsempfindlichen Grafik-Panels - dort muß pixelgenau der 
Widerstandswert der resistiven Folie für den Stift (Stylus) zugewiesen 
werden. Und jede Folie ist ein bissel anders...

von Dieter Werner (Gast)


Lesenswert?

Du musst den Offset natürlich immer erst vom Messwert abziehen!

0.5263 * (10 - 10 Ohm) = 0 = 0%  |ok
0.5263 *(200 - 10 Ohm) = 100%    |ok

von Pandur S. (jetztnicht)


Lesenswert?

Ein lineares Problem erschlaegt man mit einer Geradengleichung. Wie oben 
gezeigt. Was ist so schwierig daran ?

von spontan (Gast)


Lesenswert?

>Das ist ja das was ich meine. Mit vielen Intervallen geht das. Aber
>wollen wir das wirklich?

Was willst Du mehr als die Lösung es Problems?

von Georg Simon Ohm (Gast)


Lesenswert?

>Du musst den Offset natürlich immer erst vom Messwert abziehen!
Oh wie peinlich.

Danke, das hilft mir weiter.

von Axel S. (a-za-z0-9)


Lesenswert?

Georg Simon Ohm schrieb:
> auf einer Skala von 0..100% soll die Stellung des Schleifkontakts eines
> Schiebepotis abgebildet werden. Der Poti wird über eine AD-Wandler
> eingelesen.

DAS Potentiometer. DER AD-Wandler.

Und was soll "eingelesen" heißen? Normal würde man die beiden Enden des 
Potis an GND und U_ref legen und den Schleifer an den ADC-Eingang. U_ref 
kann dabei auch die Betriebsspannung sein (vorausgesetzt der ADC kann 
die Betriebsspannung als Referenz verwenden). Eventuell noch ein 
RC-Filter zwischen Schleifer und ADC gegen Rauschen/Einstreuungen.

Dann bekommt man für ein ideales Potentiometer und einen idealen ADC den 
Wert 0 für das untere Ende des Potis und den Wert ADC_max (also z.B. 255 
bei einem 8-Bit ADC) für das "obere" Ende.

> Dummerweise fängt der Poti aber nicht bei 0 an und hört bei 10 kOhm auf
> sondern beginnt bei 130 Ohm ("Offset") und endet bei 9620 Ohm.

Ja. Und?

> Einfache Proportionalisierung minus Offset geht nicht, ich habe schon
> mehrere Varianten probiert, da kam stets Nonsens raus.

Das liegt dann aber nicht am Verfahren, sondern daran daß du es falsch 
verwendest.

Nemen wir einfach an, daß dein ADC den Wert MIN für das "untere" Ende 
des Potis liefert und den Wert MAX für das "obere" Ende. Oder anders 
ausgedrückt: MIN ~= 0% und MAX ~= 100%. Für alle Zwischenwerte X ergibt 
sich dann ein linearer Zusammenhang:

PROZENT = (X-MIN)/(MAX-MIN)*100

von Joachim B. (jar)


Lesenswert?

Axel Schwenke schrieb:
> Das liegt dann aber nicht am Verfahren, sondern daran daß du es falsch
> verwendest.

offensichtlich :-)

für die Steigung m gilt dY/dX

also
Messwert 1 Schleifer unten (0% Schiebeweg oder Ohm) = y1 (Spannung) vom 
Schleifer nach unten (GND?) messen
Messwert 2 Schleifer oben (100% Schiebeweg oder Ohm) = y2 (Spannung) 
Schleifer nach unten (GND?) messen

das bildet dir
x1 als ADC y1 (digital Wert) ab
x2 als ADC y2 (digital Wert) ab

dann hast du m = (y2-y1) / (x2-x1)

nun kannst du x und m einsetzen und b ermitteln, sollte für jeden Fall 
gleich eine Konstante sein + Messfehler

bei mir immer genügend genau (gutes Messgerät vorausgesetzt), oft besser 
als der ADC für b1 und b2 -> Abweichung b1 zu b2 deutlich unter 1%

8-bit dac rechnerisch 0,4% (1/256)
10-bit dac rechnerisch 0,1% (1/1024)

: Bearbeitet durch User
von ./. (Gast)


Lesenswert?

Jeder 4 Euro Schultaschenrechner kann mittlerweile
lineare Regression.

Einfach bei Nullanschlag und Endanschlag des Potis
die Ist- und die WunschWerte eintippen.

Und den Taschenrechner den Rest machen lassen...

von Ralf D. (rad)


Lesenswert?

Die Zweipunkteform der Geradengleichung sollte man doch schon noch ohne 
Taschenrechner schaffen, oder?

von Karl (Gast)


Lesenswert?

Ralf D. schrieb:
> Die Zweipunkteform der Geradengleichung sollte man doch schon noch ohne
> Taschenrechner schaffen, oder?

Ja, mit einem Online Rechner

http://www.arndt-bruenner.de/mathe/9/geradedurchzweipunkte.htm

von thomas s (Gast)


Lesenswert?

Joachim B. schrieb:
> kann das einer mal übersetzen?
>
> wie soll das gehen ohne Tabelle für andere Werte bei log. Potis?

Kollege, ein linearer Zusammenhang zwischen Weg und Widerstand existiert 
nur bei linearen Potis.

Was gibt's da groß zu übersetzten? Ist doch ganz einfach, ich habe das 
Verfahren beschrieben, welches für potentiometrische Wegsensoren benutzt 
wird. Das trifft das Problemchen ganz gut. Wahrscheinlich bist du 
übertrainiert :-)

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.