Forum: Mikrocontroller und Digitale Elektronik Wo geht die Energie hin?


von Johannes (menschenskind)


Lesenswert?

Hallo

Mein MP3-Player besteht aus ATMega32, VS1001k und nem 7414 zur 
Entprellung der Taster.

Ich hab jetzt mal den Strommesser drangehängt. Der ist im absoluten
Nullbetrieb aller Elemente bei 50 mA
Das dürfte wohl zu viel sein.
Aber wo geht denn da die Energie rein?
Hab in der Hauptroutine nur die Initialisierung drin und dann zum Test 
nur ne leere for(;;)-Schleife. Der Atmega macht also nix
Den VS1001 hab ich mittels power down-Signal schlafen gelegt. Und selbst 
wenn, dürfte er ja nich viel verbrauchen, weil nichts abgespielt wird.
Der 7414 samt Beschaltung benötigt 9mA. Bleiben noch 41 mA :(

Fällt euch dazu was ein?

von Tim H. (hotty) Benutzerseite


Lesenswert?

Schaltplan!

Ich denke mal du hast etwas so verbunden wie es nicht gehört. Ein 
Schaltplan könnte uns da helfen.

von Εrnst B. (ernst)


Lesenswert?

Johannes Hofmann schrieb:
> nur ne leere for(;;)-Schleife. Der Atmega macht also nix

Trugschluss: Der Atmega arbeitet mit fast maximaler Leistung um nix zu 
tun, und hat demnach auch fast seinen maximalen Stromverbrauch.

schau dir lieber mal den sleep-mode an, damit wird das weniger.

von holger (Gast)


Lesenswert?

>Der 7414 samt Beschaltung benötigt 9mA.

Viel zu viel falls es ein 74HC oder 74HCT ist.
Unbenutzte Eingänge auf Low oder High geschaltet?
Unnötig kleine Pullups/downs können sich auch ganz
schön addieren.

von sw1ft (Gast)


Lesenswert?

Ernst hat recht.
Einen Mikrocontroller kannst du von der Auslastung nicht mit einem PC 
vergleichen. Der ATmega arbeitet auch die leere for schleife ab, so 
schnell wie er es eben kann. Der arbeitet entweder auf Volllast oder gar 
nicht.

von casud (Gast)


Lesenswert?

sw1ft schrieb:
> Einen Mikrocontroller kannst du von der Auslastung nicht mit einem PC
> vergleichen. Der ATmega arbeitet auch die leere for schleife ab, so
> schnell wie er es eben kann. Der arbeitet entweder auf Volllast oder gar
> nicht.

Das tut auch ein PC.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

sw1ft schrieb:
> Einen Mikrocontroller kannst du von der Auslastung nicht mit einem PC
> vergleichen. Der ATmega arbeitet auch die leere for schleife ab, so
> schnell wie er es eben kann. Der arbeitet entweder auf Volllast oder gar
> nicht.

So wie ein PC. Auch dort wird das da
1
int main(void)
2
{
3
  while(1);
4
}

zu 100% CPU (oder heutzutage Kern) Last führen.

Matthias

von Marko B. (glagnar)


Lesenswert?

Der 7414 ist ja wohl auch ueberfluessig, die Entprellung kann doch die 
Software machen ...

von Johannes (menschenskind)


Lesenswert?

Hm klingt logisch, dass der da viel verbraucht.
Das Problem dabei bezieht sich nämlich auf diesen 
Beitrag "Re: EEPROM-Zugriff bei Spannungstrennung"
Was passiert denn da intern, wenn der Interrupt ausgelöst wird?
Angenommen, nach nem Interrupt ließe ich den uC einfach warten mittels 
Delay, wäre der Verbrauch dann geringer? Kann ich grad nich testen :)

Nein, bei meinem Projekt geht das leider nicht mit Software-Entprellung, 
sonst hätt ich das ja schon implementiert.

von Bensch (Gast)


Lesenswert?

> Aber wo geht denn da die Energie rein?

Die Energie wird in Wärme umgewandelt...

von holger (Gast)


Lesenswert?

>Angenommen, nach nem Interrupt ließe ich den uC einfach warten mittels
>Delay, wäre der Verbrauch dann geringer?

Nö, und kein Arsch kann dir sagen wo du Strom verbrauchst
ohne den Schaltplan zu sehen.

von Johannes (menschenskind)


Lesenswert?

den muss ich erst mal zeichnen

von Uwe .. (uwegw)


Lesenswert?

