Ich mache mich jetzt langsam an den ADC meines LPC1549 LPCXpresso-Boards
ran. Nun habe ich gelesen, daß die Meßspannung nicht zu hochohmig sein
darf, da sonst die Messung falsche Ergebnisse liefert. Soll wohl am
SH-Kondensator liegen. Hört sich auch logisch an.
Ich will bei einer batteriegestützten Anwendung regelmäßig die
Batteriespannung messen, um rechtzeitig wechseln zu können. Dazu wollte
ich einen Spannungsteiler 1 MOhm / 500 kOhm machen und dazwischen
messen. Wird dann wohl vermutlich so nichts. Wo im Datenblatt ist der
maximale Widerstand angegeben? Ich habe dort nur "input impedance: Min.
0,1 MOhm" gefunden. Das kann er ja eigentlich nicht sein.
Und welcher Widerstandswert aus der o.g. Schaltung ist der relevante
Wert? Ich vermute mal, die 500 kOhm?
Manni schrieb:> Soll wohl am SH-Kondensator liegen.
Irgendwoher muss die Ladung zum Umladen des S&H-Kondensators kommen.
Warum soll die nicht aus einem Kondensator kommen, der am Ausgang deines
Spannungsteilers hängt?
Die andere Frage ist natürlich, warum du den unbedingt so hochohmig
auslegen willst. Dann musst du dich auch um Leckströme deines
Mux/ADC-Eingangs kümmern. Wäre es nicht einfacher, das untere Ende vom
Spannungsteiler an einen Ausgang des µC zu hängen, der normalerweise auf
high geschaltet ist? Nur für die Batteriemessung schaltest du ihn dann
auf low, so dass der Spannungteiler richtig als solcher arbeitet. Wenn
die Messung nicht endlos dauert, spielt der Strom für die Ladungsbilanz
der Energieversorgung dann kaum eine Rolle.
Abhängig von µC Versorgungsspannung und Batteriespannung musst du dich
allenfalls darum kümmern, was ggf. an der VDD-seitigen
Eingangsableitdiode passiert.
Hallo,
hänge einen 100n an ADC-GND parallel. Du wirst ja die Batteriespannung
relativ selten mesen müsse. Der Kondensator muß dazwischen nur Zeit
haben, sich auf die Teilerspannung aufzuladen. Der ADC-S&H sieht dann
für den Meßzyklus den 100n als ausreichend niederohmige Spannugsquelle.
Dann darf der Teiler durchaus auch noch etwas hochohmiger ausfallen.
Mache für solceh Fälle beim AVR auch nicht anders.
Gruß aus Berlin
Michael
Manni schrieb:> Sowas war auch der erste Gedanke, aber ich will einen 9 V-Block> überwachen. Und der µC wird mit 3,3 V betrieben.
Gut, dass du das sagst. :-(
Also dann muss ein Kondensator die Ladung liefern und du musst mit dem
Querstrom leben, falls es nicht aufwändiger werden soll.
Wolfgang schrieb:> Die andere Frage ist natürlich, warum du den unbedingt so hochohmig> auslegen willst. Dann musst du dich auch um Leckströme deines> Mux/ADC-Eingangs kümmern. Wäre es nicht einfacher, das untere Ende vom> Spannungsteiler an einen Ausgang des µC zu hängen, der normalerweise auf> high geschaltet ist?> Nur für die Batteriemessung schaltest du ihn dann> auf low, so dass der Spannungteiler richtig als solcher arbeitet. Wenn> die Messung nicht endlos dauert, spielt der Strom für die Ladungsbilanz> der Energieversorgung dann kaum eine Rolle.
Naja, je nach dem in welchem Powermodus der LPC herumwuselt wird dann
über den vermeintlich deaktivierten Spannungsteiler und die
ESD-Ableitdioden im LPC der 3V3-Kreis mit Strom versorgt, kann(!)
funktionieren muß aber nicht.
die Idee, der Spannungsteiler hochohmig auszuführen und 100n an den
ADC-Eingang zu legen ist vollkommen ausreichend und sorgt für keine
unnötigen Probleme, 4M7 - 4M7//4M7 und Du hast am Knoten bei 9V genau
3V, Querstrom 1,3uA....
Eine Dauerstrom-sparende Variante wäre einen PFET oben in den
Spannungsteiler zu legen und den (etwasn niederohmigeren)
Spannungsteiler nur bei Bedarf einzuschalten. Braucht aber einen N-FET
und einen P-FET. Unter SOT323 zzgl 4 Widerständen wirds nicht gehen. Und
den C spart man sich auch nicht. Könnte aber in Summe weniger Strom
brauchen.... (470k, 1n als C und dafür nur alle 3min messen... braucht
effektiv ~80nA)
MiWi
MiWi schrieb:> Naja, je nach dem in welchem Powermodus der LPC herumwuselt wird dann> über den vermeintlich deaktivierten Spannungsteiler und die> ESD-Ableitdioden im LPC der 3V3-Kreis mit Strom versorgt, kann(!)> funktionieren muß aber nicht.
Jetzt bin ich auch schlauer, nachdem klar ist, dass eine 9V Batterie
gemessen werden soll ...
Ganz allgemein: Der permanente Eingangswiderstand (Re) Deines
AD-Wandlers muss mit berücksichtig werden. Er verstimmt Deinen
Spannungsteiler. Wenn Du nicht kalibrieren willst, muss Dein
Spannungsteiler einen deutlich kleineren Innenwiderstand (Ri) haben.
Der Innenwiderstand eines Spannungsteilers (R1 + R2) ist die
Parallelschaltung beider (Ri=R1||R2). Mit Re=100kOhm sollte Ri in der
Größenordnung von 1k liegen. Das ist natürlich nicht ernsthaft machbar.
Wenn der Eingangswiderstand nur während S&H aktiv ist, und sonst >>
10MOhm, dann kannst Du entsprechende Cs und resultierende Widerstände
ausrechnen. Die Stromentnahme während der Messung darf den Kondensator
nur z.B. 1/2 LSB entladen --> daraus ergibt sich C. Ri*C(Tau) muss dann
<< der Zeit zwischen 2 Messungen sein (~5Tau).
Alternativ kannst Du einen sehr niederohmigen Spannungsteiler high-side
zu/abschalten (wie beschrieben, ein open drain und 1 Transistor/FET)
oder einen ultra-low power OP-Amp zur reinen Impedanzwandlung nehmen
(zuweilen gibt es da auch spezialteile für genau sowas)
Manni schrieb:> Min.> 0,1 MOhm" gefunden. Das kann er ja eigentlich nicht sein.
Das ist der äquivalente Widerstand für den Leckstrom der Wandlung durch
den Sample-Kondensator.
Michael U. schrieb:> hänge einen 100n an ADC-GND parallel.
Das ist ein gefährlicher Trugschluß.
Der Leckstrom am Pin ist mit bis zu 4 uA spezifiziert.
Bei 1 MegOhm Eingangsimpedanz beträgt der Meßfehler bis zu 4 Volt.
Das schlimme ist daß bei Raumtemperatur der Leckstrom meist einige
Größenordnungen kleiner ist als über den gesamten Temperaturbereich.
MiWi schrieb:> Eine Dauerstrom-sparende Variante wäre einen PFET oben in den> Spannungsteiler zu legen und den (etwasn niederohmigeren)> Spannungsteiler nur bei Bedarf einzuschalten. Braucht aber einen N-FET> und einen P-FET.
Alternativ siehe auch die Schaltung aus dem Batteriewächterhttps://www.mikrocontroller.net/articles/Datei:BMON_1048_PIC.PNG
Es reicht ein BSS138 und ein Port-Pin.
Der kleine Nachteil ist daß am Source des BSS138 maximal ca 1,5V
unterhalb von VDD gemessen werden können. Also bei 3,3V maximal ca 1.8V
am ADC-Pin.
Gruß Anja
Gääähn, das Thema gab es hier schon 100e-mal.
Die einzige reelle Lösung war schon immer:
Ein Out-Pin schaltet über einen npn-Transistor kapazitiv
(für eine Zeit t proportional zu R und C) einen PMOS ein, der die
zu messende Spannung mit dem "niederohmigen" Spannungsteiler
verbindet.
Nach einigen µs wird der ADC gestartet, dann kann der Out-Pin
abgeschaltetet werden - und nach << 1 ms frisst die Messschaltung
nur noch 0 µA.
Für 1 ms fließen mal 1...2 mA, aber wenn ich die Batterie
nur jede Sekunde messe, wird die Batterie DAVON nur mit 1 bis
2 µA belastet.
Eine Messung alle 10 s dürfte auch reichen: 0,1...0,2 µA.
Nachteil: npn, PMOS, Rb, Rt, Ct
Jakob schrieb:> einzige reelle Lösung war schon immer:
Und warum sind die 3 anderen Varianten, die einen Transistor oder das
Umschalten einsparen, die hier auch beschrieben wurden, nicht ebenso
gut? Zumal die op: Variante neben Umschalten auch Strom spart.
Warum nutzt du nicht folgende Topologie wie jeder andere auch?
Spannungsteiler -> Buffer/Spannungsfolger -> RC-Filterpass --> ADC-In
Du kannst dann deinen Spannungsteiler nahezu beliebig dimensionieren,
ebenso
brauchst du dir um parasitären Effekte im ADC-Eingang kaum mehr Sorgen
machen.