Hallo,
ich habe mir ein Projekt gebaut mit einem Mega48 (weil günstig).
Jetzt möchte ich das Projekt antstatt mit 3 Batterien mit 3 Akkus
betreiben. Die geringere Versorguntsspannung spielt hierbei keine Rolle.
Kann ich irgendwie die Spannung direkt, ohne Port, im Mikrokontroller
ermitteln? Der MC kann ja das auch siehe Brown-our-detection...
Geht das irgendwie?
Grüße
Ralf
Stefanus F. schrieb:> Der ATmega48P kann das, der ATmega48 nicht.
oder der 48A,
ob's den alten 48'er überhaupt noch neu gibt - irgendwer hat aber sicher
noch Lagerbestände.
Sascha
Stefanus F. schrieb:> Im Prinzip geht es darum, die internen 1,1V relativ zu VCC zu messen.>> Der ATmega48P kann das, der ATmega48 nicht.
Auch der ATmega48 kann das. MUX3..0 auf 1110 und REFS1..0 auf 01 oder 00
(bei 00 ist eine äußere Verbindung zwischen Vcc und AREF nötig).
Der Trick ist: man muss einfach nur die Formel für die Auswertung
umstellen, denn die Referenzspanung ist hier die veränderliche Größe,
die gemessen werden soll. Das ist schon alles.
Hallo,
> Ralf Röder schrieb:>> Kann ich irgendwie die Spannung direkt, ohne Port, im Mikrokontroller> ermitteln? Der MC kann ja das auch siehe Brown-our-detection...
Was ist den "die Spannung"
-> Betriebsspannung des uC? Wozu, die ist doch eh stabilisiert
-> Akkuspannung (vor Regler)? Natürlich nicht, wie auch?
Letzteres wära ja interessanter, weil du dann reagieren kannst, bevor
die stabilisierte Betriebsspannung einbricht oder Akkus tiefentladen
werden.
Gruß Öletronika
U. M. schrieb:> -> Betriebsspannung des uC? Wozu, die ist doch eh stabilisiert
Nicht notwendigerweise. Gute µC (wie halt die meisten AVR8) sind in der
Lage, über einen recht breites Spannungsintervall hinweg stabil zu
arbeiten. Da braucht dann nix stabilisiert werden.
Genau das ist ja deren Hauptvorteil im Batteriebetrieb. Man braucht
keine Reglerverluste in Kauf zu nehmen, weil man schlicht keinen Regler
braucht.
> -> Akkuspannung (vor Regler)? Natürlich nicht, wie auch?
Auch das ginge. Dafür wäre dann im konkreten Fall REFS1..0 = 00 zu
setzen und statt der Verbindung von AREF zu Vcc eine zu einem
Spannungsteiler herzustellen, dessen oberes Ende halt direkt am Akku
hängt.
Den Spannungsteiler kann man zwar ziemlich hochohmig auslegen, er zieht
aber eben doch dauerhaft einen Querstrom.
Der Hauptnachteil einer solchen Lösung ist allerdings: der ADC ist dann
für nix anderes mehr zu gebrauchen.
Dieter R. schrieb:> c-hater schrieb:>>> Genau das ist ja deren Hauptvorteil im Batteriebetrieb. Man braucht>> keine Reglerverluste in Kauf zu nehmen, weil man schlicht keinen Regler>> braucht.>>>> Sieh dir>> http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48P_88P_168P-DS40002065A.pdf>> Figure 30-2>> an und überleg dir den Satz noch mal. Das Gegenteil ist der Fall.
???
1) Das ist das Datenblatt des M48P. Es ging aber um den M48. Spielt aber
weiter keine Rolle, denn für beide gilt (abgesehen von den konkreten
Nummern der Diagramme):
2) Das genannte Diagramm beschäftigt sich mit der Stromaufnahme in
Abhängigkeit vom Systemtakt. Ist also vollkommen irrelevant für's Thema.
3) Das richtige Diagramm im DB für den M48P wäre 29-1 oder 29-2 gewesen,
denn das beschäftigt sich mit dem Stabilitätsthema bei unterschiedlichen
Spannungen und Taktfrequenzen.
4) Und dieses Diagramm bekräftigt, was ich sagte: die Dinger sind über
einen weiten Spannungbereich hinweg stabil. Der ist typisch umso
breiter, je geringer der Takt ist.
DEIN Thema war ein anderes, nämlich Reglerverluste. Es ist für den TO
uninteressant, aber so wie von dir dargestellt falsch, und das wollte
ich nicht stehen lassen.
Faktisch sind die Reglerverluste negativ. Darauf hatte ich hingewiesen.
Aus welchem Atmel-Datenblatt die Grafik ist, ist dabei irrelevant. Es
ist bei allen gleich.
Ralf Röder schrieb:> Kann ich irgendwie die Spannung direkt, ohne Port, im Mikrokontroller> ermitteln?> Geht das irgendwie?
Wie Dir andere geschrieben haben, geht das schon. Allerdings kannst
Du von der gemessenen Spannung nicht auf den Ladungsinhalt schliessen.
Nickelakkus halten ihre Spannung recht lange konstant. Der Abfall
zum Schluss kommt dann recht plötzlich.
c-hater schrieb:>> Der ATmega48P kann das, der ATmega48 nicht.> Auch der ATmega48 kann das. MUX3..0 auf 1110
Bist du Dir da ganz sicher? Laut "meinem" Datenblatt hat der Multiplexer
gar nicht so viele Bits, dass man da den Wert 1110 hinein schreiben
könnte.
Dieter R. schrieb:> DEIN Thema war ein anderes, nämlich Reglerverluste.
Nein. Mein Thema war, dass Reglerverluste eben keine Rolle spielen, weil
man durch die Eigenschaften der AVR8 auch bei Betteriebetrieb oft
schlicht überhaupt keinen braucht.
> Faktisch sind die Reglerverluste negativ.
Ja klar...
Du hast überhaupt nicht verstanden, was das von dir genannte Diagramm
eigentlich zeigt. Das ist kein Diagramm irgendeines Reglers...
Und im Übrigen: ein Regler, der negative Verluste produziert, heisst:
"perpetuum mobile". Und nein, so gut die AVR8 auch sind, so ein Ding
dort einzubauen ist auch Atmel nicht gelungen. Das mag daran liegen,
dass sie in unserem Universum leider völlig unmöglich sind...
c-hater schrieb:> Das mag daran liegen,> dass sie in unserem Universum leider völlig unmöglich sind...
Völlig unmöglich?! Das bist Du doch selbst auch.
>> Genau das ist ja deren Hauptvorteil im Batteriebetrieb. Man braucht>> keine Reglerverluste in Kauf zu nehmen, weil man schlicht keinen Regler>> braucht.Dieter R. schrieb:> Sieh dir Figure 30-2 an ... Das Gegenteil ist der Fall.
Ich denke, dass du das Diagramm falsch interpretierst. Es soll lediglich
die Stromaufnahme bei unterschiedlichen Spannungen und Frequenzen
darstellen. Niemand verlangt, dass du dich für genau eine dieser
Spannungen entscheidest.
Lediglich die maximal mögliche Taktfrequenz ist von der Spannung
abhängig , aber es hat ja niemand verlangt, den Chip mit z.B. 20MHz zu
takten.
Kleiner Hinweis: Auch die internen Referenzquellen des ADC stellen
Anforderungen an die Spannung. mit 2,5V Versorgungsspannung kann man
logischerweise intern keine 2,56V Referenz-Spannung erzeugen.
Stefanus F. schrieb:> Bist du Dir da ganz sicher? Laut "meinem" Datenblatt hat der Multiplexer> gar nicht so viele Bits, dass man da den Wert 1110 hinein schreiben> könnte.
Mein DB (allerdings schon recht betagt) sagt ja. Siehe Anhang.
c-hater schrieb:> Du hast überhaupt nicht verstanden, was das von dir genannte Diagramm> eigentlich zeigt. Das ist kein Diagramm irgendeines Reglers...
Du bist wortgewaltig wie immer, aber hast weder meinen Post noch die
Grafik noch die Schlussfolgerung daraus verstanden.
Weniger "hate" könnte helfen.
Ist aber auch egal. Lass gut sein, dann kann sich der TO auf seine
eigentliche Frage konzentrieren und die Diskussion ufert nicht aus.
c-hater schrieb:> Mein DB (allerdings schon recht betagt) sagt ja. Siehe Anhang.
Ist ja bescheuert, es darf nicht sein, dass die Datenblätter sich da so
eindeutig widersprechen. Wenn ich kommerzieller Anwender wäre, würde ich
jetzt Microchip um Stellungnahme bitten.
Stefanus F. schrieb:> Woran erkennst du das? Ich schaue in Table 23-1 und sehe auch dort, dass> es nur drei MUX Bits gibt (nicht vier, wie bei der P-Version) und keine> der 8 möglichen Werte misst die interne Bandgap Referenz.
Ich schaue auf S. 269.
Jetzt habe ich es geschnallt: In dem Datenblatt gibt es zwei Tabellen,
die ADMUX darstellen. Und zwar zuerst eine für den Komparator und ein
paar Seiten weiter unten noch eine für den ADC. Und dort gibt es
plötzlich ein Bit mehr.
Das ist ja echt fies.
U. M. schrieb:> -> Betriebsspannung des uC? Wozu, die ist doch eh stabilisiert>> -> Akkuspannung (vor Regler)? Natürlich nicht, wie auch?
Ich hab den blanken uC ohne Regler. Wozu auch? Wenn es an 4,5V hängt
wozu dann regeln?
>> Letzteres wära ja interessanter, weil du dann reagieren kannst, bevor> die stabilisierte Betriebsspannung einbricht oder Akkus tiefentladen> werden.
Genau das will ich ja machen.
Hab nur keinen freien ADC und es ist alles bereits verlötet.
Grüße
Ralf
Ralf Röder schrieb:> Ich hab den blanken uC ohne Regler. Wozu auch? Wenn es an 4,5V hängt> wozu dann regeln?
Das hängt von der Applikation ab und ob man die Leistungsaufnahme
minimieren will. Bei Batteriebetrieb will man das meistens. Wenn man
nicht die maximale Taktfrequenz benötigt, dann ist eine niedrigere
Betriebsspannung eine einfache Möglichkeit, die Stromaufnahme
herabzusetzen.
Die bessere, aber aufwändigere Lösung ist, höheren Takt zu verwenden,
aber die CPU häufiger zwischendurch schlafen zu legen. Auch dabei kann
der beste oder softwaretechnisch einfachste Kompromiss bei niedrigerer
Betriebsspannung liegen.
Hallo,
> c-hater schrieb:> Du hast überhaupt nicht verstanden, was das von dir genannte Diagramm> eigentlich zeigt. Das ist kein Diagramm irgendeines Reglers...
Nein, 30-1 und 30-2 zeigen den Stromverbr. als Funktion der Frequenz....
aber mit der Betriebsspannung als Parameter!
> Und im Übrigen: ein Regler, der negative Verluste produziert, heisst:> "perpetuum mobile".
So ist das sicher nicht gemeint.
> Und nein, so gut die AVR8 auch sind, so ein Ding> dort einzubauen ist auch Atmel nicht gelungen. Das mag daran liegen,> dass sie in unserem Universum leider völlig unmöglich sind...
Die "negativen Reglerverluste" ergeben sich doch aus der Differenz des
Betriebes mit und ohne Regler. Und da ist es doch tatsächlich so, dass
ein Regler faktisch keine "Verluste" verursacht sondern "Einsparungen".
Das ist das Gegenteil von Verlusten, sozusagen "neg. Regler-Verluste"!
Bei 3 NimH Akkus mit Entladeschlusspannung von angenommen 0,9V hat man
mit Regelung auf angenommen 2,8V stabilisierte Spannung bei z.B. 1 Mhz
Takt über die gesamte Betriebszeit ca. 0,5mA Stromverbrauch (Fig. 30-1).
Ohne Regler wird aber über die längste Zeit mit Akku-Spannung um
3,6...3,8V der Stromverbrauch um 0,7...0,8mA liegen!
Also hat der Regler hat zwar Verluste über seine Regelstrecke,
verursacht aber bezogen auf das Gesamtsystem rein mathematisch "neg.
Verluste" (man kann es auch "Einsparung" nennen.
Mit "perpetuum mobile" hat das in dem Fall auch gar nix zu tun, weil es
um eine Differenz zwischen verschiedenen Zuständen geht und nicht um
einen Wirkungsgrad an sich.
Gruß Öletronika
Bei Mikrocontrollern, die viel Zeit im Tiefschlaf verbringen, bewirken
die allermeisten Spannungsregler eine Erhöhung der Gesamtstromaufnahme.
Eine TV Fernbedienung wäre z.B. so ein Kandidat.
U. M. schrieb:> Bei 3 NimH Akkus mit Entladeschlusspannung von angenommen 0,9V hat man> mit Regelung auf angenommen 2,8V stabilisierte Spannung bei z.B. 1 Mhz> Takt über die gesamte Betriebszeit ca. 0,5mA Stromverbrauch (Fig. 30-1).>> Ohne Regler wird aber über die längste Zeit mit Akku-Spannung um> 3,6...3,8V der Stromverbrauch um 0,7...0,8mA liegen!
Jetzt verstehe ich, worauf du (bzw. Dieter R.) hinaus wollen. Mit eine
Step-Down-Wandler könnte man so u.U. tatsächlich einen Vorteil in der
Energiebilanz erzielen. Dazu müßte aber der Takt des µC ziemlich hoch
sein und der Wirkungsgrad des Wandlers ebenfalls. Außerdem dürfte das
recht stark vom "Duty-Cycle" des µC abhängen, also vom Verhältnis der
Zeit, die er im Tiefschlaf verbringt zu der Zeit, die er aktiv ackert.
Die ist allerdings tendenziell umgekehrt zum Takt.
Also würde ich mal behaupten: Wirklich Energie sparen kann man mit
diesem Ansatz nur in einer sehr begrenzten Zahl von Fällen, nämlich
dann, wenn der µC praktisch durchläuft und dies obendrein bei einem
recht hohen Takt.
Also irgendwie nicht gerade die typische Batterieanwendung. Aber klar:
es kann Anwendungen geben, die ein derartiges Profil erfordern und die
halt trotzdem auf Batteriebetrieb angewiesen sind. Dann mag das sinnvoll
sein.
c-hater schrieb:> Dazu müßte aber der Takt des µC ziemlich hoch> sein und der Wirkungsgrad des Wandlers ebenfalls.
Es reicht ein Linearregler und die Energieersparnis ist bei jeder
Taktfrequenz gegeben.
Richtig ist, dass mit hoher Taktfrequenz und maximiertem Tiefschlaf die
Energiebilanz besser ist. Bei der erwähnten Fernbedienung hat man klare
Prioritäten, da ist Tiefschlaf die einzige Lösung. Das ist allerdings
softwaretechnisch nicht immer so einfach hinzubekommen. Herabsetzen der
Betriebsspannung kann da die einfachere Lösung sein. Macht Intel auch
so.
Dieter R. schrieb:> Es reicht ein Linearregler und die Energieersparnis ist bei jeder> Taktfrequenz gegeben.
Nur mal so zum Nachdenken:
Dem ESP8266 wird nachgesagt, nur wenige 10µA im Deep Sleep Modus
aufzunehmen. Doch immer wieder beklagen sich Anfänger darüber, dass ihre
NodeMCU Module stattdessen mehr als 1mA aufnehmen.
Warum wohl? Wegen dem Spannungsregler! (Je nach Modell auch wegen dem
USB-UART Chip.)
AVR Mikrocontroller sind dafür bekannt, mit CR2032 Knopfzellen locker 5
Jahre (eher noch länger) betriebsbereit zu schlafen. Deswegen steht bei
einigen AVR Modellen auch der nette Ausdruck "Pico Power" im Datenblatt.
Doch immer wieder fragen verwirrte Anfänger nach, warum ihre Arduino
Nano Module sehr viel mehr aufnehmen, wo doch weniger als 0,0001mA
erwartet wurden.
Warum wohl? Wieder wegen dem Spannungsregler! (Je nach Modell auch wegen
dem USB-UART Chip.)
Die meisten Spannungsregler nehmen 0,5mA oder mehr schon im Ruhezustand
auf. Wenn du mit Hilfe eines Spannungsreglers Strom sparen willst, muss
es auch ein speziell sparsamer sein. Leider haben die besonders
sparsamen Modelle schlechtere Eigenschaften, als die normalen. Die
meistens sind z.B. Damit überfordert, die stark schwankende
Stromaufnahme von Funkmodulen aus zu regeln.
Ein guter wäre z.B. der HT7833, der hat 4µA Ruhestromaufnahme, wenn man
einen guten erwischt hat. Im Vergleich zu den 0,1µA eines ATtiny13 sieht
er aber immer noch blass aus.
Finde mal einen Spannungsregler, der weniger als 0,1µA Ruhestromaufnahme
hat und damit klar kommt, wenn sich die Stromaufnahme der Last plötzlich
von 0,1µA auf 10000µA (10mA) erhöht. Oder gar 400mA, falls ein Funkmodul
beteiligt ist.
c-hater schrieb:> Nein und nein.
Überleg dir deine Neins noch mal genau und mach dann Jas draus. Es ist
eigentlich ganz einfach, aber "Hate" vernebelt manchmal das Denken.
P = U * I mit U = Batteriespannung bzw. Gesamt-Versorgungsspannung.
I = Stromaufnahme des Prozessors, Vorausssetzung: groß gegen
Ground-Current des Reglers, siehe Äppel.
Sollte dir zu denken geben.
@Äppel: dass die Überlegung nicht für spezielle
Low-Power-Applikationen im Sub-Mikroamperebereich gilt, wurde nun
mehrfach erwähnt und sollte eigentlich klar sein.
Gegen Lastsprünge helfen Kondensatoren. Was nötig ist, steht jeweils im
Datenblatt des Reglers. Bei typischen Linearreglern meist zwischen 0,1uF
und 10uF.
Dieter R. schrieb:> dass die Überlegung nicht für spezielle> Low-Power-Applikationen im Sub-Mikroamperebereich gilt, wurde nun> mehrfach erwähnt und sollte eigentlich klar sein.
Einverstanden.
Aber in nicht-low-power Anwendungen brauchen wir nicht um ein paar
Milliwatt mehr oder weniger zu diskutieren.
> Gegen Lastsprünge helfen Kondensatoren.
Ja bedingt. Diverse (nicht nur meine) Erfahrungen mit ESP8266 bestätigen
das. Wenn du es mit allzu dicken Elkos verschlimmbesserst, versagt
wieder der Spannungsregler oder der Kriechstrom durch den Elko ist
wieder höher, als die Ruhestromaufnahme des Mikrocontrollers.
Die obige Empfehlung, bei Langzeit-Batteriebetrieb möglichst auf
Spannungsregler zu verzichten, halte ich für durchaus angebracht.
Stefanus F. schrieb:> Wenn du es mit allzu dicken Elkos verschlimmbesserst ...
Hätte ich vielleicht erwähnen sollen. Ich bin davon ausgegangen, was für
mich Stand der Technik ist: SMD-Keramikkondensatoren.
Wir sollten es aber dabei belassen. Der TO hat eine ganz andere Frage
gehabt. Ich wollte nur nicht die Falschaussage zur Leistungsaufnahme des
Systems stehen lassen.