Johannes Hofmann schrieb:
> Angenommen, nach nem Interrupt ließe ich den uC einfach warten mittels
> Delay, wäre der Verbrauch dann geringer?

Du hast das Prinzip immer noch nicht verstanden. Der Prozessor holt 
einen Befehl nach dem anderen aus dem Speicher und verarbeitet ihn. Der 
Stromverbrauch bleibt dabei konstant. Es sei denn, man schickt ihn 
schlafen, dann führt er keine Befehle mehr aus und braucht daher weniger 
Strom. Es ist also egal, was es für Befehle sind, egal ob leere 
Schleifen oder delays. Beides wird letztendlich zu Sprungbefehlen, 
Rechenoperationen und Vergleichen assembliert. Aus Sicht des Prozessors 
also nicht von einem "sinnvollen" Programm zu unterscheiden.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Noch eine Ergänzung dazu:
Der Prozessor braucht natürlich mehr Strom, wenn alle möglichen 
Zusatzkomponenten an sind. Diese kann man abschalten oder muss sie 
explizit anschalten, wenn man sie braucht. Benötigst du zum Beispiel 
keinen Analog-Eingang (auch keinen Analogcomparator), so kannst du diese 
Komponenten abschalten.

Ein PC-Prozessor braucht auch nur dann mehr Strom, wenn er zusätzliche 
Komponenten einschalten muss (mathematischer Coprozessor, Pipelines, 
etc). Diese Teile sind nämlich mittlerweile auf Stromsparen ausgelegt 
und schalten alles ab, was nicht benötigt wird.

Und was die Auslastung angeht, ist ein PC-Prozessor auch immer am 
Arbeiten. Das was Du im Taskmanager siehst ist nur die Aufteilung der 
Rechenzeit auf einzelne Prozesse). Der Leerlaufprozess (den sieht man 
nicht bei jedem System) benötigt immer das, was andere Prozesse nicht 
benötigen. Zusammen sind es aber immer 100% (oder mehr bei mehreren 
Prozessoren, obwohl das mathematisch nicht korrekt ist).

Btw: Was meinst Du, was ein Delay macht?

Entweder sind das verschachtelte for-schleifen oder ein programmierter 
Timer. In den meisten Bibliotheken ist das ersteres.

Also:
Zum Strom sparen alle Komponenten abschalten, die nicht benötigt werden.
Externen Interrupt aktivieren (kein Pin-Change, denn der braucht wieder 
mehr Strom). Dort kommt dann später das Wecksignal dran. Jetzt kann der
Prozessor schlafen gelegt werden. Er wacht erst auf, wenn der Interrupt 
kommt (Achtung: ich meine, dass auch ein externer Quarz angehalten wird; 
also gegebenenfalls Einschwingzeit beachten).

von Johannes (menschenskind)


Lesenswert?

Der Wanderpokal für die hilfreichste Antwort geht heute an: Christian 
H.!

Ok, da werd ich mal schauen, was ich da so optimieren kann.

von Tim H. (hotty) Benutzerseite


Lesenswert?

Ich hab auch mal zu diesem Problem eine Frage und vielleicht eine 
Ursache:

Mir ist schon öfters aufgefallen, dass der Stromverbrauche meines 
LED-Matrix Steuerboards so um die 80mA zieht, wenn die Software drauf 
ist und keine Matrix angeschlossen ist. Ist der Chip gelöscht, dann 
verbraucht die Schaltung normale 20mA (MEGA32 auf 8MHz und MAX232). Wenn 
die Matrix an der Schaltung ist, verbraucht die Steuerplatine wieder 
normale 20mA.
Woran liegt so was? Ich hab das bisher immer ignoriert :)

von holger (Gast)


Lesenswert?

>Woran liegt so was? Ich hab das bisher immer ignoriert :)

Am Schaltplan.

von Ulrich (Gast)


Lesenswert?

Beim µC hilft es auch wenn man den nicht mit 5 V sondern nur mit der 
wirklich nötigen Spannung beteibt. Bei 2,5 V braucht man nur etwa den 
halben Strom und 1/4 an Leistung. Für den Mega32 gibt es auch schon 
einen sparsameren Nachfolger (Mega324P).

von Tim H. (hotty) Benutzerseite


Lesenswert?

Naja die 80mA stören mich nicht. Aber ich hab mich mal gefragt woran das 
überhaupt liegt. Wahrscheinlich hat einer der Kupferlackdräthe einen 
kurzschluss... Aber die Schaltung funktioniert ja.

von Johannes (menschenskind)


Lesenswert?

