Hi,
Ich bin neu in der Materie und wollte mal die Profis fragen. Ich habe
einen AVR, mit dem ich die Spannung von 2 Akkus messen möchte. Nicht in
Reihe, sondern einzehln, also je ca 2.5-4.7V. Es sollte schon auf min
0.1V genau sein. Je genauer, desto besser natürlich. Der AVR läuft mit
5V und ich habe noch eine 2.5V Referenz (Lm336).
Jetzt habe ich die Frage : Ist es genauer den lm336 zu nehmen oder
sollte ich aref vom avr nehmen (1.1V) ? Ich habe hier irgendwo gelesen,
dass die 1.1V auch schon mal nur 1.0 oder gar 1.2V sein können und man
jede MCU kalibrieren müsste. Umgehe ich beim lm336z25 das Problem und
kann davon ausgehen, dass er recht genau 2.5V liefert ?
Zweite Frage die ich habe hat was mit dem Spannungsteiler zu tun. Ich
habe ihn mit 1:2 Dimensioniert. Der Gedanke dahinter war, dass ich 2,5V
ref habe und bis 4.7V messen möchte. Also Teile ich die 4.7V durch 2 und
bin wieder in meinem Messbereich. Oder habe ich das falsch verstanden ?
Danke euch
Mike
Mcunoob schrieb:> Ich habe hier irgendwo gelesen, dass die 1.1V auch schon mal nur 1.0> oder gar 1.2V sein können und man jede MCU kalibrieren müsste
Richtig. Das steht im Datenblatt des entsprechenden µC.
> Umgehe ich beim lm336z25 das Problem und kann davon ausgehen, dass> er recht genau 2.5V liefert ?
Ja. Und auch dessen Werte stehen in seinem Datenblatt.
> Also Teile ich die 4.7V durch 2 und bin wieder in meinem Messbereich.
Ja, passt: 4,7/2 = 2,35
BTW: du solltest den Spannungsteiler nicht unnötig hochohmig machen
(<10kOhm). Oder wenn schon hochohmig, dann einen Pufferkondensator (ca.
100nF) vom Analogeingang zu GND schalten. Aber auch das steht im
Datenblatt...
Oder du nimmst Vcc als Referenz. Für deine Anforderungen sollte das
reichen sofern die Spannungsversorgung einigermaßen stabilisiert ist.
Bei 2,5 bis 4,7 Volt je Zelle bin ich neugierig um was für einen Akkutyp
es sich handelt.
Ich hatte einen Zahlendreher im Kopf. Es handelt sich um LiPo Zellen,
also 4.2V, nicht 4.7V.
VCC als Referenz ist nicht so dolle, da hängt auch noch ein Raspberry Pi
Zero dran und abhängig von seiner Auslastung geht VCC hoch und runter.
Eine letzte Frage hätte ich noch zum Spannungsteiler : Da er ja hinter
dem Akku liegt, möchte ich natürlich möglichst wenig an Energie
verschwenden und den Akku nicht unnötig entladen, gleichzeitig aber auch
meine Messungen nicht beeinflussen. Der Pufferkondensator vor dem ADC,
welche Art am besten ? Keramik ? Inwiefern beeinflusst er die Messung ?
Muss ich das Kompensieren ? Meine ersten Tests zeigten recht grosse
Streunung der Messwerte. Sollte ich da vll noch einen Filter benutzen
oder eher öfter Messen und dann digital die Mittelwerte bestimmen ?
Danke euch
@ Mcunoob
Zwei Tipps:
1. Verwende die interne Referenz ist stabil. Du kannst sie mit einer
bekannten Spannung (z. B. Labornetzteil) bestimmen.
2. Das 11. Gebot beachten. Du sollst nicht Plenken.
Mcunoob schrieb:> Es handelt sich um LiPo Zellen, also 4.2V.> VCC als Referenz ist nicht so dolle, da hängt auch noch ein Raspberry Pi> Zero dran und abhängig von seiner Auslastung geht VCC hoch und runter.
Der Bereich bis 4,2 V passt doch bestens zu 5 V Referenz. In dem Fall
kannst Du den Akku direkt an einen Analogeingang packen, vielleicht mit
einem Angstwiderstand um 2 kOhm - das erspart Dir den Querstrom eines
Teilers.
Wenn Du 5 Volt nicht hinreichend stabil halten kannst, hast Du einen
grundlegenden Fehler im Design, wo kommen die 5 V her, im Zweifel eben
mit einem eigenen Spannungsregler erzeugen?
Ich habe gerade den Entwurf für eine ähnliche Sache gemacht, da werde
ich den Teiler zur Messung mit einem PhotoMOS-Relay oder FET nur so
lange an die Batterie schalten, wie ich messen will - denke da an an
alle 5 Minuten.
Die interne Referenz des AVR ist sehr stabil, hat aber, wie Du richtig
erkannt hast, eine breite Serienstreuung. Das zu kalibrieren, halte ich
bei Einzelstücken für durchaus zumutbar.
Die 5V kommen von einem Schaltnetzteilmodul und sind eher 5.17V.
Allerdings ist ja das Problem, dass ich nicht von der Spannung ausgehen
kann. Unter Volllast sind es ca 4.95V und alles wie LDOs oder sonstige
Stabilisierung fallen aus, da der Dropout immer zu hoch ist.
5V wäre super, aber eben schwer machbar.
Die Idee die Messung schaltbar zu machen ist super. Werde ich mal
versuchen, so wird der Akku noch weniger belastet.
Was ist mit einer 5V Referenz ? Lm336z5 oder sowas. Spätestens wenns
unter 5V geht würde das nicht mehr funktionieren, oder ?
Nimm die 5V-Versorung als Referenz.
Um deren Schwankungen zu komensieren kannst du vor jeder Messung eine
Messung der Spannung des LM 336 durchführen und so vor jeder Messung die
5V kalibrieren.
Und wo ist da der Vorteil gegenüber einer Vref die er gleich vom LM336
nimmt?
Und was macht er gegen Schwankungen die nach der Vergleichsmessung
austreten?
Da ist die interne Vref sinnvoller, die muß nur einmal abgeglichen
werden und nicht bei jeder Messung.
Jürgen schrieb:> Und wo ist da der Vorteil gegenüber einer Vref die er gleich vom LM336> nimmt?
Er spart sich den Spannungsteiler aus seine 5% Wiederständen die er
bestenfalls rumliegen hat.
Wenn die Versorgungsspannung innerhalb von 2 ms die die Referenz +
Probemessung benötigt Signifikant schwankt hat er ganz andere Probleme
als eine genaue Akkumessung.
Alternativ kann man auch Die Batteriespannung als Referenzspannung
nehmen. Dann spart man sich sogar den Umweg über die 5V was aber den
Nachteil hat das man nur einen Akku jeweils messen kann.
Bernhard schrieb:> Er spart sich den Spannungsteiler aus seine 5% Wiederständen die er> bestenfalls rumliegen hat.
Und morgen bittest du mal deinen deutschleerer um hilfe und korrecktuhr
deines tekstes :-(
Mcunoob schrieb:> Was ist mit einer 5V Referenz ? Lm336z5 oder sowas. Spätestens wenns> unter 5V geht würde das nicht mehr funktionieren, oder ?
Ernstgemeinte Frage?
Du hast keine (stabilen) 5 Volt, also kann Deine Referenzspannung nur
deutlich tiefer liegen.
Du willst Strom sparen, eine externe Referenz ist diesem Wunsch nicht
zuträglich. Schalte die interne Referenz des AVR ein, lege einen
Spannungsteiler 3k3 || 1k an den Akku und fertig.
Wenn du auf's Kalibrieren verzichten willst, brauchst du eine
externe Präzisionsreferenz. Und einen Spannungsteiler.
Wenn du den aus 2 * 100 k (Mittelabgriff an In-ADC und 100 nF
nach Masse) zusammenstellst, wird die theoretische Genauigkeit
hauptsächlich von den Teilerwiderständen bestimmt.
Belastung = 4,2 V / 200 k = 21 µA
Vielleicht kanns du das mit 2 * 220 k auf ca. 10 µA drücken,
man darf aber auch die Leckströme des Input-Pins nicht
vergessen!
Überlegenswert wäre auch eine Präzisionsversorgung des µCs!
Lässt die sich nicht aus der Spannung speisen, die dem
5 V Regler des Raspi angeboten wird?
Dann mit <= 10 k auf ADC-In und 100 nF nach Masse.
Belastung der Batterie = Leckstrom des Input-Pins.
Jakob schrieb:> Belastung = 4,2 V / 200 k = 21 µA> Vielleicht kanns du das mit 2 * 220 k auf ca. 10 µA drücken,> man darf aber auch die Leckströme des Input-Pins nicht> vergessen!
An dieser Stelle bin ich etwas unsicher und habe deswegen einen Teiler
im einstelligen kOhm-Bereich benannt.
Das Datenblatt nennt fuer den AT328 am Analogport Eingangsleckströme max
50nA @ 2,5V - also kann man wohl hochohmig dram.
Bleibt natürlich die Kasperei mit der Referenz, aber dazu ist ja wohl
alles gesagt worden.
Was ist der eigentliche Zweck? nur die Spannung überwachen?
Ladestandsanzeige? Tirefentladeschutz? Ladeschaltung? die beisen Zellen,
wie sind die verschaltet? Getrennt, parallel oder in Reihe?
Die Schaltung soll als Tiefentladeschutz dienen, Ladeanzeige ist ein
netter Beieffekt. Beide Akkus sind parallel.
Ich habe jetzt alles mit der internen Referenzspannung und einem
Spannungsteiler gelöst und kalibriere das ganze zuerst. Es ist genau
genug, um die Akkus zu schonen und im sicheren Bereich abzuschalten.
Danke für eure Hilfe.
Mcunoob schrieb:> Ich hatte einen Zahlendreher im Kopf. Es handelt sich um LiPo Zellen,> also 4.2V, nicht 4.7V.
... 4,2V entspricht der maximalen Ladespannung, die ein LiPo haben darf
(viele auch nur 4,1V) !
Wenn du durch den MC die Spannung begrenzen magst, ist eine Genauigkeit
von 0,1V schon zu wenig. Eine LiPo Zelle die für 4,2V Ladespannung
ausgelegt ist, kann bei 4,25V schon deutlich Schaden nehmen und darüber
kann es sogar gefährlich werden. Höhere Genauigkeit als 0,1V wäre
angesagt.
0,05V bei einem Meßbereich von 5V entspricht 1%.
Wenn du "nur" sehen magst wie sich ein LiPo auflädt, siehst du bei 0,1V
Genauigkeit nicht sonderlich viel: Nach dem Starten des Ladens steigt
die Spannung relativ schnell auf die 4,1V / 4,2V und verharrt dann dort
sehr lange. Eine Anzeige des Ladestroms wäre für diesen Fall deutlich
besser 1
(aber ich habe keine Glaskugel und weiß nicht, was du machen möchtest)
Gruß,
Ralph
Ralph S. schrieb:> Nach dem Starten des Ladens steigt> die Spannung relativ schnell auf die 4,1V / 4,2V und verharrt dann dort> sehr lange.
Meine Ladekurven zeigen bei Konstantem Strom von ca. 0,5C eine
Anstiegszeit von 1-2h bis auf 3,8V. Wenn das schnell ist, sollte ich mit
der Wahrnehmungsgeschwindigkeit auf Hühnerfänger umschulen. Bis 4,1V
fällt der Ladestrom dann auf 40mA und bei Unterschreitung dessen oder
Überschreitung des Timers oder Überschreitung von 4.2V oder mehr als
60°C am NTC im Akkupack ist Ladeschluss. Langes verharren ist da nicht
vorgesehen. Hast du genauere Informationen?
Mcunoob schrieb:> Umgehe ich beim lm336z25 das Problem und> kann davon ausgehen, dass er recht genau 2.5V liefert ?
Ich hatte seinerzeit das "Glück", aus einer Handvoll 336 einen mit
2,500V herausfischen zu können um dann im AVR-TT-Wurm lesen zu müssen,
dass die Firmware auf 2.495V eingestellt ist, dem typ. Wert lt.
Datenblatt...
Der Häufungspunkt meiner sammlung lag übrigens bei 2.494V ;)
Zum Theme AVR und Spannungsmessung..
Das Hauptproblem ist die überschaubare Auflösung des ADCs, für eine
gescheite Auflösung muss daher in die Trickkiste gegriffen werden..,
künstliches Rauschen, Oversampling..
Zu dem Thema gibt es diverse Annotations von Atmel.
Für die kommerziellen Hobbylader Imax B6 & Co. gibt es eine OpenSource
Firmware "ChealiCharger", wo mit eben diesen Tricks gearbeitet wird.
Es wird die interne Ref verwendet und via Vergleichsmessung kalibriert.
Boris O. schrieb:> Meine Ladekurven zeigen bei Konstantem Strom von ca. 0,5C eine
Dass das bei 0,5C dauert wundert mich nicht. Ich habe ein paar (wenige)
Ladeteile überprüft und einige laden zu Beginn mit 2C und eines sogar
(das Übelste) sogar mit 3C.
Bei Laden mit 2C sind die 4,1V nach ca.20 - 30 Minuten erreicht.
Bei Erreichen von 4,1V sinkt dann der Strom logischerweise, die Spannung
wird konstant gehalten und bei den gemessenen wird der Ladevorgang bei
0,1C bis 0,2C abgeschalten.
Boris O. schrieb:> oder mehr als> 60°C am NTC im Akkupack
... oder eben genau das ! (hab ich mit Heißluftföhn und Temperatursensor
bearbeitet).
Kurz im Ganzen:
Laden des Akkus mit konstantem Strom von 0,5C (wohl am schonensten) bis
2C
bei Erreichen von 4,1V (je nach Akku 4,2V) tritt
Konstantspannungshaltung ein und bei Unterschreiten von 0,1C oder
Überschreiten der max. Temperatur abschalten.
Grundsätzlich ging es dem T0 aber "nur" um Spannungsmessung an LiPo und
ich ging davon aus (mangels mehr Informationen) dass damit die Spannung
beim Eintritt in die "Konstantspannungsphase" kontrolliert werden
sollte.
Hier wären 0,1V Genauigkeit meiner Meinung nach zu wenig .
Ralph
Mcunoob schrieb:> Die Schaltung soll als Tiefentladeschutz dienen, Ladeanzeige ist ein> netter Beieffekt. Beide Akkus sind parallel.
Wenn da nur was angezeigt werden soll ist die Genauigkeit nicht soooo
kritisch. Die ganze Diskussion um die 4,1 bzw 4,2 Volt und hohe
Genauigkeit entfällt. So gesehen ist da alles im grünen Bereich.
Als Tiefentladeschutz sollte man sich aber Gedanken machen wie die Last
komplett und zuverlässig getrennt wird. Wenn der Akku leer ist und deine
Schaltung eine Tiefentladung anzeigt, stellt der Spannungsteiler alleine
schon eine "Bedrohung" für den Akku dar. Man sollte diese Konstruktion
also umgehend wieder aufladen und nie lange weglegen.
Ich nehme an die Schaltung wird selbst auch aus den Zellen versorgt
(Step-up?). Sollte das der Fall sein, sollte man das Thema noch weiter
vertiefen.
Da die Akkus parallel angeschlossen sind, verhalten sie sich wie eine
größere Zelle. Da gibt es eine Alternative zur Messung, je achdem was
die Schaltung sonst noch zu tun hat und welchen AVR genau man benutzt.
Du kannst auch die Akkuspannung als "Referenz" nehmen und damit dann die
interne Referenz vermessen. Das ist zwar etwas ungewohnt und fordert
etwas gerechne, erfüllt aber ansonsten auch seinen Zweck mit ein paar
Vorteilen wie z.B. daß der Spannungsteiler entfällt. Auf diesem Wege
kann man auch die "Referenz" (Akkuspannung) immer wieder neu
kalibrieren, so daß man auch noch weiterhin andere Sachen Memessen
könnte, je nach Bedarf. Für diesen Weg it es also entscheidend, was die
Schaltung und insbesondere der ADC sonst noch tun soll.
Ralph S. schrieb:> (aber ich habe keine Glaskugel und weiß nicht,> was du machen möchtest)
Lesen und Verstehen der vorhergenden Beiträge genügt auch. Die
ursprüngliche Frage ließ ein paar Dinge offen, aber im Verlauf des
Threads wurde klar, was er will.
bianchifan schrieb:> Das Hauptproblem ist die überschaubare Auflösung des ADCs,
Was soll das denn bitte? Der AVR hat 10 Bit, damit kann man 4,irgendwas
Volt mit besser 5 mV Schrittweite auflösen.
Wenn Zeit vorhanden ist, tendiere ich dazu, mehrere Messungen zu machen,
sagen wir mal 10 Messungen mit je 1 ms Pause, und daraus den Mittelwert
zu nehmen.
In dem gegebenen Szenario reicht das allemal hin - er will doch nur das
Entladeende erkennen. Hier wuerde ich dann noch mit Flag und Zeiten
arbeiten, z.B. nach 5 Sekunden erneut messen, um nicht jedem Pfurz
aufzusitzen und falsch abzuschalten.
Ok, also. Die 4,1V oder 4,2V sind für mich völlig uninteressant. Ich
lasse die Akkus von einem LadeIC laden, der begrenzt den Ladevorgang von
alleine.
Für mich ist es nur wichtig die Akkus nicht zu stark zu entladen und da
habe ich das Problem der Ungenaugkeit so gelöst, dass ich nie bis zur
kritischen Grenze entlade, sondern immer schon 0,2V vorher aufhöre.
Damit nutze ich den Akku zwar nicht ganz, aber gehe auf Nummer sicher.
Der Spannungsteiler ist auch nicht das Problem für den Akku, da ich ihn
wie schon ober vorgeschlagen nur für die Messung einschalte. Um
brauchbare Werte zu erhalten messe ich dann 1s lang und schalte den
Spannungsteiler wieder aus, bis in 1min wieder gemessen wird. Die
Messwerte sind allerdings recht stark gestreut. Ich überlege tatsächlich
einen Tiefpassfilter einzubauen, mal sehen ob die Messungen dann viel
konstanter werden.
Lothar M. schrieb:> du solltest den Spannungsteiler nicht unnötig hochohmig machen> (<10kOhm).
Wenn er sein System mit dem 5V Netzteil betreibt zieht der Controller
zwar keine Energie aus den Zellen, aber der 10k Ohm Spannungsteiler
zieht etwas Strom. Er kann also einen 3.6V / 1000mAh Akku innerhalb von
115 Tagen leer ziehen.
Entweder er schaltet den Spannungsteiler über einen MosFET vor jeder
Messung ein oder er nutzt einen Spannungsteiler mit sehr großen
Widerstandswerten und direkt am ADC-Pin einen 1nF bis 100nF Kondensator.
Mcunoob schrieb:> Der Spannungsteiler ist auch nicht das Problem für den Akku, da ich ihn> wie schon ober vorgeschlagen nur für die Messung einschalte.
Anlässlich dieses Threads hatte ich mir das Datenblatt vom AT328
angeguckt, der Teiler könnte deutlich hochohmiger werden und eine
Abschaltung vmtl. entbehrlich machen. Das werde ich demnächst mal
versuchen, zu messen
> Um> brauchbare Werte zu erhalten messe ich dann 1s lang und schalte den> Spannungsteiler wieder aus, bis in 1min wieder gemessen wird. Die> Messwerte sind allerdings recht stark gestreut. Ich überlege tatsächlich> einen Tiefpassfilter einzubauen, mal sehen ob die Messungen dann viel> konstanter werden.
Aus dem Bauch heraus scheint der AVR 2 Bit zu rauschen. Gehe Dein
Problem per Software an, wie ich es weiter vorne beschrieben hatte. Und
gucke Dir an, wie Dein erster Messwert aussieht.
Ich habe es mit dem A-Nano so gebaut, dass ich den Wert hole und
verwerfe. Dann setze ich eine Variable auf Null, hole mir 10 Messwerte
mit je 1 oder 2 Millisekunden Pause dazwischen, addiere die auf und
teile anschließend durch zehn - damit bin ich kurze Störungen
hinreichend genau los.
Wenn Du einen Tiefpaß = RC-Glied machst, musst Du einschalten und lange
warten, ich denke da an 10 x Zeitkonstante.
B.A. schrieb:> oder er nutzt einen Spannungsteiler mit sehr großen> Widerstandswerten und direkt am ADC-Pin einen 1nF bis 100nF Kondensator.
Bei 100k - 100nF würde ich mindestens 100ms warten, bevor ich messe.
Danke Manfred,
Ich mache das Filtern in der Software für und warte erstmal einen Delay
ab. Desweiteren verzögere ich auch die Messungen um einige ms. Jetzt
sind die Werte ganz ok. Da ich immer wieder aber totale Ausreisser habe,
berechne ich erstmal den Mittelwert und schneide alle Werte raus, die
mehr als 20% daneben liegen (so kriege ich die Spitze und Nullen weg,
die es leider manchmal gibt, keine Ahnung as da das Problem ist). Die
verbliebenen n-Werte werden Addiert und durch n geteilt. Funtzt ganz
gut, muss aber noch ein paar Testreihen mehr machen.
Mcunoob schrieb:> Danke Manfred,> Ich mache das Filtern in der Software für und warte erstmal einen Delay> ab. Desweiteren verzögere ich auch die Messungen um einige ms. Jetzt> sind die Werte ganz ok. Da ich immer wieder aber totale Ausreisser habe,> berechne ich erstmal den Mittelwert und schneide alle Werte raus, die> mehr als 20% daneben liegen
Danke -
endlich mal ein Thread, wo ich eine positive Rückgabe bekomme!
Beruflich komme ich aus dem Bereich Meßtechnik und würde natürlich gerne
wissen, wo es klemmt. In der realen (bezahlbaren) Umsetzung muß ich den
Weg finden, der den Ansprüchen genügt - ich glaube, den hast Du nun
gefunden.
Das meiste wurde ja schon gesagt, hier noch meine Erfahrungen.
Manfred schrieb:> Die interne Referenz des AVR ist sehr stabil
Stimmt nur unter den richtigen Randbedingungen. z.B. ist Vref relativ
stark abhängig von Vcc, und das leider bei jeden AVR-Typ unterschiedlich
(siehe Datenblätter). Ich betreibe viele Schaltungen direkt an einem
LiIon-Akku. Dazu nehme ich eine getrennte Kalibrierung für Ladeschluss
und Unter-Spg.
Mcunoob schrieb:> immer wieder aber totale Ausreisser
Das deutet auf schlecht gefilterte Vcc hin. Die 1. Tests nach
Programmierung mache ich oft mit Vcc aus der USB-Buchse des
Programmierers. Die analog-Messungen sind dabei sehr unstabil mit großen
Ausreißern. Mit vernünfigem Aufbau (sauberer Massepunkt) und stabiler
Versorgung ist dann alles super stabil.
Mcunoob schrieb:> Ich mache das Filtern in der Software
Mache ich auch schon seit langem so. Also Überabtastung mit einem
Software-PT1-Filter zur Erhöhung der Auflösung. Das notwendige Rauschen
ist wohl automatisch gegeben, da die letzten 1 (2) Bit ohnehin klappern.
Wenn du die Mess-Spg einschaltest mußt du natürlich zu Beginn
(1.Messung) den Integrator des PT1-Gliedes vorsetzen.
Den Spg-Teiler der Mess-Spg mache ich sehr hochohmig zum Stromsparen und
stabilisiere ihn mit ca. 100nF.
Hermann schrieb:> z.B. ist Vref relativ stark abhängig von Vcc,> und das leider bei jeden AVR-Typ unterschiedlich
Bezogen auf den AT328, dem Standard der Arduinos, halte ich das für ein
Märchen. Bei einigen Tinys sieht das anders aus, da würde ich sie nicht
verwenden.
> Software-PT1-Filter
Der Begriff sagt mir nichts.
Kann sein, dass Atmel in seinen Datenblättern Märchen erzählt.
Das habe ich auch nachgemessen, die Werte von Atmel sind typische Werte
- real sind sie noch ganz anders.
Mit Software-PT1-Filter meine ich ein digitales Tiefpass-Filter. Mit der
Rechnung X[n] = X[n-1]*(1-Ta/Ti)+Y[n]*Ta/Ti
mit X[n]= neuer Ausgangs-Wert und X[n-1]= vorhergehender Ausgangs-Wert
Y[n] = neuer Messwert Ti = Zeitkonstante Ta = Abtastzeit
Hermann schrieb:> Kann sein, dass Atmel in seinen Datenblättern Märchen erzählt.> Das habe ich auch nachgemessen, die Werte von Atmel sind typische Werte> - real sind sie noch ganz anders.
Die Kurven sind ja mal doof, gerade im Bereich 4,5 - 5,5 V recht
deutlich. Andererseits sind das 2 mV / gerade mal knapp 2 Promille, über
alles (temp + voltage) sehe ich rund 1 Prozent. Für viele Anwendungen
gut genug, dennoch danke für die Kurven.
Wo hast' die her - im Datenblatt finde ich das nicht?
Die interne Referenz mag mit der Versorgungsspannung schwanken, aber
normalerweise hat man eine geregelte Versorgungsspannung wenn das Gerät
nicht direkt ungeregelt von einem Akku versorgt wird.
Zudem ändert sich die interne Referenz pro Prozent Änderung von Vcc um
deutlich weniger als einem Prozent. Grob aus der Grafik herausgelesen
ändert sich die Referenz bei 10 % Änderung von Vcc (in der
empfindlichsten Zone von 4,5 bis 5 Volt) um weniger als einem Promille.
Sie ist also um mehr als Faktor 100 stabiler als Vcc selbst wenn man
eine Temperaturkompensation verwendet. Es ist also schon deutlich
genauer, wobei oftmals Vcc selbst schon stabil genug ist.
Ohne Temperaturkompensation liegt die Abweichung in der Regel unter
einem Prozent. Auch das ist oftmals je nach Anwendung genau genug. So
schlecht ist das Teil also nicht. Es ist halt immer die Frage wie genau
es denn wirklich sein muß für die jeweilige Aufgabe.
Auf S.485 im Datenblatt von 10/2014. Man findet das Diagramm meistens
bei "Typische Werte/BOD Threshold" unterhalb der Threshold-Werte.
Ja, die angegebene typische Vcc-Abhängigkeit ist beim Mega328 nicht
hoch.
Beim Tiny 85 geben sie typisch 20mV @4,5 bis 5,5V an und beim Tiny84
0mV.
Aber wie gesagt: verwenden kann man die Werte nicht - wenn man
nachmisst, kommt etwas ganz anderes heraus. Auch die
Temperaturabhängigkeit hat machmal entgegengesetzten Verlauf.
Hermann schrieb:> Auf S.485 im Datenblatt von 10/2014
Hermann - ich danke Dir, sind gleich mal 200 Seiten mehr als das, was
ich mir abgelegt habe.
Hermann schrieb:> Aber wie gesagt: verwenden kann man die Werte nicht - wenn man> nachmisst, kommt etwas ganz anderes heraus. Auch die> Temperaturabhängigkeit hat machmal entgegengesetzten Verlauf.
Hoffen wir einfach, dass selbst bei abweichendem Verlauf die Grenzen
eingehalten werden. Interessant ist, dass es bei anderen Typen abweicht,
aber das hatte ich schon einmal anderweitig erfahren.
Zumindest für mich, wo die Ub aus dem Netz kaum schwankt und Betrieb bei
Raumtemperatur vorgesehen ist, nehme ich mit, dass das genau genug ist.
Wenn Du natürlich Automotive-Applikationen machst, na ja - dann eben die
Abschätzung, ob es reicht oder nicht.
Manfred schrieb:> wo die Ub aus dem Netz kaum schwankt und Betrieb bei> Raumtemperatur vorgesehen ist, nehme ich mit, dass das genau genug ist
Wenn man die Randbedingungen im Griff hat, ist das OK. Die Schaltung
sitzt aber meist im Gehäuse und liegt vielleicht in der Sonne ... und
direkte Versorgung an LiIon ist ja auch ganz praktisch.
Ich habe eine Messung mit 2 Tiny85 wiedergefunden und zur Info
angehängt.
Ein Tiny84, der im Datenblatt 0mV/V hat, hatte bei meiner Messung
-4,5mV/V.
Und zur Ergänzung noch die gemessene Temperaturabhängigkeit beim
Tiny861. Die Temperatur ist mit dem internen Temp-Sensor gemessen
(TempRoh):
'Vref=2,5523, TempRoh=308 bei 19°Cel und Vcc=4,968;
'Vref=2,5516, TempRoh=312 bei 25°Cel und Vcc=4,960;
'Vref=2,5510, TempRoh=328 bei 37°Cel und Vcc=4,961(intern 39°Cel)
--->Vref sinkt mit TempAnstieg, d.h. gegenteilig zum Datenblatt
S.273<---
'Egebnis: Vref -25ppm/K (Datenblatt ca. +120ppm/K)
Noch mal eine Frage: man kann ja einfach Vref auf dem Pin Aref ausgeben
und messen. Das ist aber meistens Vref=2,56V. Wenn man nun Vref=1,1V
wählt, ist die aus der selben Bandgap abgeleitet und hat also die selbe
Charakteristik? Ich habe das einfach mal angenommen und direkt
umgerechnet.
Die interne Referenz schwankt zwar mit der Genauigkeit des
Produktionsprozesses des IC, ist aber im dynaischen Verhalten deutlich
genauer als die Versorgungsspannung und etwas stabiler im Vergleich zu
einer Referenzspannungsschaltung mit Zenerdioden und Widerstand. Wenn
noch höhere Genauigkeit und Temperaturstabilität gewünscht wird, dann
würde ich erst zur externen Referenzquelle greifen oder
Band-Gap-Referenzquellen.
Mit einem ausreichend genauem Multimeter sollten die Spannungen
(Ladungsende) unbedingt nachgeprüft werden. Mein Atmega88 hat 8 Eingänge
mit 10bit Auflösung. Wenn die Teilung geschickt dimensioniert wird, sind
5 bis 10mV Auflösung noch gut drin. Den Teiler würde ich so aufbauen,
dass ein Spindelpotentionmeter die Feineinstellung ermöglicht
(4,2....4,0). Als Fail-Safe-Lösung diesen so einbauen, dass wenn der
Schleifer ein Kontaktproblem hätte, bei niedrigerer Spannung die Ladung
endet.
Falls der Atmel versagen sollte, dh sich aufhängen sollte, sollte eine
analoge Schutzschaltung immer noch den Li-Akku zusätzlich schützen.
Bei Li-Akkus trifft zu, wenn man die Grenze von 4,2 oder 4,1 nicht ganz
ausreizt, zwar etwas an Kapazität verschenkt, aber der Akku länger hält.
Die Spannungsteilerwiderstände hochohmig genug wählen, so dass diese
keine Rolle bei der Entladung der Zelle spielen, aber der Fehler am
Meßeingang gering bleibt. Ein Kondensator sollte die Spannung noch
glätten (keramisch, nF).
Hermann schrieb:> Noch mal eine Frage: man kann ja einfach Vref auf dem Pin Aref ausgeben> und messen. Das ist aber meistens Vref=2,56V. Wenn man nun Vref=1,1V> wählt, ist die aus der selben Bandgap abgeleitet und hat also die selbe> Charakteristik? Ich habe das einfach mal angenommen und direkt> umgerechnet.
Mir ist nicht bekannt, dass man die interne Vref umschalten kann,
lediglich ein oder aus. Beim 328 sind es eben die bekannten 1,1 Volt,
bei anderen die von Dir genannten 2,56 V.
Gucken wir Seite 243 vom Datenblatt: "VREF can also be measured at the
AREF pin with a high impedance voltmeter. Note that VREF is a high
impedance source, and only a capacitive load should be connected in a
system."
Manfred schrieb:> Mir ist nicht bekannt, dass man die interne Vref umschalten kann
Bei vielen AVRs schon.
Vielleicht hast du mich auch missverstanden. Wenn man Vref auf den
Aref-Pin legt, ist das beim Tiny85 und Tiny861 immer 2,56V. In diesem
Mode kann man die Abhängigkeit von Vref direkt messen. Trotzdem kann man
später Vref=1,1V für den ADC wählen. Welche Charakteristik hat jetzt
Vref(1,1V)? Die gleiche wie bei der gemessenen Vref(2,56V)?
Ich gehe davon aus, dass für Vref(1,1V) das gleiche gilt, nur mit dem
Faktor 1,1/2,56 umgerechnet. Ich würde mich aber nicht wundern, wenn für
beide Vref nicht des gleiche gilt.