Forum: Mikrocontroller und Digitale Elektronik Frage zu Umrechnung Logarithmischer-> Lineare Kurve


von Steffi (Gast)


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

von Jack B. (jackbraun)


Lesenswert?


von Christian (Gast)


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

von Steffi (Gast)


Lesenswert?

DANKE - Das war es Christian,
ich musste den gemessenen ADC Wert erst von 1023 abziehen.
You made my day!
Steffi

von Frank S. (Firma: HSCS) (linuxerr)


Lesenswert?

vielleicht sollte man ja ein lineares poti benutzen, bevor man den armen 
microcontroller mit logarithmen quält.

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.