Forum: Mikrocontroller und Digitale Elektronik low power Anwendung mit Attiny13


von ajax (Gast)


Lesenswert?

Hallo alle,

hat jemand schon einmal Erfahrungen mit eine Attiny13 bei Anwendungen 
mit sehr wenig Strom gemacht?

Ich habe mal ein wenig experimentiert: Den CPUCLK auf 128 Khz 
eingestellt.

Ergebnis: Der Attiny13 lief schon bei 1.2V an. Der Stromverbrauch lag 
bei auseschalteter Peripherie zwischen 10uA und 100uA. Witzigerweise 
kann man bei so niedrigen Strömen einen 1K Ohm Widerstand in die 
Versorgungsleitung schalten und daran den Strom über den Spannungsabfall 
bestimmen.

Mein Versuch, die 128Khz mit dem internen Vorteiler noch mal durch 8 zu 
teilen, ist im Ergebnis nicht ganz klar. Ich konnte den Attiny dann 
nicht mehr über die ISP-Schnittstelle programmieren. Weis jemand, ob ich 
den Prozessor noch irgendwie retten kann?

Könnte es eventuell was bringen, den Sleep Mode des Prozessors 
auszuprobieren, um den Stromverbrauch noch weiter zu senken`

Gruß,
ajax

von oha (Gast)


Lesenswert?

>Könnte es eventuell was bringen, den Sleep Mode des Prozessors
auszuprobieren, um den Stromverbrauch noch weiter zu senken`


Ja. Sicher. auf jeden Fall. Ich wuerde einen 32kHz Quarz plus einen 4MHz 
Quarz nehmen, und dann den 4MHz per Sleep abschalten.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

ajax wrote:

> Mein Versuch, die 128Khz mit dem internen Vorteiler noch mal durch 8 zu
> teilen, ist im Ergebnis nicht ganz klar. Ich konnte den Attiny dann
> nicht mehr über die ISP-Schnittstelle programmieren. Weis jemand, ob ich
> den Prozessor noch irgendwie retten kann?

Du kannst versuchen, den ISP-Takt so weit zu senken wie moeglich. Aber 
AFAIR darf er nicht Groesser als Takt/4 sein, dass es funktioniert. 
Alternativ kannst Du dann noch per HV programmieren.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Mein Versuch, die 128Khz mit dem internen Vorteiler noch mal durch 8 zu
>teilen, ist im Ergebnis nicht ganz klar. Ich konnte den Attiny dann
>nicht mehr über die ISP-Schnittstelle programmieren. Weis jemand, ob ich
>den Prozessor noch irgendwie retten kann?

Der AVR-ISP mkII und das STK600 unterstützt langsame ISP-Taktraten bis 
etwas über 1kHz, das sollte gehen.

