Stromsparen an einer LED

Hier werden Fragen zu LED-Grundlagen beantwortet...

Moderator: T.Hoffmann

Antworten
kuahmelcher
Mini-User
Beiträge: 4
Registriert: Do, 14.03.13, 21:11

Do, 14.03.13, 21:33

Guten Tag liebe Experten.

Ich möchte eine LED in einer Gabellichtschranke möglichst stromsparend betreiben. Hintergrund ist der, dass ich die Lichtschranke mit zwei 1,5-V-Batterien in einem kleinen Gehäuse betreibe und das Gehäuse lässt sich weder leicht öffnen, noch kann man es gut erreichen - also muss die Batterie möglichst lange halten. :)

Die Lichtschranke ist die folgende: http://www.conrad.de/ce/de/product/1842 ... eite-31-mm

Jetzt meine Idee zum Strom sparen: Könnte ich die Leistung des Emitters mit einem dicken Widerstand nicht deutlich runterregeln (normal ist 330 Ohm, zuverlässig funktioniert aber auch z.B. 2,2 kOhm) oder gilt hier "rechte Tasche - linke Tasche", weil ja der Widerstand selbst warm wird und auch 'ne Leistung hat.

Gilt hier die einfache Rechnung: A x V = W? Könnte ich also einfach messen, um wieviel ich Strom und Spannung durch den Widerstand begrenze, die beiden Werte multiplizieren und mit der Leistung des Widerstandes vergleichen (hier gehe ich von 0,5 W aus)?? Wahrscheinlich denke ich wieder zu einfach - wer kann mich aufklären?

… und vielleicht noch als alternativen Ansatz: Würde ich theoretisch Strom sparen, wenn ich mit einem ATtiny45-Mikroprozessor (ist im Gehäuse im Einsatz) den Emitter pulse, so dass er nicht ständig leuchtet, sondern z.B. nur einmal in der Sekunde einen kleinen Lichtblitz abgibt? Würde das mehr oder weniger Strom verbrauchen? ( … wegen der zusätzlichen Arbeit im Controller.)

Wie ermittle ich überhaupt die Leistungsaufnahme von so 'nem ATtiny45??

Für sachdienliche Hinweise dankbar,

Gruß,
kuahmelcher
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Do, 14.03.13, 22:40

Hallo kuahmelcher,
welcome on board!
Könnte ich die Leistung des Emitters mit einem dicken Widerstand nicht deutlich runterregeln (normal ist 330 Ohm, zuverlässig funktioniert aber auch z.B. 2,2 kOhm)
Du kannst so weit mit dem Widerstand hochgehen, bis es nicht mehr zuverlässig funktioniert. Bei wesentlich weniger als 1mA Strom für den Emitter lohnt es sich aber eher an der Gesamtleistung zu arbeiten. Wenn z.B. ein Puls pro Sekunde reicht, dann kann man den ATTiny auch für die restliche Zeit 'schlafen' schicken, dann braucht er nur noch ein paar µA. Nachschauen kann man das im Datenblatt. Mit welcher Spannung und welchem Takt wird der ATTiny eigentlich betrieben? Da kann man auch viel Strom sparen, wenn man einen niedrigen Takt und eine niedrige Spannung verwendet.
Wie ermittle ich überhaupt die Leistungsaufnahme von so 'nem ATtiny45??
Einfach messen... Betriebsspannung ist ja bekannt (bzw. kann man auch messen) und dann einfach ein Strommessgerät zwischen Batterie und ATTiny-Schaltung.
Noch mal zu LED und Widerstand... Es zählt ja das was an Strom von der Batterie durch LED + Widerstand fließt. Grob gesagt fließen immer 1.2V durch die LED, der 'Rest' (also die Differenz zur Batteriespannung) wird vom Widerstand verbraten. Bei 5V Betriebsspannung wären das also 3,8V. Wenn diese 3.8V an einem 330Ohm Widerstand verbraten werden, dann fließen 11,5mA (I=U/R) und bei 2200Ohm nur noch 1,7mA.
(hier gehe ich von 0,5 W aus)
Wie kommst Du auf 0.5W? Beim 330Ohm Widerstand sind es 11.5mA; multipliziert mit den 3.8V ergibt das gerade mal 0.044W...
Benutzeravatar
contour7
Mega-User
Mega-User
Beiträge: 165
Registriert: Mo, 02.01.12, 16:56

Fr, 15.03.13, 08:28

