Sida 1 av 2

Tips för strömsnål µC applikation

Postat: 22 oktober 2004, 18:29:19
av Magnus Pihl
Tänkte jag skulle dela med mig av ett tips för applikationer med mycket höga krav på låg strömförbrukning som jag nyss använt mig av.

I power-down läge drar ex. AVR <1uA. Man kan låta den vakna från sleep-läget genom att ställa INT0 ingången till low-level interrupt och låta en kondensator ladda ur. När den sjunkit tillräckligt lågt så att interrupten slår till gör man det man ska. Kollar I/O och om något ska göras. Om inte, eller när det är klart, så ställer man INT0 som en utgång och laddar upp kondensatorn fullt. Sedan sätter man INT0 som en ingång igen och lägger µC i sleepmode igen. På så sätt kan man t.ex. varje sekund väcka µC från sin power-down mode och utföra lite jobb på några µs och sedan somna igen. Strömförbrukningen blir då mycket låg med en sådan duty-cycle.

Postat: 22 oktober 2004, 18:34:37
av Bengan
Underbart! tillsammans med exempelvis en PIC12F635 som drar 8,5µA i drift vid 32kHz(1nA i standby) så lär man kunna dra ner strömförbrukningen något enormt, tack!

Lär använda din lösning till min lilla transponderkrets.

Postat: 22 oktober 2004, 18:39:36
av Micke_71
Jag har undrat varför en liten sketen cykeldator klarar sig på ett LR44 batteri ett par år. Nu så börjar det klarna. :roll:

Mikael

Re: Tips för strömsnål µC applikation

Postat: 22 oktober 2004, 19:58:51
av MicaelKarlsson
Magnus Pihl skrev:Tänkte jag skulle dela med mig av ett tips för applikationer med mycket höga krav på låg strömförbrukning som jag nyss använt mig av..
Ahaaaa.....! Klyftigt som en apelsin!

:tumupp: :bravo:

Postat: 23 oktober 2004, 00:30:15
av Rymdninja
ja det var inte illa...nu gäller det bara att hitta ett problem med den lösningen...hmm....undrar var....:)

Postat: 23 oktober 2004, 02:16:40
av evert2
.......precis!

Postat: 23 oktober 2004, 09:16:10
av chille
Om inte jag är ute och cyklar (som vanligt) så ska man väl ändå kunna få den att väcka sig själv med hjälp av någon timer eller så? När det gäller x86 finns det en funktion som heter hlt (halt) som fryser processorn, grejen är den att timers/interrupts och liknande drar igång den igen, därför måste man stoppa dessa innan hlt körs. Vad jag vet ska man kunna göra något liknande på AVR. Får väl lusläsa databladen i helgen :)

Postat: 23 oktober 2004, 09:56:10
av cykze
chille:

Från databladet till 2313:
The Idle mode stops the CPU while allowing the SRAM, Timer/Counters, SPI port and interrupt system to continue functioning. The Power-down mode saves the register contents but freezes the Oscillator, disabling all other chip functions until the next external interrupt or Hardware Reset.

"Power-down"-läget drar mycket mindre ström än "idle"-läge. Så var det med det. :)

Postat: 23 oktober 2004, 13:06:34
av Michel
MSP430 har ochså trevliga power-down lägen (5st).

Postat: 23 oktober 2004, 21:45:50
av chille
Men 2313 är stenålder :lol: Vet iofs inte om de nyare skulle vara bättre. Men det var någon µC, antingen var det en PIC eller så var det en AVR, som klarade det jag sa. Det är jag iofs ganska så säker på. Annars får man ju köra det där med kondensatorn :-D Var ju en väldigt smart ide

Postat: 23 oktober 2004, 23:27:06
av cykze
chille:

Att väcka AVR:en via en timer-interrupt som du beskriver fungerar i "idle mode", men inte i det ännu strömsnålare "power-down mode". Läs mitt citat en gång till så ser du.

Såg precis att Elfa har fått in ATtiny2313. Jippi, den har iaf jag väntat lite på. Trodde inte att den hade börjat säljas än. Den är som gamla AT90S2313, fast modernare, funktionsrikare och billigare!

4 PWM-kanaler, Brown Out Detection, högre hastighet (upp till 20 MIPS@20 MHz!), lågnivå-interrupt på alla pinnar, Reset- och Xtal-pinnarna kan användas som i/o-pinnar, inbyggd oscillator, "Boot loader"-möjlighet, billigare mm...

Hoppas jag fick med det mesta och att det mesta stämmer också... ;)

Postat: 24 oktober 2004, 12:23:39
av chille
Jaha oj, missade andra halvan av citatet :)

hur mycket ström drar den i idle då? Borde väl inte vara så mycket.

Postat: 24 oktober 2004, 12:55:37
av cykze
Två exempel från databladen till mega32 och 2313:

ATmega32L:
Power Consumption at 1 MHz, 3V, 25°C for ATmega32L
Active: 1.1 mA
Idle Mode: 0.35 mA
Power-down Mode: < 1 µA

AT90S2313:
Power Consumption at 4 MHz, 3V, 25°C
Active: 2.8 mA
Idle Mode: 0.8 mA
Power-down Mode: <1 µA

Postat: 24 oktober 2004, 13:36:40
av chille
Oj då, jo det var ju lite skillnad :lol:

Postat: 24 oktober 2004, 17:59:51
av Michel
cykze skrev: högre hastighet (upp till 20 MIPS@20 MHz!)
Det tar sig.
:D