Forum: Analoge Elektronik und Schaltungstechnik AVR ADC: Vref < Vin < Vcc nicht ohne Spannungsteiler meßbar?


von batman (Gast)


Lesenswert?

Hallo,
wollte nochmal nachfragen, bevor ich einen Kniff verpenne, wie den zur 
Messung der eigenen Vcc des AVR, wo man technisch mit dieser als Vref 
geschaltet die interne Bandgap Ref mißt, wobei also die gemessene 
Spannung tatsächlich größer sein kann, als die interne Vref.
Das geht nicht zufällig irgendwie auch mit externen Meßspannungen, um 
den Spannungsteiler einzusparen?
Anwendung ist eine umgebaute Solarlampe, die einen AVR betreibt, der die 
1.2V-Akkuspannung tracken möchte.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

batman schrieb:
> der eigenen Vcc des AVR, wo man technisch mit dieser als Vref geschaltet
> die interne Bandgap Ref mißt, wobei also die gemessene Spannung
> tatsächlich größer sein kann, als die interne Vref.
Wie denn? Zeichne dir das mal auf und beachte dabei, dass Vbandgap aus 
Vcc erzeugt wird und deshalb nie größer als Vcc werden kann. Wenn Vcc 
als Vref genommen wird, kann deshalb Vbandgap nie größer als Vref 
werden.

von batman (Gast)


Lesenswert?

Das ist doch ein alter Trick, um die eigene Vcc im AVR zu messen:
Man schaltet die Vcc als Vref und die Vbg als Vin, wobei letztere damit 
im Meßbereich des ADC (0<=Vin<=Vref=Vcc) liegt.

Ausgeführt Z.B. hier
https://www.arduinoforum.de/arduino-Thread-Messen-der-eigenen-Betriebsspannung-mit-dem-Arduino

Aber beim Blick auf die MUX-Verdrahtung im AVR ist eigentlich klar, dass 
das mit externen Meßspannungen nicht geht, weil man die eben nicht durch 
den Ref-MUX schalten kann, wie die Vcc.
Danke, beantwortet. :)

von HildeK (Gast)


Lesenswert?

Du misst die Spannung der internen Bandgap-Referenz mit ca. 1.1V mit der 
Referenz VCC, die im Bereich von (je nach Typ und Versorgungsspannung) 
1.8V ... 5.5V liegt, also immer kleiner als VCC ist.
Das ist immer ohne externe Beschaltung möglich (außer, je nach Typ, 
einem Block-C an ARef und AVCC).

Beachte: die interne Referenz ist nicht exakt 1.1000V, so dass meist 
eine Anpassung der Berechnung notwendig ist (Tiny25: Vref = min. 1.0V 
... max. 1.2V), wahrscheinlich für jedes Exemplar individuell.

batman schrieb:
> Anwendung ist eine umgebaute Solarlampe, die einen AVR betreibt, der die
> 1.2V-Akkuspannung tracken möchte.

Das passt jetzt aber nicht ganz zur Frage. Ich dachte, du willst die 
Versorgung des µC messen? Welcher läuft denn mit 1.2V?

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


Lesenswert?

batman schrieb:
...
> Messung der eigenen Vcc des AVR, wo man technisch mit dieser als Vref
> geschaltet die interne Bandgap Ref mißt, wobei also die gemessene
> Spannung tatsächlich größer sein kann, als die interne Vref.

Nicht kann. Muß.

Wenn man Vcc als Referenzspannung nimmt, dann kann man nur Spannungen 
zwischen 0 und Vcc messen. Die interne Bandgap-Referenz erfüllt 
offensichtlich diese Bedingung. Wie sollte deren Spannung auch höher 
werden als die Betriebsspannung?

Was deine Frage angeht: wenn du die Klemmenspannung eines 1.2V Akku 
messen willst, dann liegt die inderne Referenz mit 1.1V in der Tat 
ungünstig. Du darfst dir aussuchen, ob du die Spannung des Akkus mit 
einem Spannungsteiler heruntersetzt oder dem AVR eine externe 
Referenzspannung zuführst. Wenn du die Betriebsspannung des AVR 
irgendwie stabilisierst, reicht die ja womöglich schon. Eine 
Präzisionsmessung soll es ja wahrscheinlich nicht werden, eher eine 
"Akku leer" Erkennung.

