Forum: Mikrocontroller und Digitale Elektronik ATTiny13V Stromaufnahme (Ewiges Blinklicht)


von Wiglaf (Gast)


Lesenswert?

Was muss ich beachten, um die Stromaufnahme eines ATTiny13V möglichst 
gering zu halten?

Hintergrund sind diese Threads:

Beitrag "Blink LED 10-15 Sekunden"
http://www.b-kainka.de/bastel59.htm

Dazu habe ich drei Versuche gemacht.

Taktfrequenz ( int. Osz.) Stromaufnahme in der Pause @ 1,5 V

128 KHz                   55 µA
128 KHz                   40 µA (Sleepmodus und Timer zum Aufwecken)
500 Hz                    35 µA

Was kann ich noch tun, um die Stromaufnahme zu senken.

von Peter II (Gast)


Lesenswert?

Wiglaf schrieb:
> Was kann ich noch tun, um die Stromaufnahme zu senken

wie hast du denn die Pins beschaltet? Also die die nicht belegt sind?

Am besten gleich mal den Schaltplan zeigen.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Wiglaf schrieb:
> Was muss ich beachten, um die Stromaufnahme eines ATTiny13V möglichst
> gering zu halten?

Soweit ich mich erinnere, gibt es Möglichkeiten, verschiedene interne 
Komponenten gezielt abzuschalten (ADC, I/O-Treiber usw.). Falls der 
ATtiny13V das nicht kann, nimm den Nachfolger (ATtiny13A).

von Flo (Gast)


Lesenswert?

Im Prinzip könntest du in den Power-Down Modus gehen und als Timer den 
WDT benutzen... Hab das ganze bei einem ATMEGA88 mit externem 4MHz Quarz 
und komme selbst da schon auf 20uA, solltest du also einen internen 
128kHZ verwenden könnte der Strom wohl noch kleiner sein.

von Wiglaf (Gast)


Lesenswert?

Schaltplan:
1
VCC
2
  |            47 µF    10 K
3
  8  7  6  5--- C ---.-- R --- VCC
4
                     |
5
                     |
6
  1  2  3  4        LED 
7
           |         |
8
           GND      GND

von Eumel (Gast)


Lesenswert?

Du misst den Ladestrim des Elkos mit. Untersuch erstmal NUR den Attiny.

von Peter II (Gast)


Lesenswert?

Wiglaf schrieb:
> Schaltplan:

versteht ich nicht, wozu denn der Kondenstar? Ist der . ein Transistor?

Und wie hast du die nicht belegen ausgänge im code belegt?

von Wiglaf (Gast)


Lesenswert?

@ Peter

Alle Pins sind Ausgänge

@ Markus

Werde ich prüfen

@  Flo

Werde ich probieren

von Wiglaf (Gast)


Lesenswert?

@ Eumel

Es wird nur der ATTiny gemessen.

@ Peter

Der Punkt ist eine Verbindung. Kondensator- und Batteriespannung 
addieren sich, um die LED zum Leuchten zu bringen (siehe Link oben).

von katastrophenheinz (Gast)


Lesenswert?

Hi,
die Idee mit dem PowerDown-Sleepmode und WDT als "Wecktimer" halte ich 
für am erfolgversprechensten, weil PowerDown+Watchdog lt. Datenblatt 
noch mal deutlich weniger Strom als Idle zieht.

Gruss, Heinz

von cpldcpu (Gast)


Lesenswert?

Mit einem MCU kann man die Stromaufnahme der Schaltung evtl. noch weiter 
senken, indem man den Widerstand weglässt und den Kondensator zwischen 
zwei Pins des Controllers schaltet. Der Kondensator wird direkt vor dem 
Blinken über die Pins aufgeladen und entladen indem ein Pin gefloated 
wird. Kann allerdings sein, dass einem Clamp-Dioden einen Strich durch 
die Rechnung machen.

von Eumel (Gast)


Lesenswert?

katastrophenheinz schrieb:
> Hi,
> die Idee mit dem PowerDown-Sleepmode und WDT als "Wecktimer" halte ich
> für am erfolgversprechensten, weil PowerDown+Watchdog lt. Datenblatt
> noch mal deutlich weniger Strom als Idle zieht.
>
> Gruss, Heinz

