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.
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.
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. :)
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?
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.
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.
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.
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.
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 ...
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.
:)
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...
;-)
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 ...
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.
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 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.