>Könnte es eventuell was bringen, den Sleep Mode des Prozessors
>auszuprobieren, um den Stromverbrauch noch weiter zu senken`

Idle Mode braucht nochmal die Hälfte, Power Down bei ausgeschaltetem 
BrownOut und ausgeschaltetem Watchdog liegt bei etwa 1µA.

>Ja. Sicher. auf jeden Fall. Ich wuerde einen 32kHz Quarz plus einen 4MHz
>Quarz nehmen, und dann den 4MHz per Sleep abschalten.

Geht nicht beim Tiny13.

von hust (Gast)


Lesenswert?

Ich hab grad 2 Attiny13 gerettet die ich am WE leider falsch gefused 
hatte. (Ich kannte die Problematik mit den 128kHz und 1/4 SPI Takt 
nicht...)

Ich hab die Attinys dann mit PonyProg wiederbeleben können wies hier 
auch schon paarmal im Forum beschrieben wurde. Ich hab mir den einfachen 
seriellen Programmer. (Der eigenbau wo nur 2 Z-Dioden und paar 
Widerstände und ein Transistor drauf sind)


In der ponyprog200.ini

SPIBusSpeed=VERYSLOW

einstellen und die Datei danach auf Schreibgeschützt schalten. (Bei mir 
hat sich der Parameter immer beim Start vom PonyProg wieder auf NORMAL 
gestellt)

Danach hab ich den Attiny12 ausgewählt und CKSEL1 und CKSEL0 wieder in 
den Ursprünglichen Zustand versetzt. (Bei allen anderen Fuses hab ich 
die Haken weg gemacht). Dann auf Write geklickt und bei der 
Fehlermeldung auf Ignore gedrückt. Danach hab wieder auf den Attiny13 
umgestellt und siehe da, ich konnte die Fuses wieder auslesen.

Dann einfach noch die anderen Fuses so setzen das alles wieder 
funktioniert. (Bei mir waren seltsamerweise die beiden Lock Fuses 
gesetzt, konnte aber anscheinend noch drauf zugreifen, kein plan was das 
zu bedeuten hatte.)

von Gast (Gast)


Lesenswert?

>hat jemand schon einmal Erfahrungen mit eine Attiny13 bei Anwendungen
>mit sehr wenig Strom gemacht?

Ja.

>Den CPUCLK auf 128 Khz eingestellt.

Kann man machen. Es muss natürlich sichergestellt sein, dass der µC dann 
noch alle seine Jobs erledigen kann.

>Ergebnis: Der Attiny13 lief schon bei 1.2V an.

Gut möglich, aber von der Verwendung als Betriebsspannung würde ich 
trotzdem abraten. Wahrscheinlich ist er noch nicht komplett 
funktionstüchtig (EEPROM?).

>Der Stromverbrauch lag
>bei auseschalteter Peripherie zwischen 10uA und 100uA.

Was bereits akzeptabel ist. Eine NiMH-Zelle der Größe AA hat ca. 2700 
mAh Kapazität; also kann sie einen Strom von 100 µA = 0.1 mA rechnerisch 
27000 h lang liefern. Da ein Jahr 365 * 24 h = 8760 h hat, dauert es 
theoretisch mehr als DREI JAHRE (27000/8760 = 3.08), bis die Zelle leer 
ist, bei einem ununterbrochen fließenden Strom von immerhin 100 µA.

Für Sachen wie eine IR-Fernbedienung ist der Power-Down-Modus geeignet 
(kein timergetriggertes zyklisches Aufwachen, sondern schlafen bis der 
Benutzer eine Taste drückt). Dank nur ca. 1 µA Schlafstrom ist dann auch 
Betrieb an einer Knopfzelle problemlos möglich.

>Mein Versuch, die 128Khz mit dem internen Vorteiler noch mal durch 8 zu
>teilen, ist im Ergebnis nicht ganz klar.

Funktioniert prinzipiell, aber so ein µC hat ja normalerweise auch noch 
irgendwas zu rechnen, und wenn das nicht gerade ausgesprochen wenig ist, 
dann wirds mit 16 kHz Taktfrequenz rechenpowermäßig nicht reichen. 128 
kHz haben auch den Vorteil, dass man noch den ADC benutzen kann (mit dem 
kleinstmöglichen ADC-Taktteiler 2 läuft der ADC dann mit 64 kHz).

>Ich konnte den Attiny dann
>nicht mehr über die ISP-Schnittstelle programmieren.
>Weis jemand, ob ich den Prozessor noch irgendwie retten kann?

Rettung ist IMMER möglich durch High-Voltage-Programming. Wird vom 
STK500 unterstützt, aber von anderen einfacherern Programmiergeräten 
meistens nicht.

>Könnte es eventuell was bringen, den Sleep Mode des Prozessors
>auszuprobieren, um den Stromverbrauch noch weiter zu senken`

