Hallo,
ich hätte eine Frage zum Arduino und dessen Analog Pin.
Ich messe über einen Spannungsteiler (Vmax 1,1V) eine Batteriespannung.
Was passiert, wenn ich eine Batterie messe und der Arduino nicht
eingeschaltet ist.
Also Spannung am Analog Pin des nicht spannungsversorgen Arduino
anliegt.
Ist hier eine Beschädigung zu befürchten?
Vielen Dank
Oliver111 schrieb:> Ich messe über einen Spannungsteiler (Vmax 1,1V) eine Batteriespannung.> ...> Ist hier eine Beschädigung zu befürchten?
Wenn Du über einen Spannungsteiler misst, würde ich nicht denken, dass
da etwas kaputt gehen kann. Wie groß sind denn Die Widerstände Deines
Teilers?
Oliver111 schrieb:> Also Spannung am Analog Pin des nicht spannungsversorgen Arduino> anliegt.> Ist hier eine Beschädigung zu befürchten?
Vorneweg: wenn der Vcc Pin 0V hat und der IO-Pin 1,1V, dann betreibst du
den uC ausserhalb der "Absolute Maximum Ratings"...
Also musst du zusehen, dass die 1,1V nicht an den Pin kommen. Und ich
würde das einfach mit einem hochohimgen Spannungsteiler machen, der den
Strom durch die Schutzdiode auf eine Winzigkeit begrenzt. Dazu noch ein
Kondensator und fertig ist die Laube. Größenordnungsmäßig etwa so:
470k ist zu groß!
Es fließt ein Eingangsstrom, wenn auch sehr gering.
Aber bei 470k kommt schon ein Fehler zustande.
Ich bin gerade dabei mit MathCad die Toleranzen bei Analogeingängen zu
berechnen.
Der Unterschied zwischen 47k und 33k ist enorm.
Selbst laut App.Note des Herstellers werden oft zu max. 47k geraten.
Bei 1,1V genügt auch etwas "kleines" wie 10k.
Fuer Pic-Controller soll der max. Innenwiderstand der zu messenden
Spannungsquelle von 10k nicht ueberschritten werden - wenn man Wert auf
genaue Messungen legt.
Bei einem Spannungsteiler von 470k und 47k kommt man auf einen
Innenwiderstand von ca. 42k.
Der Anhang zeigt das Prinzip eines Analogeingangs.
> Aber bei 470k kommt schon ein Fehler zustande.
Der AD mist die Spannung aber auch nicht durch den 470K Widerstand
sondern am 100nF Kondensator der über den 470K geladen wurde. Das geht
schon so und stellt gleichzeitig einen Tiefpass dar. Man muss nur
niederohmiger werden wenn man schneller messen will.
uwe schrieb:> Der AD mist die Spannung aber auch nicht durch den 470K Widerstand> sondern am 100nF Kondensator der über den 470K geladen wurde. Das geht> schon so und stellt gleichzeitig einen Tiefpass dar. Man muss nur> niederohmiger werden wenn man schneller messen will.
Was meinst Du warum Microchip empfiehlt, dass der Innenwiderstand der zu
messenden Spannungquelle <= 10k sein soll?
Siehe frueher gepostetes Bild....die Loesung ist dort rot umrandet.
Eine Spannungsquelle mit einem Innenwiderstand bildet mit dem (nicht
unendlich grossen)Eingangswiderstand eines uC-Analogeingangs einen
ungewollten Spannungsteiler.Statt den vermeintlichen 1.1V misst man dann
halt z.B. nur 1.05V.....
Hi
>Was meinst Du warum Microchip empfiehlt, dass der Innenwiderstand der zu>messenden Spannungquelle <= 10k sein soll?
Das spielt nur eine Rolle für den Moment in den Chold umgeladen wird.
Und dafür reicht ein 100nF-Kondensator allemal.
>Siehe frueher gepostetes Bild....die Loesung ist dort rot umrandet.
Die Aussage gilt nur, wenn am ADC-Eingang kein zusätzlicher
Kondensator vorhanden ist. Bei AVRs sind die Sample-Kondensatoren noch
kleiner (14pF). Außerdem ist das stark von der Samplefrequenz abhängig.
MfG Spess
Muss jetzt mal dumm fragen, ist mir schon des öfteren aufgefallen: (Bild
oben. AD-input).
Eigentlich kenn ich das y=f(x) mit x waagerecht und y senkrecht. Klar,
letztendlich ändert eine Vertauschung der Darstellungsachsen nichts,
aber einheitliche Konventionen erleichtern die Sache. Bevorzugt ist
Vertauschung in Amerika zu finden.
Toxic schrieb:> Eine Spannungsquelle mit einem Innenwiderstand bildet mit dem (nicht> unendlich grossen)Eingangswiderstand eines uC-Analogeingangs einen> ungewollten Spannungsteiler.Statt den vermeintlichen 1.1V misst man dann> halt z.B. nur 1.05V.....
das stimmt zwar, ist aber vollkommen egal, denn die Widerstände haben
eine Toleranz, der AD-Wandler bzw. die Referenz hat eine Toleranz.
Das heißt wenn Du die Genauigkeit steigern willst kommst du um eine
Kalibrierung sowieso nicht herum
> Was meinst Du warum Microchip empfiehlt, dass der Innenwiderstand der zu> messenden Spannungquelle <= 10k sein soll?> [...]> Eine Spannungsquelle mit einem Innenwiderstand bildet mit dem (nicht> unendlich grossen)Eingangswiderstand eines uC-Analogeingangs einen> ungewollten Spannungsteiler.
Du verstehst das falsch: der Eingangswiderstand Rain des AVR liegt bei
typisch 100 Megaohm. Die niedrige Impedanz der Spannungsquelle wird
benötigt, um den Sample'n'Hold Kondensator (einige pF) genügend schnell
umzuladen. Und das schafft hier der 100nF-Kondensator - der ist, für
einen genügend lange Zeit, eine Spannungsquelle mit sehr geringen
Innenwiderstand.
@Oliver
Ausgehend von PIC-Bild würde ich folgendes sagen:
Bei halbwegs vernünftig dimensionierten Vorwiderständen, kann nichts
passieren.
Es sind ja Schutzdioden implementiert.
Dumm ist nur, dass die Anzahl an PICs in den Arduinos gegen 0 geht.
Die Eingänge sowohl Digital als auch Analog sind in den Manuals von
Atmel ausreichend dokumentiert.
Zu den vorgeschlagenen Widerstandswerten bin ich der Meinung: Alle zu
hochohmig.
Aus der Hüfte kann ich Dir allerdings keinen Vorschlag machen, da mir
sämtliche Informationen zur Quelle fehlen.
spess53 schrieb:> Die Aussage gilt nur, wenn am ADC-Eingang kein zusätzlicher> Kondensator vorhanden ist. Bei AVRs sind die Sample-Kondensatoren noch> kleiner (14pF). Außerdem ist das stark von der Samplefrequenz abhängig.
Auch der zusätzliche Kondensator kann zu deutlichen Fehlern führen.
Wenn die Dauer zwischen zwei Samples kürzer ist als die (mehrfache)
Zeitkonstante der externen RC-Beschaltung, so ergibt sich ein Fehler.
Der Sampling-Kondensator entnimmt dem externen Kondensator einen
Bruchteil seiner Ladung und diese Entnahme muss bis zum nächsten
Abtastvorgang durch das Nachladen über den externen R wieder
ausgeglichen werden.
Das ist wenig problematisch, wenn nur mit einem Kanal eine
Gleichspannung gemessen wird, weil dann der Csample ja auch immer
weniger Ladung aus dem Cext entnimmt. Relevant ist der Fall, wenn
mehrere Kanäle unterschiedliche Werte messen müssen. D.h., Rext*Cext so
klein wie möglich und fsample so langsam wie möglich.
Zum vorhandenen Problem: niederohmige Widerstände und externe
Schottky-Dioden zum Schutz des Eingangs nehmen.
> Zum vorhandenen Problem: niederohmige Widerstände und externe> Schottky-Dioden zum Schutz des Eingangs nehmen.
Was soll das bringen? Dann versorgst du doch erst recht den
Mikrocontroller über das zu messende Signal (hier Batterie) mit Strom.
Hi
>Auch der zusätzliche Kondensator kann zu deutlichen Fehlern führen.>Wenn die Dauer zwischen zwei Samples kürzer ist als die (mehrfache)>Zeitkonstante der externen RC-Beschaltung, so ergibt sich ein Fehler.
Ich habe vor längerer Zeit mal den Spannungseinbruch am ADC-Eingang ohne
zusätzlichen Kondensator gemessen. Die Widerstandswerte sind jeweils ein
Spannungsteiler aus zwei solchen Widerständen.
Kann sich jeder seine eigene Meinung bilden.
MfG Spess
spess53 schrieb:> Ich habe vor längerer Zeit mal den Spannungseinbruch am ADC-Eingang ohne> zusätzlichen Kondensator gemessen. Die Widerstandswerte sind jeweils ein> Spannungsteiler aus zwei solchen Widerständen.
Ich vermisse die Angabe des externen Kondensators, vermutlich hattest du
für die Bilder keinen verwendet. Nur mit dem internen Csample ist das
alles kein Problem - vielleicht noch abhängig vom AD-Wandler.
Mit externem Kondensator wird der Einbruch kleiner, klar, aber bis er
wieder auf 99,99% aufgeladen ist, dauert es wesentlich länger! Wird
vorher ein neues Sample genommen, dann gibt es den nächsten Einbruch,
der etwas tiefer geht. Und so weiter, bis zu einer konstanten Ablage,
denn das spielt sich mit der Zeit ein.
Hi
>Ich vermisse die Angabe des externen Kondensators, vermutlich hattest du>für die Bilder keinen verwendet.
Hatte ich schon geschrieben:
'...am ADC-Eingang ohne zusätzlichen Kondensator gemessen.'
Die 'Messungen' habe ich vor ein paar Jahren mal auf die Schnelle
gemacht um einen Eindruck zu erhalten, wie 'dramatisch' diese Einbrüche
in der Samplephase wirklich sind. Deswegen sollte man das Ganze auch nur
qualitativ betrachten.
>Mit externem Kondensator wird der Einbruch kleiner, klar, aber bis er>wieder auf 99,99% aufgeladen ist, dauert es wesentlich länger! Wird>vorher ein neues Sample genommen, dann gibt es den nächsten Einbruch,>der etwas tiefer geht. Und so weiter, bis zu einer konstanten Ablage,>denn das spielt sich mit der Zeit ein.
Kommt immer darauf an, als was man den ADC betrachtet. Als mehr oder
weniger genaues 'Schätzeisen' kann man auf so tiefgründige Betrachtungen
verzichten. Beim Bau eines Messgerätes muss man natürlich ganz anders
herangehen.
MfG Spess
Bastler schrieb:> 470k ist zu groß!
Ok, mach 100k und 10k draus, dann ist der Innenwiderstand dieser
Ersatzquelle schon nur noch 9k. Und die Impedanz wird durch den
Kondensator hinreichend verringert.
Weil hier ja nur eine statische Versorgung gemessen werden soll, darf
der Kondensator auch deutlich groß gewählt werden...
HildeK schrieb:> Zum vorhandenen Problem: niederohmige Widerstände und externe> Schottky-Dioden zum Schutz des Eingangs nehmen.
Beim AVR darf man sich auf die Schutzdioden verlassen.
HildeK schrieb:> Mit externem Kondensator wird der Einbruch kleiner, klar, aber bis er> wieder auf 99,99% aufgeladen ist, dauert es wesentlich länger! Wird> vorher ein neues Sample genommen, dann gibt es den nächsten Einbruch,> der etwas tiefer geht.
Das passiert aber auch nur, wenn die Grenzfrequenz des RC-Gliedes zu
hoch gewählt, wenn also der Innenwiderstand zu hoch ist.
Das Gegenteil wurde nämlich schon öfter beobachtet: weil der
Innenwiderstand der Quellen zu hoch ist und kein Kondensator eingesetzt
wird, zeigt sich eine Abhängigkeit der Kanäle untereinander: je nachdem,
ob vorher eine hohe oder niedrige Spannung gemessen wurde, ist der
nachfolgende Wert "ein wenig" zu hoch oder zu niedrig.
Ich sehe das so: der externe Kondensator sollte mindestens um die nötige
Auflösung (1 LSB) größer sein als der zu ladende Sample-Kondensator. Bei
den angesprochenen 14pF und einem 10-Bitwandler mit 1024 Incrementen
setze ich demnach einen 15nF Kondensator ein.
Toxic schrieb:> Fuer Pic-Controller soll der max. Innenwiderstand der zu messenden> Spannungsquelle von 10k nicht ueberschritten werden
Mit +-0,5uA bekomme ich bei 47kOhm einen Spannungsabfall von 23mV. Ok,
das ist bei einem Messbereich bis 1V doch etwas viel.
Beim AVR ist der Eingangsleckstrom (Input Leakage Current) der IO-Pins
etwa gleich (nur der Analog-Komparator ist mit +-50nA deutlich besser).
Da führt allerdings das Datenblatt sich selbst ad Absurdum, denn die
dort propagierten 10kOhm zusammen mit dem Leckstrom von max. 1uA ergeben
10mV, und das ist bei einem Messbereich von 0..1V gerade mal 1% und
damit bestenfalls 7 Bit Genauigkeit. Bei 0..5V kommt man dann gerade mal
auf 9 Bit. Und das bei einem 10-Bit Wandler... :-o
spess53 schrieb:> Die 'Messungen' habe ich vor ein paar Jahren mal auf die Schnelle> gemacht um einen Eindruck zu erhalten, wie 'dramatisch' diese Einbrüche> in der Samplephase wirklich sind.
Ohne den Cext bin ich voll bei dir. Mit einem Cext muss man eben alle
Randbedingungen betrachten.
> Kommt immer darauf an, als was man den ADC betrachtet.
Ich hatte mich vor einiger Zeit damit beschäftigt, weil man eine genaue
Spannungsüberwachung erstellen sollte. Neben den Angaben im Datenblatt
über die diversen Fehlerbeiträge eines ADC ist eben auch das ein Thema
und es ist wenig bekannt - auch in den Datenblättern oder App-Notes
selten erwähnt oder sogar gelegentlich mal unrichtig betrachtet. Und da
gaukelt einem das Vorhandenseins eines 10 Bit oder sogar 12 Bit ADC oft
eine Präzision vor, von der dann bei falscher Wahl von Rext, Cext oder
fsample nur noch 6-8 Bit übrigbleiben.
Ohne detaillierte Betrachtung ist man geneigt, eine große Zeitkonstante
der externen RC-Beschaltung (Anti-Aliasing) als gut zu empfinden oder
einen hohen Quellwiderstand mit einem großen Cext kompensieren zu
wollen. So war das auch oben in einigen Beiträgen herauszulesen. Das ist
eben nicht generell richtig und ich wollte mit meinen Bemerkungen diesen
Punkt ins Bewusstsein bringen. Ich selber habe das vor einiger Zeit auch
erst gelernt ...
Dass natürlich auch der Eingangswiderstand des ADC auf die Wahl des
maximalen Rext betrachtet werden muss, habe ich hier mal weggelassen,
das wird ja eher nicht übersehen.
HildeK schrieb:> Man könnte auch das hier lesen:> http://www.xilinx.com/support/documentation/application_notes/xapp795-driving-xadc.pdf> oder weitere Quellen anderer Hersteller suchen
wenn es nicht um einen AVR gehen würde
HildeK schrieb:> Mit externem Kondensator wird der Einbruch kleiner, klar, aber bis er> wieder auf 99,99% aufgeladen ist, dauert es wesentlich länger!
es reichen auch 99,9%
HildeK schrieb:> Rext*Cext so> klein wie möglich
eher Rext so klein wie möglich denn aus einem großen Cext entnimmt der
Samplekondensator auch einen kleineren Anteil der Ladung
Walter schrieb:> wenn es nicht um einen AVR gehen würde
Das Problem hat nichts mit dem Hersteller zu tun - davon ist jeder ADC
betroffen, wenn die Beschaltung bzw. die Abtastrate falsch gewählt wird.
Walter schrieb:> eher Rext so klein wie möglich denn aus einem großen Cext entnimmt der> Samplekondensator auch einen kleineren Anteil der Ladung
Du hast meine Ausführungen noch nicht verstanden. Wenn der große Cext
durch den kleinen Rext bis zur nächsten Abtastung nicht wieder
ausreichend aufgeladen ist, dann taucht das beschriebene Problem auf.
Deshalb ist die Forderung Rext*Cext << 1/fsample.