von HildeK (Gast)


Lesenswert?

Axel S. schrieb:
> wenn du die Klemmenspannung eines 1.2V Akku
> messen willst, dann liegt die inderne Referenz mit 1.1V in der Tat
> ungünstig. Du darfst dir aussuchen, ob du die Spannung des Akkus mit
> einem Spannungsteiler heruntersetzt oder dem AVR eine externe
> Referenzspannung zuführst.

Zumindest einige (oder sogar alle?) AVRs hätten ja auch die 2.56V 
interne Referenz zur Verfügung.

von M. K. (sylaina)


Lesenswert?

batman schrieb:
> Hallo,
> wollte nochmal nachfragen, bevor ich einen Kniff verpenne, wie den zur
> Messung der eigenen Vcc des AVR, wo man technisch mit dieser als Vref
> geschaltet die interne Bandgap Ref mißt, wobei also die gemessene
> Spannung tatsächlich größer sein kann, als die interne Vref.
> Das geht nicht zufällig irgendwie auch mit externen Meßspannungen, um
> den Spannungsteiler einzusparen?
Naja, bei dem Trick Vcc des AVRs ohne externe Beschaltung zu messen 
zäumt man ja das Pferd von hinten auf:
Du stellst als Vref Vcc ein und misst damit die interne Referenz (die du 
am Besten vorher einmal ausgemessen hast). Davon merkst du dir den 
Countwert des ADC und du weist bei diesem Countwert: Das ist die interne 
Referenz (z.B. 1.1V). Dann kannst du hier jetzt zurück rechen welche 
Referenzspannung erforderlich ist um diesen Countwert für 1.1V zu 
erhalten. Is nen simpler Dreisatz


> Anwendung ist eine umgebaute Solarlampe, die einen AVR betreibt, der die
> 1.2V-Akkuspannung tracken möchte.

Du lässt den Attiny mit 1.2V laufen? Es gibt inzwischen AVRs denen 1.2V 
reicht? Ging irgendwie an mir vorbei.

von batman (Gast)


Lesenswert?

Nee, die typ. unvermeidliche 99 Cent Solar-Gartenlampe setzt ihren 1.2V 
Akku hoch auf >3V für die weiße LED.
Von letzterer versorgt sich der AVR, erstere will er tracken.
Aber stimmt, für die bloße Akku-leer-Erkennung langt vielleicht gerade 
noch der Bereich <1.1V. Mal ausprobiern.

von HildeK (Gast)


Lesenswert?

HildeK schrieb:
> Zumindest einige (oder sogar alle?) AVRs hätten ja auch die 2.56V
> interne Referenz zur Verfügung.

Da war ich wohl etwas verwöhnt von den Tinyx5 und Tinyx61, die ich meist 
verwende. Viele andere haben das wohl doch nicht.

batman schrieb:
> Nee, die typ. unvermeidliche 99 Cent Solar-Gartenlampe setzt ihren 1.2V
> Akku hoch auf >3V für die weiße LED.
> Von letzterer versorgt sich der AVR, erstere will er tracken.
> Aber stimmt, für die bloße Akku-leer-Erkennung langt vielleicht gerade
> noch der Bereich <1.1V. Mal ausprobiern.

Ja gut, aber dann solltest du die VCC nicht als Vref verwenden, die 
dürfte zu sehr schwanken und du brauchst sie auch nicht.
Also hier: einfach die 1.1V Bandgapreferenz nehmen, bei vollem Akku 
steht halt dann der ADC-Wert am oberen Anschlag - das ist auch eine 
Aussage :-).
Und die untere Grenze mit <1.1V ist ja der interessante Bereich und 
reicht, um den Akku vor Tiefentladung zu schützen.
Aber was machst du, wenn du 'Akku leer' erkennst? Dann alles abschalten, 
auch den Prozessor? Den Step-Up musst du ja auch abhängen, sonst leert 
sich der Akku weiter ...