Ich hab jetzt mal 700uF vor den Spannungswandler gehängt.
Bei Aufruf des Interrupt bei Spannungstrennung sollte dann mal ganz
kurz eine LED blinken. Macht sie nicht :(
Die Spannung über diesen beiden Kondensatoren liegt im Betrieb bei 
4,4Volt, da 0,7 an einer Diode verschwinden.
So. Beim Ausschalten. Sinkt die Spannung schlagartig auf 0,9V ab dann 
auch schnell auf 0,6V und ab da geht's dann langsamer nach unten.
Aber was ja auch nicht gerade förderlich ist, dass die 
Brown-Out-Überwachung ja schon bei 2,7V die Bude dicht macht. Also macht 
der ATmega vielleicht schon nen Reset, bevor der Interrupt seine Aktion 
machen kann?
Jetzt ist halt die Frage, gehören die Kondensatoren, die ja dem ATmega
noch den Restsaft für die EEPROM-Speicherung bereitstellen sollen also 
besser vor oder nach den Spannungswandler?

Danke

von werner01 (Gast)


Lesenswert?

ich denke das ist egal solange du einen linearregler nimmst.

von Thomas W. (wagneth)


Lesenswert?

C=Q/U = [AS/V]

Je mehr Spannung umso mehr Ladung wird im Kondensator gespeichert.
Je mehr Ladung im Kondensator desto länger hält Deine 
Spannungsversorgung durch, bei gleicher Kapazität.

Also gehört der "dickere" Kondensator vor den (Fest-)Spannungsregler.

Je grösser dein deltaU am Regler desto grösser der Effekt.
Allerdings konnte ich nicht rauslesen was für eine 
Versorgungsspannung/Regler Du benutzt...

von Johannes (menschenskind)


Lesenswert?

Ja das ist ja klar.
Aber es ist doch seltsam, dass die Spannung sofort von 4,4 auf 0,9V 
einbricht.
Und dass die LED nicht mal für den Bruchteil einer Sekunde aufblitzt 
macht mich auch stutzig.
Die wird ja sofort aktiviert, nach dem der Interrupt ausgelöst wurde.

von Volker S. (volkerschulz)


Lesenswert?

Thomas W. schrieb:
> C=Q/U = [AS/V]
>
> Je mehr Spannung umso mehr Ladung wird im Kondensator gespeichert.
> Je mehr Ladung im Kondensator desto länger hält Deine
> Spannungsversorgung durch, bei gleicher Kapazität.
>
> Also gehört der "dickere" Kondensator vor den (Fest-)Spannungsregler.
>
> Je grösser dein deltaU am Regler desto grösser der Effekt.
> Allerdings konnte ich nicht rauslesen was für eine
> Versorgungsspannung/Regler Du benutzt...

Das macht IMHO nicht ganz so viel Sinn, vor allem nicht wenn ein 
Linearregler benutzt wird, der das Plus an gespeicherter Ladung dann 
gleich wieder in Waerme umsetzt. Abgesehen davon macht der Regler ja 
dicht (oder was anderes Undefiniertes) noch weit bevor sich der Elko 
ganz entladen hat. Zur direkten Versorgung eines µC aus dem Elko koennte 
es dann aber immernoch reichen.

Ausserdem habe ich den Eindruck, dass ein (Elektrolyt)-Kondensator das 
meist ueberschaetzte Bauteil ueberhaupt ist. Man moege zum Vergleich mal 
einen Blick auf sowas werfen:

http://www.pollin.de/shop/dt/NTA5OTgxOTk-/Bausaetze/Diverse/LED_Notlicht_B233.html

und dann Kapazitaeten und Stroeme vergleichen. ;)

Volker

von Thomas W. (wagneth)


Lesenswert?

Ich unstelle um das Prinzip zu verdeutlichen C=2200µF


Fall 1. Kondensator hinter dem Regler.

Nutzbarer Spannungshub für den AVR bei Ub=5V, bis zur Entladespannung 
von 3,3V -> 1,7V

Q(5V)= 11mAS
Q(3,3V)= 7,26mAS

Es können also 3,74mAS entnommen werden...


Fall 2. Kondensator vor dem Regler.

Q(12V)=26,4mAS
Q(9V)=19,8mAS

Q(3,3V)= 7,26mAS

Es können also zwischen 19,4mAS und 12,54mAS entnommen werden.
---


Es geht mir also nicht um die höhere Spannung (und deren höhere 
Energie),
sondern um die grössere gespeicherte Ladungsmenge.