Genau so wird es gemacht.
Beispielcode:
1
.include "tn13adef.inc"
2
3
ldi r16, 255
4
out DDRB, r16
5
out PORTB, r16
6
ldi r16, 0b00010000
7
out WDTCR, r16
8
ldi r16, 0b00111000
9
out WDTCR, r16
10
11
ldi r16,0
12
loop:
13
inc r16
14
cpi r16,40
15
brne loop
16
17
ldi r16,0b0010000
18
out MCUCR, r16
19
ldi r16,0
20
out PORTB, r16
21
sleep
22
23
main:
24
rjmp main

von Wolfgang H. (frickelkram)


Lesenswert?

Hi Wiglaf,

> VCC
>   |            47 µF    10 K
>   8  7  6  5--- C ---.-- R --- VCC
>                      |
>                      |
>   1  2  3  4        LED
>            |         |
>            GND      GND

den Kondensator lädst Du in dem Du den Pin nach Masse schaltest über den 
10kOhm Widerstand auf. Das bedeutet das der Pin aktiv-Low ist, so lange 
der µC schläft.

Soweit ich mich erinnern kann ist der Stromverbrauch geringer wenn der 
Pin High ist, kann mich aber irren ... vielleicht weis das hier jemand 
genau.

Du könntest den Pin über den internen Pullup laden. Alle Pins sollten 
zum Stromsparen ein definiertes Potenzial haben. Am Besten geht das wen 
man die Pins als Eingang deklariert und die Pullups aktiviert.
In dem Zustand könnte man dann den Kondensator laden lassen.
Die LED aktiviert man dann in dem man den Pin auf Ausgang und Low 
schaltet.
1
 VCC
2
  |
3
  8 7 6 5---||---+----LED---VCC
4
                 |
5
                 |
6
  1 2 3 4      DIODE
7
        |        |
8
      GND       GND

Der Kondensator wird über den internen Pullup und die Diode geladen (auf 
VCC - Ud). Wenn Pin5 auf GND geschaltet eird, ziegt der Kondensator die 
Kathode der LED kurzfristig unter den GND-Level und die LED blitzt auf.

von Peter II (Gast)


Lesenswert?

Wolfgang Heinemann schrieb:
> Soweit ich mich erinnern kann ist der Stromverbrauch geringer wenn der
> Pin High ist, kann mich aber irren ... vielleicht weis das hier jemand
> genau.

kann ich mir nicht vorstellen, der Pin darf nur nicht als Input ohne 
PullUP geschaltet sein. Ob er High oder Low ist spielt keine rolle.

Da er aber sagt, das er den Strom ohne den Kondensator gemessen hat, 
kann das eh nicht das Ursache sein.

Welchen Strom verbraucht denn die Schaltung wenn du einfach mal nur ein 
Programm machst ohne funktion und einfach den Sleepmodus aufrufst. (also 
keine WD oder Timer)

von Wiglaf (Gast)


Lesenswert?

@ Eumel

Der Watchdog hat es gebracht: 3 µA

@ all

Vielen Dank für eure Antworten.

von Axel S. (a-za-z0-9)


Lesenswert?

Wiglaf schrieb:
> Was muss ich beachten, um die Stromaufnahme eines ATTiny13V möglichst
> gering zu halten?

- den Analogcomparator ausschalten

- BOD abschalten bevor du in den Sleep gehst. Allerdings kann das der 
tiny13 nicht. Also entweder einen tiny13A nehmen oder einen tiny25

Aber natürlich baut man sowas mit Transistoren: 
http://trax.xl-im.net/blinker/


XL

von Eumel (Gast)


Lesenswert?

Axel Schwenke schrieb:
> Aber natürlich baut man sowas mit Transistoren:
> http://trax.xl-im.net/blinker/

Genau, und dann ist Batterie 20 mal schneller leer, tolle Wurst.

von batman (Gast)


Lesenswert?

Freie Ports Output LOW, brachte beim t2313 den minimalen Ruhestrom.

von Wiglaf (Gast)


Lesenswert?

batman schrieb:
> Freie Ports Output LOW, brachte beim t2313 den minimalen Ruhestrom.

