DigitalPoti - Bitberechnung und Anstiegsrate

Gast #4671273
Hallo Zusammen,
ich hätte zwei Fragen zu dem DigitalPoti AD5272/5274, den ich als 
variabler Widerstand für einen Spannungsteiler nutze.

1. Im Datenblatt wird angegeben, dass der aktuelle Widerstandswert 
Rwa=D/1024*Rwa ist.

Wenn Rwa=20kOhm ist und D dem Dezimalwert 0-1023 entspricht, erhalte ich 
für D=1111111111=1023 nicht 20kOhm, sondern 19,980kOhm. Nehme ich für D 
jetzt den maximal-Dezimalwert 1023 oder 1024 (Datenblattauszug: D
 is the decimal equivalent of the binary code loaded in the 10-/8-bit 
RDAC register.)?

2. Bei einem linearen Kennlinienverlauf habe ich eine bestimmte 
konstante Anstiegsrate von V/Bit. Bei 1000V und 1024 Schritten z.B. 
0,976V. Möchte ich 1,953V, also die nächsthöhere Stufe, muss ich bei 
jedem Hochzählen um 2 Bits erhöhen und so weiter. Wie mache ich das aber 
bei einem nichtlinearen Verlauf (logarithmisch)? Da habe ich keine 
konstante Anstiegsrate, möchte aber auch eine Anstiegsrate über eine GUI 
definieren. Intern ist das ja kein Problem. Da erhöhe ich einfach um 1 
Bit pro Schritt, um 2 Bit pro Schritt oder 3 Bit und so weiter. Das 
hängt davon ab, wie hoch die Anstiegsrate ist.
Gast
Mike schrieb:
> Nehme ich für D
> jetzt den maximal-Dezimalwert 1023 oder 1024

Da 1023 der größte Wert, den du ins Register schreiben kannst, 1023 ist 
rechnest du mit 1023. Allerdings sind die sonstigen Fehler des 
Widerstands (z.B. der Linearitätsfehler oder der zusätzliche 
Wiperwiderstand) in Summe deutlich größer als die 20 Ohm Unterschied, er 
sich aus der Rechnung mit 1023 oder mit 1024 ergibt.

Mike schrieb:
> Wie mache ich das aber
> bei einem nichtlinearen Verlauf (logarithmisch)?

wo kommt denn jetzt was logarithmisches her? Meinst du vielleicht die 
nichlineare Kennlinie des Spannungsteilers aus AD5272 und 
Festwiderstand? Das ist nicht logarithmisch, dass ist einfach die 
Spannungsteilerformel (also einfach ein Bruch). Wenn du damit einen 
linearen Spannungsverlauf erreichen willst, musst du zu jedem (linearen) 
Spannungswert ausrechnen, welcher Widerstandswert die Spannung ergibt, 
die möglichst nahe am gewünschten Spannungswert liegt. Z.B. indem du den 
Bruch entsprechend auflöst und den benötigten Widerstandswert 
ausrechnest.

Wenn es nicht ganz so genau sein muss kannst du die nichtlineare 
Kennlinie stückweise linearisieren: in einem Bereich der KL musst du 
dann in jedem Schritt um 2 hochzählen, in einem anderen Bereich in jedem 
Schritt um 3....
Gast
Ok, aber wenn ich D=1023 habe und Rwa=D/1024*Rwa rechne, bekomme ich 
eben nicht 20kOhm raus, sondern 19,980kOhm. Aber höchste Bitzahl müsste 
20kOhm entsprechen, zumindest gehe ich davon aus, wenn ich einen 20kOhm 
DigiPot kaufe. ..
Gast
Mike schrieb:
> Ok, aber wenn ich D=1023 habe und Rwa=D/1024*Rwa rechne, bekomme ich
> eben nicht 20kOhm raus, sondern 19,980kOhm.

Und da der Wiperwiderstand mindestens 35 Ohm beträgt bist du mit 
19,98kOhm+35Ohm schon über 20kOhm. Und da die Genauigkeit viel geringer 
ist bist du am realen Digipoti irgendwo zwischen 19,9kOhm und 20,15kOhm 
(zumindest grob geschätzt).

Der nominelle Widerstandswert beträgt 20kOhm. Der maximal mögliche 
Widerstandswert in der Realität beträgt irgendwas in der Nähe von 
20kOhm.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.