Hallo Kuahmelcher!

Hast Du was mit Hubert zu tun?
Fraenk
Super-User
Super-User
Beiträge: 98
Registriert: Do, 07.06.07, 16:50

Fr, 15.03.13, 13:51

Mit welcher Spannung betreibst du die LED?
Die Leistung berechnet sich aus P = U * I. D.h. hängt sowohl von Spannung als auch vom Strom ab.
Betreibst du die LED mit 3V direkt von den Batterien und einem Strom von 5mA so hast du eine Verlustleistung von 16mW
Betreibst du die LED mit 5V und einem Strom von 5mA so hast du 27mW
Betreibst du die LED mit 1.5V von einer Zelle und 5mA so hast du 8mW Verlusleistung.

Die LED hat eine Vorwärtsspannung von 1.2V, du solltest sie also mit 1.5V betreiben können und einem kleinen Vorwiderstand.

Eine weitere Möglichkeit ist, wie du schon angesprochen hast, die LED nur kurz zu benutzen und auch den uC möglichst oft in einen Stromsparmodus zu fahren. Dadurch kannst du die LED auch heller leuchten lassen um ein sicheres Signal zu erzeugen, da die Verwendungszeit der LED minimal ist.
http://www.rn-wissen.de/index.php/Stromspar-Modi(AVR)
Du musst nur immer überlegen wie du den uC wieder aufweckst.
Wenn du den Idle Modus nutzt, so kannst du einen Timer verwenden der den uC alle paar ms aufweckt und die Messung durchführt.
Bei Power Save brüchtest du einen extra Quarz für einen Timer. Bei Standby brauchst du einen externen langsamen Takt, bspw. könntest du beim aufwecken einen Kondensator laden, dann legst du den uC schlafen, der Kondensator entlädt sich innerhalb von 1 Sekunde und weckt dadurch den uC wieder auf.
Im Power Down Mode ist die Weckzeit deutlich länger, falls du den uC aber nur jede Sekunde weckst, so ist die Dauer der Weckzeit im Vergleich gering, d.h. es sollte auch der verwendet werden können.

Dadurch hast du dann wirklich minimalen Stromverbrauch. Der uC schläft 99% der Zeit und verbraucht somit fast nichts. Die gesamte Schaltung verbraucht auch fast nichts, da die LED nur kurz benutzt wird.

Bei solchen optimierten Schaltungen den Stromverbrauch direkt zu Messen ist dann aber fast unmöglich. Zu gering und zu kurz die Impulse. Stattdessen misst man das indem man einen Superkondensator benutzt und die Spannungsänderung über eine Minute oder so misst und dadurch dann den Gesamtverbrauch berechnet.

Natürlich muss dann auch die gesamte Schaltung passen. D.h. möglichst direkt von der Batterie betreiben, ansonsten spezielle LDO verwenden um die Spannung einzustellen. Ebenso sollten Pull-Up/Down Widerstände sehr hochohmig sein um den Leckstrom zu minimieren.

Bei deiner Schaltung ist der Stromverbrauch bisher noch sehr hoch und auch konstant. Einfach Strom und Spannung Messen. Mit P=U*I erhälst du dann die Leistungsaufnahme. Eine 1.5V Knopfzelle hat ca. 200mAh. Angenommen du hast zwei: 3V*200mAh = 0.6Wh. Dein Attiny wird vermutlich gerade 1mA konstant verbrauchen, deine LED 5mA, somit 6mA, somit 3V*6mA = 18mW, somit würde die Schaltung 0.6Wh/18mW = 33h momentan maximal laufen.
kuahmelcher
Mini-User
Beiträge: 4
Registriert: Do, 14.03.13, 21:11

Fr, 15.03.13, 22:16

Du kannst so weit mit dem Widerstand hochgehen, bis es nicht mehr zuverlässig funktioniert. Bei wesentlich weniger als 1mA Strom für den Emitter lohnt es sich aber eher an der Gesamtleistung zu arbeiten. Wenn z.B. ein Puls pro Sekunde reicht, dann kann man den ATTiny auch für die restliche Zeit 'schlafen' schicken, dann braucht er nur noch ein paar µA. Nachschauen kann man das im Datenblatt.
Ahhh, DAS ist ja interessant! Vielleicht noch als Hintergrundinfo: Das Gerät soll ein "Fenstersensor" werden, der nach sechs Minuten anfängt zu piepsen und uns damit sagt: "Mach alle Fenster wieder zu!"

Ich habe das jetzt so gelöst, dass bei geschlossenem Fenster nur alle 24 Sekunden geprüft wird, ob es immer noch zu ist. Was mir bisher nicht bekannt war, dass man den µC auch regelrecht "schlafen schicken" kann - wie du schreibst. Der Unterschied macht immerhin 3,5 mA aus. Mein olles Multimeter gibt im Stromsparmodus einfach 0.00 mA an, bei einfacher Untätigkeit (bei delay) hingegen ca 3,5 mA. Die Anleitung habe ich hierher: http://www.insidegadgets.com/2011/02/05 ... dog-timer/ , wobei ich zugeben muss, dass ich den Code nur rudimentär verstanden habe - funktioniert aber!

Somit habe ich gegenüber dem "Fenstersensor V1.0" jetzt zwei deutliche Verbesserungen: 1. der Emitter braucht nur noch alle 24 Sekunden einmal Strom, nicht mehr ständig, 2. der ATtiny45 wird jetzt solange schlafen geschickt und nur aufgeweckt, wenn auch eine Messung anliegt.
Mit welcher Spannung und welchem Takt wird der ATTiny eigentlich betrieben? Da kann man auch viel Strom sparen, wenn man einen niedrigen Takt und eine niedrige Spannung verwendet.
Also es sind zwei Mignonzellen mit 1,5 Volt verbaut und der Takt beträgt 1 MHz internal clock (das steht jedenfalls unter "Board" meiner Arduino-IDE). Kann ich da etwa auch noch Einfluss drauf nehmen? Ich kann noch 8MHz und 20 MHz (external) auswählen, dann funktinoiert's aber nicht mehr.
Einfach messen... Betriebsspannung ist ja bekannt (bzw. kann man auch messen) und dann einfach ein Strommessgerät zwischen Batterie und ATTiny-Schaltung.
Hmm… klar. :oops: Ich wollte wieder rechnen.
Noch mal zu LED und Widerstand... Es zählt ja das was an Strom von der Batterie durch LED + Widerstand fließt. Grob gesagt fließen immer 1.2V durch die LED, der 'Rest' (also die Differenz zur Batteriespannung) wird vom Widerstand verbraten. Bei 5V Betriebsspannung wären das also 3,8V. Wenn diese 3.8V an einem 330Ohm Widerstand verbraten werden, dann fließen 11,5mA (I=U/R) und bei 2200Ohm nur noch 1,7mA.
Ja OK, das heißt also: es lohnen sich sowohl die geringere Spannung von 3V als auch ein großer Widerstand. Ich glaube allerdings, dass das jetzt für den Stromverbrauch nur noch Marginalien sind. Momentan leuchtet die LED IMMER! :D
Wie kommst Du auf 0.5W? Beim 330Ohm Widerstand sind es 11.5mA; multipliziert mit den 3.8V ergibt das gerade mal 0.044W...
Ähh, also da habe ich einfach die Leistung hergenommen, die beim großen C verkauft wird. Aber du hast natürlich Recht, die ist Abhängig von Strom und Spannung.

Vielen Dank für Deine kompetente Hilfe!

Gruß, Kuahmelcher
kuahmelcher
Mini-User
Beiträge: 4
Registriert: Do, 14.03.13, 21:11

Fr, 15.03.13, 22:46

Hei Fraenk,
Betreibst du die LED mit 3V direkt von den Batterien und einem Strom von 5mA so hast du eine Verlustleistung von 16mW
Ja, so mache ich's. Zwei Mingonzellen á 1,5V. Ich brauche ein bisschen Polster für einen Piezo-Summer, der seine angeblichen 96 dB(A) ja auch richtig entfalten können soll. :D
Eine weitere Möglichkeit ist, wie du schon angesprochen hast, die LED nur kurz zu benutzen und auch den uC möglichst oft in einen Stromsparmodus zu fahren. Dadurch kannst du die LED auch heller leuchten lassen um ein sicheres Signal zu erzeugen, da die Verwendungszeit der LED minimal ist.
Ja, habe ich jetzt gemacht und ich glaube, dass das am meisten hilft.
Ja vielen Dank! Das war der entscheidende Hinweis. Ich habe die folgende Anleitung verwendet: http://www.insidegadgets.com/2011/02/05 ... dog-timer/ , die ich aber nur ein wenig angepasst habe. Ehrlich gesagt, könnnte ich momentan nicht mal genau sagen, welchen Sleep-Mode ich verwende :) Ist aber egal, mein Messgerät meint, dass 0.00 mA verbraucht werden - das reicht mir! :D
Bei solchen optimierten Schaltungen den Stromverbrauch direkt zu Messen ist dann aber fast unmöglich. Zu gering und zu kurz die Impulse. Stattdessen misst man das indem man einen Superkondensator benutzt und die Spannungsänderung über eine Minute oder so misst und dadurch dann den Gesamtverbrauch berechnet.
:D Neenee, momentan reicht mir ein kleines Zettelchen am Gerät, auf dem ich das Datum des Batteriewechsels notiere!
Bei deiner Schaltung ist der Stromverbrauch bisher noch sehr hoch und auch konstant.
Ja, das stimmt. Allerdings habt ihr mir jetzt schon zwei Hinweise gegeben, mit denen ich echt prima weiterkomme. Danke!
Gruß, kuahmelcher
kuahmelcher
Mini-User
Beiträge: 4
Registriert: Do, 14.03.13, 21:11