Ein dickes JA! Wenn der µC nichts zu tun hat, dann sollte man ihn 
schlafen legen und z. B. nur einen Timer weiterlaufen lassen, der ihn 
zur passenden Zeit wieder aufweckt. Im Datenblatt findest Du weit hinten 
bei den "electrical characteristics" etliche Stromverbrauchskurven, aus 
denen Du genau ablesen kannst, wieviel der µC bei x Volt VCC und y 
Taktfrequenz in einem bestimmten Betriebsmodus (active, idle, power 
down) zieht.

von Gast (Gast)


Lesenswert?

Und auch mal im Datenblatt Seite 12 lesen ("Minimizing Power 
Consumption").

Falls Du noch nicht den Analog Comparator abgeschaltest hast: Hol das 
nach und miss mal den Stromverbrauch vorher/nachher.

von ajax (Gast)


Lesenswert?

>Falls Du noch nicht den Analog Comparator abgeschaltest hast: Hol das
>nach und miss mal den Stromverbrauch vorher/nachher.

Der sollte nach dem Reset ausgeschaltet sein, nicht? Ich nehme mal an, 
dass alle Peripheriekomponenten nach einem Reset aus sind.

Ich habe diesen Thread gestartet, weil ich wissen wollte, ob jemand 
wirklich schon mal die Stromaufnahme gemessen hat. Messen geht immer 
über die Datenblattangaben. Im Datenblatt liegt der minimale 
Stromverbrauch bei ca. 30uA, gemessen habe ich allerdings weniger ( bei 
laufendem Prozessor, nicht idle ). Allerdings steht im Datenblatt auch 
nichts von einem Betrieb bei einer Betriebsspannung von 1V.

Den zu niedrig getackteten Attiny habe ich versucht mit der 
HV-Programmierung mit einem AVR-Dragon zu retten, allerdings hat die 
HV-Programmmierung nach der Verkabelungsanleitung in AVR-Studio nicht 
funktioniert, möglicherweise ist da noch ein Bug in der Anleitung drin.

zx81

von Falk B. (falk)


Lesenswert?

@ ajax (Gast)

>>Falls Du noch nicht den Analog Comparator abgeschaltest hast: Hol das
>>nach und miss mal den Stromverbrauch vorher/nachher.

>Der sollte nach dem Reset ausgeschaltet sein, nicht?

Nein, der ist komischerweise nach dem Reset aktiv.

> Ich nehme mal an,
>dass alle Peripheriekomponenten nach einem Reset aus sind.

Fast alle.

MfG
Falk

von Klaus F. (kfalser)


Lesenswert?

> Messen geht immer über die Datenblattangaben.
Das mag für eine Einzelanwendung stimmen.
Überprüfen der Angaben im Datenblatt schadet auch nicht, aber 
letztenlich ist immer der Wert im Datenblatt der GARANTIERTE Wert, der 
über alle Betriebsbedingungen wie Temperatur, Bauteiltoleranzen usw. 
eingehalten wird.

von ajax (Gast)


Lesenswert?

>Falls Du noch nicht den Analog Comparator abgeschaltest hast: Hol das
>nach und miss mal den Stromverbrauch vorher/nachher.
..
>Nein, der ist komischerweise nach dem Reset aktiv.

Ah, sehr gut! Das wird mir weiterhelfen, da muss ich doch glatt mal dran 
drehen.

>Überprüfen der Angaben im Datenblatt schadet auch nicht, aber
>letztenlich ist immer der Wert im Datenblatt der GARANTIERTE Wert,

und manchmal schwer zu lesen, weil marketinggetrieben, nicht?

ajax

von (prx) A. K. (prx)


Lesenswert?

ajax wrote:

> Ich habe diesen Thread gestartet, weil ich wissen wollte, ob jemand
> wirklich schon mal die Stromaufnahme gemessen hat.

Bei einem Mega168 hatte ich den Stromverbrauch mal via Oszi gemessen, 
bei Power-Save mit 32KHz Async-Timer mit/ohne Brownout-Detector und 
sekundenweise kurz 2MHz aktiv. Alle Werte lagen dort wo sie laut 
Datasheet typischerweise sein sollten.

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.