Forum: Mikrocontroller und Digitale Elektronik Kalibrierung von Potentiometer via µC


von Pauli (Gast)


Lesenswert?

Hy Leute!

Programmiere gerade an einem C167.
Die Potentiometer die an den ADC hängen sind von 0-5V versorgt.
Testweise liefern Sie zu Diagnose zwecken eine Spannung von ca.0,5V bis 
ca.4,5V.

Nun soll ein Prozentwert von  0-100% ausgegeben werden.
Eine Idee wie man Potis kalibrieren kann?

lg Paul

von Karl H. (kbuchegg)


Lesenswert?

Minimum messen, Maximum messen

  Prozent = 100 * ( Messwert - Minimum ) / ( Maximum - Minimum )

(Und nein, du musst dir dazu nicht erst die Spannung ausrechnen. Einfach 
die Werte direkt vom ADC benutzen)

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


Lesenswert?

Pauli schrieb:

> Programmiere gerade an einem C167.
> Die Potentiometer die an den ADC hängen sind von 0-5V versorgt.
> Testweise liefern Sie zu Diagnose zwecken eine Spannung von ca.0,5V bis
> ca.4,5V.

Aha. Sollten die nicht eher 0-5V liefern?

> Nun soll ein Prozentwert von  0-100% ausgegeben werden.
> Eine Idee wie man Potis kalibrieren kann?

Wenn die Potis direkt zwischen +5V und GND hängen und der ADC die +5V 
als Referenz benutzt, dann mußt du da gar nix kalibrieren.

Einfach 100% * ADC / ADC_MAX

Wenn dein ADC 8 Bit hat (ADC_MAX=255) und weniger als 2 LSB Fehler, dann 
ist der Fehler kleiner als 1%.


PS: mit Karl Heinz Ansatz kommst du genau auf das gleiche, wenn MIN=0 
und MAX=ADC_MAX ist.


XL

von Karl H. (kbuchegg)


Lesenswert?

Axel Schwenke schrieb:
> Pauli schrieb:
>
>> Programmiere gerade an einem C167.
>> Die Potentiometer die an den ADC hängen sind von 0-5V versorgt.
>> Testweise liefern Sie zu Diagnose zwecken eine Spannung von ca.0,5V bis
>> ca.4,5V.
>
> Aha. Sollten die nicht eher 0-5V liefern?

Kommt aufs Poti an.
Es gibt Potis, bei denen ist es nicht möglich, mit dem Schleifer 
mechanisch ganz bis ans Ende der Widerstandsbahn zu fahren.

Ist ja doch kein Thema. Kann man rausrechnen.

> PS: mit Karl Heinz Ansatz kommst du genau auf das gleiche,
> wenn MIN=0 und MAX=ADC_MAX ist.
Klar. Ist ja auch die erste Verallgemeinerung der linearen Gleichung, 
die du zum Umrechnen benutzt hast. Die nächste Stufe wäre dann: Es soll 
nicht 0 - 100 rauskommen, sondern ein Wert von A bis B  (hier A gleich 
0, B gleich 100)

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.