Frage zu Umrechnung Logarithmischer-> Lineare Kurve

Gast #573557
Lesenswert?

Hi,
irgendwie habe ich gerade eine Denkblockade und brauche mal einen Tipp.
Problem: Habe Poti mit log. Teilung, dieser liefert nun Werte von 0 bis 
1024 an meinem 10bit ADC.
D.h. von einer Winkelskala von 0 (ganz links) bis 10 (ganz rechts) 
erhalte ich Werte (grob geschätzt) wie
1 - 150 - 365 - 625 - 865 - 940 - 980 - 1000 - 1015 - 1020 - 1023

Man sieht schon, die ersten 10% des Potiwegs ergeben einen viel größeren 
Wertebereich als die letzten 50%. Logarithmisch eben ...

Jetzt würde ich gerne aus den gelieferten Werden wieder eine linearen 
Verlauf machen (z.B. von 0 bis 100 - wenn der Poti in der Mitte steht 
erhalte ich 50; ganz links 0 und ganz rechts 100 und bei 75% eben 75 - 
damit mein Mikrocontroller einfach nur von 10%, 50% Stellung etc. 
ausgehen kann.
D.h. irgendwie müssen die Werte
1 - 150 - 365 - 625 - 865 - 940 - 980 - 1000 - 1015 - 1020 - 1023
in
1 - 10 - 20 - 30 - 40 - 50 - 60 - 70 - 80 - 90 - 100 umgerechnet werden 
können. Ist bestimmt Niveau 8. Schuljahr oder so, aber ich bekomme es 
nicht hin.

Daher bitte ich um Hilfe!
Dankeschön!
Steffi
Gast #573578
Lesenswert?

Hallo,

ich kenne das so: im kleinen Bereich ist das Poti sehr langsam, dh z.B. 
bei einem 10K-Poti muss man sehr lange drehen, um von 0 auf 5k zu 
kommen. Demnach schließe ich, dass Du die Spannung an einem 
Spannungsteiler misst??

Rechne also R - x, dann log(R - x) und der Wert ist wieder linear. 
Allerdings noch nicht im richtigen Bereich. Der Rest sollte aber nicht 
so schwierig sein. Eben ein bisschen +,-,*,/.

(R ist der Maximale Widerstand, den Du am Controller messen kannst, x 
der aktuell eingelesene Wert)

Andere Idee:
Wenn Dein Controller noch viel Speciher hat, dann schreib ein kleines 
Programm, dass sehr schnell viele Werte digitalisiert und im Speicher 
ablegt, sodass Du am Ende eine Lookup-Table hast.
Neee, vergess das lieber ;-)

Gruß

Christian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren