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
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
DANKE - Das war es Christian, ich musste den gemessenen ADC Wert erst von 1023 abziehen. You made my day! Steffi
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.