Kann ich nicht bestätigen. Die Stromaufnahme ändert sich nicht.

von batman (Gast)


Lesenswert?

Und wieviel ist es bei dir dann betragsmäßig?
Möglicherweise hängt es mit anderen Sparmaßnahmen zusammen.

von batman (Gast)


Lesenswert?

Achso deiner läuft im Sleepmodus, meiner im Idle. Bei 8kHz ging es dann 
unter 10uA. Vielleicht liegts an den PCINT-Ports.

von Wiglaf (Gast)


Lesenswert?

batman schrieb:

> Und wieviel ist es bei dir dann betragsmäßig?

3,2 µA im Power-Down Modus mit dem Watchdogtimer zum Wecken .

von Thomas E. (thomase)


Lesenswert?

Wiglaf schrieb:
 > Taktfrequenz ( int. Osz.) Stromaufnahme in der Pause @ 1,5 V
>
> 128 KHz                   55 µA
> 128 KHz                   40 µA (Sleepmodus und Timer zum Aufwecken)
> 500 Hz                    35 µA
>
Wurstgebastel!

Ein AVR ist spezifiziert ab 1,8V. Daß der mit 1,5V noch läuft ist purer 
Zufall. Wer garantiert dir denn, daß der nach 4 Wochen mit 1,3V auch 
noch läuft und nicht in einen völlig undefinierten Zustand geht, in dem 
er die Batterie in Nullkommanichts leersaugt? Halbleiter sind doch keine 
ohmschen Widerstände.

> Der Watchdog hat es gebracht: 3 µA
Sehr beeindruckend. Ein Atmega48PA mit RTC an Timer2 braucht im 
Powersafe 0,75µA.
Ich hab hier 2 Testschaltungen. Damit lasse ich jeweils eine 20mA-Led 
alle 8 Sekunden aufblitzen. Mit Atmega168A und 2 AAs von Aldi. Die 
laufen seit Juni und blitzen immer noch unangenehm hell. Seit Juni 2012.

mfg.

von Wiglaf (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> Wiglaf schrieb:
>  > Taktfrequenz ( int. Osz.) Stromaufnahme in der Pause @ 1,5 V
>>
>> 128 KHz                   55 µA
>> 128 KHz                   40 µA (Sleepmodus und Timer zum Aufwecken)
>> 500 Hz                    35 µA
>>
> Wurstgebastel!

Du weißt einfach nicht wovon du redest.

> Ein AVR ist spezifiziert ab 1,8V. Daß der mit 1,5V noch läuft ist purer
> Zufall.

Ist kein Zufall. Der Läuft auch noch mit 0,9 V.

> Wer garantiert dir denn, daß der nach 4 Wochen mit 1,3V auch
> noch läuft und nicht in einen völlig undefinierten Zustand geht, in dem
> er die Batterie in Nullkommanichts leersaugt? Halbleiter sind doch keine
> ohmschen Widerstände.

Du weißt einfach nicht wovon du redest.

>> Der Watchdog hat es gebracht: 3 µA

> Sehr beeindruckend. Ein Atmega48PA mit RTC an Timer2 braucht im
> Powersafe 0,75µA.

Du weißt einfach nicht wovon du redest.

> Ich hab hier 2 Testschaltungen.

Das interessiert mich nicht.

---

Der Thread kann geschlossen werde. Die ersten Trolle tauchen tauchen 
auf.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wiglaf schrieb:
> Ist kein Zufall.

Doch, ist es.

> Der Läuft auch noch mit 0,9 V.

Deiner, gerade jetzt, bei deiner augenblicklichen Temperatur.

Keiner kann dir sagen, dass das mit dem, den du nächste Woche kaufst,
auch noch so ist.

Garantiert sind halt 1,8 V, alles darunter ist reine Glückssache.  Ein
paar Parameterschwankungen im Prozess, die sich unglücklich in eine
Richtung summieren, und die Gate-Schwellspannungen der Transistoren
können so weit weg gedriftet sein, dass da nichts mehr mit nur 1,5 V
geht.

> Der Thread kann geschlossen werde.

Auch, wenn du ihn begonnen hast: das bestimmst nicht du.

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.