Forum: Mikrocontroller und Digitale Elektronik Spannung messen ohne Port


von Ralf Röder (Gast)


Lesenswert?

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

von Detlev T. (detlevt)


Lesenswert?

Man könnte die interne 1.1V Referenzspannung mit dem ADC und AVCC als 
Referenz messen. Der Rest ist Dreisatz.

: Bearbeitet durch User
von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Hier ist erklärt, wie das geht: 
https://www.sciencetronics.com/greenphotons/?p=1521

Im Prinzip geht es darum, die internen 1,1V relativ zu VCC zu messen.

Der ATmega48P kann das, der ATmega48 nicht.

von Sascha W. (sascha-w)


Lesenswert?

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

von c-hater (Gast)


Lesenswert?

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.

von U. M. (oeletronika)


Lesenswert?

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

von c-hater (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

von Harald W. (wilhelms)


Lesenswert?

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.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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...

von Möglicher Weise (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

Das

http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48_88_168_megaAVR-Data-Sheet-40002074.pdf

scheint mir das aktuelle Datenblatt zu sein (?)

Der kann das.

von Stefan F. (Gast)


Lesenswert?

>> 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.

von c-hater (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Dieter R. schrieb:
> Das
> 
http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48_88_168_megaAVR-Data-Sheet-40002074.pdf
> scheint mir das aktuelle Datenblatt zu sein (?)
> Der kann das.

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

Möglicher Weise schrieb:

> Völlig unmöglich?! Das bist Du doch selbst auch.

cogito ergo sum

von Stefan F. (Gast)


Lesenswert?

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.

von Ralf Röder (Gast)


Lesenswert?

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

von Dieter R. (drei)


Lesenswert?

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.

von U. M. (oeletronika)


Lesenswert?

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

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

Dieter R. schrieb:

> Es reicht ein Linearregler und die Energieersparnis ist bei jeder
> Taktfrequenz gegeben.

Nein und nein.

von Stefan F. (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

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.