Denke die Milchmädchenrechnung verdeutlicht das schon ganz gut...
---

Es kann natürlich sein das ich da einen Denkfehler drin habe,
dann Entschuldigung.

von Thomas W. (wagneth)


Lesenswert?

Johannes,
ohne einen Schaltplan kann man nur qualitative Aussagen treffen...
(shit in, shit out)

von Thomas W. (wagneth)


Lesenswert?

@ Volker:
Das was der Wandler in Wärme umsetzt ist alles andere als die Ladung...
(denn die bleibt erhalten -- sie wechselt sozusagen die Seite ;))

von Volker S. (volkerschulz)


Lesenswert?

Thomas W. schrieb:
> @ Volker:
> Das was der Wandler in Wärme umsetzt ist alles andere als die Ladung...
> (denn die bleibt erhalten -- sie wechselt sozusagen die Seite ;))

Jaja.. ;)

Aber das Grundproblem bleibt:

Die Ladungsmenge (und damit die gespeicherte Energie) ist zwar 
proportional zur Spannung, ist die Spannung vor dem Linearregler aber 
doppelt so hoch wie dahinter, wandelt die Schaltung auch doppelt so viel 
Energie (Hab extra nicht "verbraucht" geschrieben, damit ich keinen 
Aerger von Thomas W. bekommen ;)).

Hinzu kommt in der Tat der "Spannungshub". Nehmen wir einen 7805 an, der 
mit 7.5V versorgt wird, dann haben wir VOR dem Wandler einen nutzbaren 
Hub von nur 0.5V (da der 7805 min. 7V am Eingang braucht), hinter dem 
Wandler aber einen nutzbaren Hub von mehr als dem Dreifachen (wenn wir 
mal von einem Mikrocontroller mit 3.3-5.0 VCC ausgehen).

Macht Sinn?

Volker

von ... (Gast)


Lesenswert?

Naja,....

Der 7805 oder was da auch immer arbeitet wird auch eine kleinere 
Spannung als 5V "durchlassen" (abzüglich des drop).

Wenn die minimale µC Spannung 3,3V ist (WD bei 2,7... aber mit 2,7V zu 
rechnen ist blöd...) und er nur mit 9V reingeht,
hat er immer noch einen "verfügbaren" Spannungshub von (9-3,3-1)V von 
gut 4,5V...

Denn er hat für seine Anwendung bestimmt keinen ollen 7805 benutzt,
nein er hat einen very-low-drop benutzt -- oder doch ein Schaltwandler 
???

Die Energie die am Wandler verbrutzelt ist für die Ladung die ich aus 
der Spannungsquelle -> Kondensator für die Schaltung entnehmen kann ist 
dann immer noch grösser als hätte ich nur die 1,7V differenz.

Du kreierst gerade einen Speziellen Fall.
Unser TE gibt meiner Meinung nach zu wenig Futter...

Ich konnte hier nicht einmal rauslesen wie gross sein Kondensator ist...


Will aber nicht mit Dir streiten,
bin doch selbst noch am lernen (von den Grundlagen)...

von Volker S. (volkerschulz)


Lesenswert?

Streiten will ich auch nicht und auch wenn ich 'offiziell' nicht mehr 
lerne, lernt man doch nie aus. ;)

Ich bin von einem linearen Wandler ausgegangen, weil das ja so schon vor 
meinem Beitrag gemacht wurde. Und da steht ein Elko VOR dem Wandler im 
besten Falle genausogut wie HINTER dem Wandler da, da die Ladung ja 
proportional zur Spannung steigt. Ist die Eingangsspannung also doppelt 
so hoch wie die Ausgangsspannung, kann der Elko doppelt so viel Energie 
liefern. Davon "verbrennt" aber der Spannungswandler dann wieder die 
Haelfte. Ich beweifle allerdings dass der Spannungswandler bei 
geringeren Spannungen alles verlustfrei passieren laesst.

Aber Du hast Recht: Im in diesem speziellen Falle zu helfen brauchen wir 
mehr Input.

Volker


P.S.: Die Groesse seines Elkos kennen wir und koennen sie in Ruhe 
belaecheln:

> Ich hab jetzt mal 700uF vor den Spannungswandler gehängt.

von Thomas W. (wagneth)


Lesenswert?

>> Ich hab jetzt mal 700uF vor den Spannungswandler gehängt.

Ich sollte lesen lernen.


Da stecken doch wohl sowas um 2-5mAS drin.

...bei 50mA Last... + die LED

Da ist der Daumen nach dem Pi kaputt !

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.