Hallo,
folgendes Problem:
ein C mit 47nF wird über einen Widerstand von +Ub 5V aufgeladen.
Das C hängt am Analogcomparatoreingang AIN1 (-) eines tiny2313, AIN0 (+)
ist auf die Bandgap-Spannung gesetzt (1,23V).
Counter 1 läuft (im Moment) ohne Vorteiler. Ich suche den rechnerischen
Zusammenhang zwischen Widerstandswert und Zählerstand, wenn der
Comaprator den Capture auslöst.
Zeitkonstante ist ja klar, aber wie berechnet sich die bei Ladespannung
5V bis zum Erreichen der 1,23V???
Ich könnte es von Capturewert zurückrechnen, da die ganze Sache aber
noch ein paar Ungenauigkeiten hat, ist mir das erstmal zu unzuverlässig.
Letztlich soll das Ding Widerstände messen, nicht sonderlich genau, nur
zum Sortieren von Standardwerten.
Hat da jemand die passende Formel zur Hand?
Danke im voraus.
Gruß aus Berlin
Michael
Hallo,
@???: naja, da bin ich durchaus vorbeigewandert...
Mein Problem ist eher, daß meine Schulzeit schon knapp 40 Jahre her ist
und ich mir schon an der Umstellung der Formel etwas die Ohren breche
und einfach hoffe, jemand hat das "mal schnell" drauf.
Rs muß doch eine halbwegs einfache Näherung zwischen Widerstandswert und
Zeit unter den gegeben Umständen geben oder irre ich mich da schon?
Gruß aus Berlin
Michael
Näherungsweise kannst du ja "Tau" verwenden. Also R mal C. Tau ist die
sogenannte Zeitkonstante die z.B. angibt wann dein Kondensator zu 63%
geladen ist. Das ganze ist zwar eine Expotentialfunktion aber du kannst
bis zum Zeitpunkt Tau durchaus einen linearen Zusammenhang von Spannung
und Zeit annehmen. Ist zwar mathematisch nicht richtig aber du hast eine
einfache Näherung zum Kopfrechnen.
Eine Näherungslösung ist diese:
Der Widerstand R, könnte zum Beispiel 10 kOhm sein, liegt während des
Aufladevorgangs im Mittel an etwa 4,4 V. Anfangs 5,0 V, am Ende 3,77 V.
Dann ist der Strom durch R gleich 4,4 V / R, hier also 0,44 mA.
Mit dem Strom wird Dein C aufgeladen. Q = C * U, also die Ladung des
vollen Kondensators ist 47 nF * 1,23 V = 57,8 nC.
Diese Ladung muss der Strom nun liefern. Q = I * t, also t = Q / I.
57,8 nC / 0,44 mA = 131 us.
Mit anderen Werten für R ganz ähnlich.
Hallo,
@Currywurst: das ist ja gerade mein Problem...
Tau sagt mir zwar, wann der C auf 63% aufgeladen ist, also auf 3,15V.
Mein Problem ist nun, sozusagen "Tau" für 1,23V zu bestimmen.
Weil es eine Exponetialfunktion ist, verzweifle ich daran etwas.
Es müßte doch ein R C x gegen, bei dem x der Faktor ist, der nahe
genug an 1,23V (24,6%) rankommt. Ich bekomme es aber irgendwie nicht
gebacken.
Gruß aus Berlin
Michael
Ub ist die Betriebsspannung mit der der Kondensator geladen wird, Uref
die
Spannung, an der der Komparator anspricht, tau die Zeitkonstante RC.
Ah, endlich konnte ich die [math]-Funktion des Forums einmal sinnvoll
anwenden :)
Andrew wrote:
>>d = ln( 1 - U(t)/Umax ) / -t>> müsste doch d = -t / ln(1-U(t)/Umax) heißen, oder? Also Zähler und> Nenner vertauschen.
Ja du hast recht
(ich hatte vorher nach t aufgelöst, bevor ich gemerkt habe,
dass wir ja eigentlich nach R gehen und ich das R über d kriege)
d = -t / ln( 1 -U(t)/Umax)
für d einsetzen
R * C = -t / ln( .... )
-t
R = ------------------------
C * ln( 1 - U(t)/Umax)
Aber das muesste es jetzt sein.
klingt auch plausibel:
Je länger die Zeit, desto größer war der Widerstand
da 1 - ... kleiner 1 ist, ist der ln davon negativ,
daher muss t auch negativ sein, damit der Bruch positiv
wird.
Hallo,
@Tom: das sieht erstmal sehr interessant aus, zumal der Weg µC-günsig
wäre. Das spiele ich mal durch.
@Karl heinz Buchegger: ich nicht. ;)))
Sind der Sache ist es, ohne Aufwand eine "Widerstands-Sortierhilfe" zu
bauen. Ich kann also gewisse Restfehler entweder ignorieren, kann sie
aus einer Tabelle kompensieren oder mit einer E-Reihe im Flash
abgleichen.
Deshalb gefällt mir auf Anhieb auch Toms Ansatz so gut.
Gruß aus Berlin
Michael
Michael U. wrote:
> Hallo,>> @Tom: das sieht erstmal sehr interessant aus, zumal der Weg µC-günsig> wäre. Das spiele ich mal durch.>> @Karl heinz Buchegger: ich nicht. ;)))>> Sind der Sache ist es, ohne Aufwand eine "Widerstands-Sortierhilfe" zu> bauen. Ich kann also gewisse Restfehler entweder ignorieren, kann sie> aus einer Tabelle kompensieren oder mit einer E-Reihe im Flash> abgleichen.>> Deshalb gefällt mir auf Anhieb auch Toms Ansatz so gut.
Wo hast du das Problem?
Falls du den Rechenprobleme befürchtest:
der ganze ln( ... ) ist eine Konstante, da U(t) ja
konstant ist ( = deine Comperator Spannung)
Aber: ist ok. Meine kleinen grauen Zellen brauchten sowieso
etwas Gymnastik :-)
>>Sind der Sache ist es, ohne Aufwand eine "Widerstands-Sortierhilfe" zu>>bauen. Ich kann also gewisse Restfehler entweder ignorieren, kann sie>>aus einer Tabelle kompensieren oder mit einer E-Reihe im Flash>>abgleichen.
Ist die Spannung an der R liegt groß gegenüber den 1,25 Volt dann kannst
du ja lineare zusammenhänge annehmen. Der Widerstand ist ja für einen
fast konstanten Spannungsabfall eine fast konstante Stromquelle. Für das
sortieren in einer E12 Reihe reicht es bestimmt. Nehme mal an die Zeit T
bis zum erreichen von 1,25Volt ist proportional zu R. Bei bekannter
Kapazität C ergibt sich ein fast linearer zusammenhang von T und R. Der
Rest ist Dreisatzrechnung und ausprobieren.
Er braucht doch keine lineare Näherung, die Rechnung ist auch mit der
Exponentialfunktion einfach aufzulösen und endet in einer Multiplikation
mit einer Konstanten.
> Er braucht doch keine lineare Näherung, die Rechnung ist auch mit der> Exponentialfunktion einfach aufzulösen und endet in einer Multiplikation> mit einer Konstanten.
Kommt aber das gleiche dabei raus.
Konstante von Andrew: R= 7.535 * 10^7 * t
d.h. t = 132,7 us bei R = 10 kOhm
Die lineare Näherung ergibt 131 us für 10 kOhm.
Diese Konstante muss nun Grundlage für die Programmierung sein - egal
wie ermittelt.
Bei dem Projekt wäre noch zu bedenken, dass Kondensatoren große
Toleranzen haben können. Damit wird die Messung sehr ungenau. Kann man
aber durch Kalibrieren mit einem bekannten Widerstand rausrechnen.
Hallo,
@Tom: ok, das nehme ich dann mal, Danke nochmal an alle.
Alles daran hat Toleranzen, Bandgap-Spannung, Betriebsspannung,
Kondensator. Wie Du schon richtig sagst, kann ich das dann aber mit für
mich ausreichender Genauigkeit rausrechnen.
Gruß aus Berlin
Michael
Hi!
Einen Gedanken hätte ich noch. In Anlehnung an Tom, den Rx aber in einen
Stromtreiber einsetzen und mit Konstantstrom laden. Die e-Funktion ist
dann
komplett raus. t= C*dU/I (gerade um U0 rum wirkt die e-Funkt. doch
heftig)
Wenn du den Stromtreiber geschickt aufbaust kann die gemessene Zeit
direkt dem Rx zugeordnet werden.
Viel Erfolg, Uwe
.
Hallo,
@GeraldB: der Fall tritt ja nicht auf. Ladespannung am Widerstand ist Ub
des AVR, also 5V. Schaltpunkt ist die Bandgap-Spannung also rund 1,23V.
Weiter wird nicht geladen, nach dem Capture wird das C erst über den
Messwiderstand und dann durch L am AVR-Pin entladen.
Ist bei kleinen Widerständen und damit großen nötigen Kondensatoren für
sinnvolle Capturewerte sowieso nahezu AVR-Mißhandlung...
@Uwe: Im Moment besteht der Testaufbau aus 4x 7-Segment im Multiplex mit
Stellentriebern und Segmentwiderständen, dem Tiny2313, 2 Cs und den
Meßklemmen. Wenn irgendwie möglich, will ich es dabei belassen,
irgendwie bin ich gerade auf dem "Minimal-Trip". ;)))
Gruß aus Berlin
Michael