Fr, 15.03.13, 22:56

contour7 hat geschrieben:Hallo Kuahmelcher!

Hast Du was mit Hubert zu tun?
Hei contour7, bin sein größter Fan! :wink:
Benutzeravatar
contour7
Mega-User
Mega-User
Beiträge: 165
Registriert: Mo, 02.01.12, 16:56

Sa, 16.03.13, 08:39

Sauber!
:mrgreen:

Weit, weit weg ...
Fraenk
Super-User
Super-User
Beiträge: 98
Registriert: Do, 07.06.07, 16:50

Sa, 16.03.13, 13:35

kuahmelcher hat geschrieben:Ja, so mache ich's. Zwei Mingonzellen á 1,5V. Ich brauche ein bisschen Polster für einen Piezo-Summer, der seine angeblichen 96 dB(A) ja auch richtig entfalten können soll. :D
Das ist dann eine nahezu optimale Betriebsbedingung, direkt von der Batterie ohne Umwege, bei einer geringen Betriebsspannung von 3V. Top.

kuahmelcher hat geschrieben:Ja vielen Dank! Das war der entscheidende Hinweis. Ich habe die folgende Anleitung verwendet: http://www.insidegadgets.com/2011/02/05 ... dog-timer/ , die ich aber nur ein wenig angepasst habe. Ehrlich gesagt, könnnte ich momentan nicht mal genau sagen, welchen Sleep-Mode ich verwende :) Ist aber egal, mein Messgerät meint, dass 0.00 mA verbraucht werden - das reicht mir! :D
Du nutzt den Power Down Mode + Watchdog.

Code: Alles auswählen

set_sleep_mode(SLEEP_MODE_PWR_DOWN);
Ein Blick ins Datenblatt S. 161 zeigt: 10uA Stromverbrauch
In der Zeit in der er an ist verbraucht er wohl ca. 0.4mA.

Wichtig bei alledem ist, dass du den internen Takt verwendest, da der schneller nach dem Aufwecken stabil anläuft als ein externen Quarz, aber das ist bei dir schon der Fall.

Deine LED leuchtet jetzt auch nur noch dann wenn der uC aufgeweckt wird?

Angenommen sie verbraucht 1mA, mit dem uC zusammen sind's: 1.4mA. Angenommen er braucht 1ms für die ganze Operation (was schon recht lange ist, also worst-case Fall), und die restliche Zeit verbraucht nur der uC Strom und vllt. Leckströme hier und da, also 12uA.
D.h. gemittelt ergibt sich ein Stromverbrauch von 12.06uA ((1ms*1.4mA)+((24s-1ms)*12uA)/24s)
Deine Akkus haben 200mAh, also sollte die Schaltung 16586 h laufen, mehr als 2 Jahre sofern ich mich nicht verrechnet habe und du nicht einen verborgenen Verbraucher in deiner Schaltung hast :-) (bspw. niederohmiger pull-down Widestand)

Also vernachlässigbar im Vergleich zum Stromverbrauch der dann wahrscheinlich auftritt wenn das Fenster offen ist und der Piepser an geht. Wenn du den dann noch ausmisst (den vom uC wirst du wohl schon kennen, 0.4mA + 1mA LED alle 24s, sonst wieder 12uA vermutlich sofern du den uC dann nicht weiter dauer laufen lässt), dann kannst du gut ausrechnen wann die Batterie wohl real leer sein wird.
Antworten