von batman (Gast)


Lesenswert?

Der Stepup ist jetzt bei kleiner AVR-Last ein paar Tage durchgelaufen 
und der anfangs leere Akku hat 1.35V von dem winzigen Solarmodul auf der 
Fensterbank, also da gibts schon etwas Spielraum, im wörtlichen Sinne. 
:)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

HildeK schrieb:
> AVRs hätten ja auch die 2.56V interne Referenz zur Verfügung.
Eigentlich schon frech, diese Spannung auf 3 Stellen genau anzugeben... 
;-)

von HildeK (Gast)


Lesenswert?

batman schrieb:
> Der Stepup ist jetzt bei kleiner AVR-Last ein paar Tage durchgelaufen
> und der anfangs leere Akku hat 1.35V von dem winzigen Solarmodul auf der
> Fensterbank, also da gibts schon etwas Spielraum, im wörtlichen Sinne.
> :)

Ja schon, aber auflösen kannst du erst unterhalb der internen 
Referenzspannung. Gut, 1.1V ist auch noch kein ganz leerer Akku und man 
kann dann auch z.B. mit dem WD-Timer immer wieder für 8s in Tiefschlaf 
gehen.

Lothar M. schrieb:
> Eigentlich schon frech, diese Spannung auf 3 Stellen genau anzugeben...
> ;-)

Ja, sind rund 10% Toleranz. Normalerweise rüge ich immer die Leute, die 
ihre LED-Vorwiderstände auf drei Stellen genau errechnen und womöglich 
auch versuchen, so einzukaufen ?.
Vermutlich sind die 2.56V ein theoretischer Wert, der sich durch die 
Physik nominal ergeben sollte.
Ich kenne mich mit den Halbleiterinnereien nicht aus ...

von Häh? (Gast)


Lesenswert?

batman schrieb:
> Nee, die typ. unvermeidliche 99 Cent Solar-Gartenlampe setzt ihren 1.2V
> Akku hoch auf >3V für die weiße LED.
> Von letzterer versorgt sich der AVR, erstere will er tracken.

Was spricht gegen 2 Messungen auf 2 Kanälen? Referenz soll VCC sein. 
Diese VCC mit bekannter (gemessener) Bandgab-Referenz ausrechnen. Jetzt 
auf zweitem Kanal die 1,x V gegen jetzt bekannte VCC messen.
Da darf aber nix schwanken während der Messungen, das ist wohl aber 
klar.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

HildeK schrieb:
> Ja, sind rund 10% Toleranz.
Wie bei der "originalen" 1,1V Bandgap-Spannung.

> Normalerweise rüge ich immer die Leute, die ihre LED-Vorwiderstände auf
> drei Stellen genau errechnen
Ja, und nicht allzuwenige fallen auf diese "exakte Pseudogenaugkeit" 
herein. Ohne weitere Kalibrierung sind die meisten Spannungsregler 
besser. Und damit auch besser als Referenz geeignet...

batman schrieb:
> Der Stepup
Welcher? Und wie genau und stabil ist dessen Referenzspannung?

von batman (Gast)


Lesenswert?

Von den Step-Ups in den Solarlampen ist keine Stabilität zu erwarten. 
Die sind auf ca. 10mW Output ausgelegt, worauf sich kaum eine 
AVR-Anwendung begrenzen läßt, die mehr tut als Schlafen.
In einer ist ein Vierbeiner "ZE002", von dem ich kein DB finde. Seine 
Referenz liegt irgendwo bei 0.3V am CE-Pin.
Eine ältere Solarfunzel hat noch einen diskreten Oszillator nach diesem 
Schema:
http://www.talkingelectronics.com/projects/SolarLight/SolarLight.html

Durch Feedbackschleife vom Ausgangskreis (AVR-Vcc) auf den Steuereingang 
liefern sie eine limitierte Spannung fürn AVR, die ihm zumindest zum 
Schlafen und ab und zu Blinken, Temp. messen und ausgeben auf LC-Display 
reicht.

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.