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